Merge pull request #2877 from novag/title-subheading
bind title and subheading to the respective document
This commit is contained in:
commit
af8ba9726f
@ -59,20 +59,8 @@ abstract class Form extends Component
|
|||||||
/** @var bool */
|
/** @var bool */
|
||||||
public $hideLogo;
|
public $hideLogo;
|
||||||
|
|
||||||
/** @var bool */
|
|
||||||
public $hideDocumentTitle;
|
|
||||||
|
|
||||||
/** @var bool */
|
|
||||||
public $hideDocumentSubheading;
|
|
||||||
|
|
||||||
/** @var bool */
|
/** @var bool */
|
||||||
public $hideCompanyEdit;
|
public $hideCompanyEdit;
|
||||||
|
|
||||||
/** @var string */
|
|
||||||
public $titleSetting;
|
|
||||||
|
|
||||||
/** @var string */
|
|
||||||
public $subheadingSetting;
|
|
||||||
/* -- Company End -- */
|
/* -- Company End -- */
|
||||||
|
|
||||||
/* -- Main Start -- */
|
/* -- Main Start -- */
|
||||||
@ -114,6 +102,18 @@ abstract class Form extends Component
|
|||||||
/** @var string */
|
/** @var string */
|
||||||
public $textChooseDifferentContact;
|
public $textChooseDifferentContact;
|
||||||
|
|
||||||
|
/** @var bool */
|
||||||
|
public $hideDocumentTitle;
|
||||||
|
|
||||||
|
/** @var bool */
|
||||||
|
public $hideDocumentSubheading;
|
||||||
|
|
||||||
|
/** @var string */
|
||||||
|
public $title;
|
||||||
|
|
||||||
|
/** @var string */
|
||||||
|
public $subheading;
|
||||||
|
|
||||||
/** @var bool */
|
/** @var bool */
|
||||||
public $hideIssuedAt;
|
public $hideIssuedAt;
|
||||||
|
|
||||||
@ -285,10 +285,11 @@ abstract class Form extends Component
|
|||||||
string $type, $model = false, $document = false, $currencies = false, $currency = false, $currency_code = false,
|
string $type, $model = false, $document = false, $currencies = false, $currency = false, $currency_code = false,
|
||||||
string $formId = 'document', $formRoute = '', $formMethod = '',
|
string $formId = 'document', $formRoute = '', $formMethod = '',
|
||||||
bool $hideCompany = false, string $textSectionCompaniesTitle = '', string $textSectionCompaniesDescription = '',
|
bool $hideCompany = false, string $textSectionCompaniesTitle = '', string $textSectionCompaniesDescription = '',
|
||||||
bool $hideLogo = false, bool $hideDocumentTitle = false, bool $hideDocumentSubheading = false, bool $hideCompanyEdit = false, string $titleSetting = '', $subheadingSetting = '',
|
bool $hideLogo = false, bool $hideCompanyEdit = false,
|
||||||
string $textSectionMainTitle = '', string $textSectionMainDescription = '',
|
string $textSectionMainTitle = '', string $textSectionMainDescription = '',
|
||||||
string $typeContact = '', string $textContact = '', $contacts = [], $contact = false, string $searchContactRoute = '', string $createContactRoute = '',
|
string $typeContact = '', string $textContact = '', $contacts = [], $contact = false, string $searchContactRoute = '', string $createContactRoute = '',
|
||||||
string $textAddContact = '', string $textCreateNewContact = '', string $textEditContact = '', string $textContactInfo = '', string $textChooseDifferentContact = '',
|
string $textAddContact = '', string $textCreateNewContact = '', string $textEditContact = '', string $textContactInfo = '', string $textChooseDifferentContact = '',
|
||||||
|
bool $hideDocumentTitle = false, bool $hideDocumentSubheading = false, string $title = '', string $subheading = '',
|
||||||
bool $hideIssuedAt = false, string $textIssuedAt = '', string $issuedAt = '', bool $hideDueAt = false, string $textDueAt = '', string $dueAt = '', $periodDueAt = '',
|
bool $hideIssuedAt = false, string $textIssuedAt = '', string $issuedAt = '', bool $hideDueAt = false, string $textDueAt = '', string $dueAt = '', $periodDueAt = '',
|
||||||
bool $hideDocumentNumber = false, string $textDocumentNumber = '', string $documentNumber = '', bool $hideOrderNumber = false, string $textOrderNumber = '', string $orderNumber = '',
|
bool $hideDocumentNumber = false, string $textDocumentNumber = '', string $documentNumber = '', bool $hideOrderNumber = false, string $textOrderNumber = '', string $orderNumber = '',
|
||||||
bool $hideEditItemColumns = false, bool $hideItems = false, bool $hideItemName = false, bool $hideSettingItemName = false, string $textItemName = '', bool $hideItemDescription = false, bool $hideSettingItemDescription = false, string $textItemDescription = '',
|
bool $hideEditItemColumns = false, bool $hideItems = false, bool $hideItemName = false, bool $hideSettingItemName = false, string $textItemName = '', bool $hideItemDescription = false, bool $hideSettingItemDescription = false, string $textItemDescription = '',
|
||||||
@ -324,11 +325,7 @@ abstract class Form extends Component
|
|||||||
$this->textSectionCompaniesTitle = $this->getTextSectionCompaniesTitle($type, $textSectionCompaniesTitle);
|
$this->textSectionCompaniesTitle = $this->getTextSectionCompaniesTitle($type, $textSectionCompaniesTitle);
|
||||||
$this->textSectionCompaniesDescription = $this->getTextSectionCompaniesDescription($type, $textSectionCompaniesDescription);
|
$this->textSectionCompaniesDescription = $this->getTextSectionCompaniesDescription($type, $textSectionCompaniesDescription);
|
||||||
$this->hideLogo = $hideLogo;
|
$this->hideLogo = $hideLogo;
|
||||||
$this->hideDocumentTitle = $hideDocumentTitle;
|
|
||||||
$this->hideDocumentSubheading = $hideDocumentSubheading;
|
|
||||||
$this->hideCompanyEdit = $hideCompanyEdit;
|
$this->hideCompanyEdit = $hideCompanyEdit;
|
||||||
$this->titleSetting = $this->getTitleSettingValue($type, $titleSetting);
|
|
||||||
$this->subheadingSetting = $this->getSubheadingSettingValue($type, $subheadingSetting);
|
|
||||||
/** Company End */
|
/** Company End */
|
||||||
|
|
||||||
/* -- Main Start -- */
|
/* -- Main Start -- */
|
||||||
@ -350,6 +347,11 @@ abstract class Form extends Component
|
|||||||
$this->textContactInfo = $this->getTextContactInfo($type, $textContactInfo);
|
$this->textContactInfo = $this->getTextContactInfo($type, $textContactInfo);
|
||||||
$this->textChooseDifferentContact = $this->getTextChooseDifferentContact($type, $textChooseDifferentContact);
|
$this->textChooseDifferentContact = $this->getTextChooseDifferentContact($type, $textChooseDifferentContact);
|
||||||
|
|
||||||
|
$this->hideDocumentTitle = $hideDocumentTitle;
|
||||||
|
$this->hideDocumentSubheading = $hideDocumentSubheading;
|
||||||
|
$this->title = $this->getTitleValue($type, $title);
|
||||||
|
$this->subheading = $this->getSubheadingValue($type, $subheading);
|
||||||
|
|
||||||
$this->hideIssuedAt = $hideIssuedAt;
|
$this->hideIssuedAt = $hideIssuedAt;
|
||||||
$this->textIssuedAt = $this->getTextIssuedAt($type, $textIssuedAt);
|
$this->textIssuedAt = $this->getTextIssuedAt($type, $textIssuedAt);
|
||||||
$this->issuedAt = $this->getIssuedAt($type, $document, $issuedAt);
|
$this->issuedAt = $this->getIssuedAt($type, $document, $issuedAt);
|
||||||
@ -1238,19 +1240,27 @@ abstract class Form extends Component
|
|||||||
return $this->getTextSectionDescription($type, 'advanced', 'documents.form_description.advanced');
|
return $this->getTextSectionDescription($type, 'advanced', 'documents.form_description.advanced');
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function getTitleSettingValue($type, $titleSetting)
|
protected function getTitleValue($type, $title)
|
||||||
{
|
{
|
||||||
if (! empty($titleSetting)) {
|
if (! empty($title)) {
|
||||||
return $titleSetting;
|
return $title;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (! empty($this->document) && $this->document->title !== '') {
|
||||||
|
return $this->document->title;
|
||||||
}
|
}
|
||||||
|
|
||||||
return setting($this->getDocumentSettingKey($type, 'title'));
|
return setting($this->getDocumentSettingKey($type, 'title'));
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function getSubheadingSettingValue($type, $subheadingSetting)
|
protected function getSubheadingValue($type, $subheading)
|
||||||
{
|
{
|
||||||
if (! empty($subheadingSetting)) {
|
if (! empty($subheading)) {
|
||||||
return $subheadingSetting;
|
return $subheading;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (! empty($this->document) && $this->document->title !== '') {
|
||||||
|
return $this->document->subheading;
|
||||||
}
|
}
|
||||||
|
|
||||||
return setting($this->getDocumentSettingKey($type, 'subheading'));
|
return setting($this->getDocumentSettingKey($type, 'subheading'));
|
||||||
|
@ -481,7 +481,7 @@ abstract class Show extends Component
|
|||||||
$this->hideDueAt = $hideDueAt;
|
$this->hideDueAt = $hideDueAt;
|
||||||
|
|
||||||
$this->textDocumentTitle = $this->getTextDocumentTitle($type, $textDocumentTitle);
|
$this->textDocumentTitle = $this->getTextDocumentTitle($type, $textDocumentTitle);
|
||||||
$this->textDocumentSubheading = $this->gettextDocumentSubheading($type, $textDocumentSubheading);
|
$this->textDocumentSubheading = $this->getTextDocumentSubheading($type, $textDocumentSubheading);
|
||||||
$this->textContactInfo = $this->getTextContactInfo($type, $textContactInfo);
|
$this->textContactInfo = $this->getTextContactInfo($type, $textContactInfo);
|
||||||
$this->textIssuedAt = $this->getTextIssuedAt($type, $textIssuedAt);
|
$this->textIssuedAt = $this->getTextIssuedAt($type, $textIssuedAt);
|
||||||
$this->textDocumentNumber = $this->getTextDocumentNumber($type, $textDocumentNumber);
|
$this->textDocumentNumber = $this->getTextDocumentNumber($type, $textDocumentNumber);
|
||||||
@ -993,11 +993,15 @@ abstract class Show extends Component
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected function getTextDocumentTitle($type, $textDocumentTitle)
|
protected function getTextDocumentTitle($type, $textDocumentTitle)
|
||||||
{
|
{
|
||||||
if (! empty($textDocumentTitle)) {
|
if (! empty($textDocumentTitle)) {
|
||||||
return $textDocumentTitle;
|
return $textDocumentTitle;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (! empty($this->document) && $this->document->title !== '') {
|
||||||
|
return $this->document->title;
|
||||||
|
}
|
||||||
|
|
||||||
$key = $this->getDocumentSettingKey($type, 'title');
|
$key = $this->getDocumentSettingKey($type, 'title');
|
||||||
|
|
||||||
if (! empty(setting($key))) {
|
if (! empty(setting($key))) {
|
||||||
@ -1019,6 +1023,10 @@ abstract class Show extends Component
|
|||||||
return $textDocumentSubheading;
|
return $textDocumentSubheading;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (! empty($this->document) && $this->document->subheading !== '') {
|
||||||
|
return $this->document->subheading;
|
||||||
|
}
|
||||||
|
|
||||||
$key = $this->getDocumentSettingKey($type, 'subheading');
|
$key = $this->getDocumentSettingKey($type, 'subheading');
|
||||||
|
|
||||||
if (!empty(setting($key))) {
|
if (!empty(setting($key))) {
|
||||||
|
@ -171,7 +171,7 @@ abstract class Template extends Component
|
|||||||
$this->hideDueAt = $hideDueAt;
|
$this->hideDueAt = $hideDueAt;
|
||||||
|
|
||||||
$this->textDocumentTitle = $this->getTextDocumentTitle($type, $textDocumentTitle);
|
$this->textDocumentTitle = $this->getTextDocumentTitle($type, $textDocumentTitle);
|
||||||
$this->textDocumentSubheading = $this->gettextDocumentSubheading($type, $textDocumentSubheading);
|
$this->textDocumentSubheading = $this->getTextDocumentSubheading($type, $textDocumentSubheading);
|
||||||
$this->textContactInfo = $this->getTextContactInfo($type, $textContactInfo);
|
$this->textContactInfo = $this->getTextContactInfo($type, $textContactInfo);
|
||||||
$this->showContactRoute = $this->getShowContactRoute($type, $showContactRoute);
|
$this->showContactRoute = $this->getShowContactRoute($type, $showContactRoute);
|
||||||
$this->textIssuedAt = $this->getTextIssuedAt($type, $textIssuedAt);
|
$this->textIssuedAt = $this->getTextIssuedAt($type, $textIssuedAt);
|
||||||
@ -300,6 +300,10 @@ abstract class Template extends Component
|
|||||||
return $textDocumentTitle;
|
return $textDocumentTitle;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (! empty($this->document) && $this->document->title !== '') {
|
||||||
|
return $this->document->title;
|
||||||
|
}
|
||||||
|
|
||||||
$key = $this->getDocumentSettingKey($type, 'title');
|
$key = $this->getDocumentSettingKey($type, 'title');
|
||||||
|
|
||||||
if (! empty(setting($key))) {
|
if (! empty(setting($key))) {
|
||||||
@ -321,6 +325,10 @@ abstract class Template extends Component
|
|||||||
return $textDocumentSubheading;
|
return $textDocumentSubheading;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (! empty($this->document) && $this->document->subheading !== '') {
|
||||||
|
return $this->document->subheading;
|
||||||
|
}
|
||||||
|
|
||||||
$key = $this->getDocumentSettingKey($type, 'subheading');
|
$key = $this->getDocumentSettingKey($type, 'subheading');
|
||||||
|
|
||||||
if (! empty(setting($key))) {
|
if (! empty(setting($key))) {
|
||||||
|
@ -55,6 +55,8 @@ class Document extends Model
|
|||||||
'contact_city',
|
'contact_city',
|
||||||
'notes',
|
'notes',
|
||||||
'footer',
|
'footer',
|
||||||
|
'title',
|
||||||
|
'subheading',
|
||||||
'parent_id',
|
'parent_id',
|
||||||
'created_from',
|
'created_from',
|
||||||
'created_by',
|
'created_by',
|
||||||
|
@ -0,0 +1,34 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
|
return new class extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function up()
|
||||||
|
{
|
||||||
|
Schema::table('documents', function (Blueprint $table) {
|
||||||
|
$table->string('title')->nullable()->default('');
|
||||||
|
$table->string('subheading')->nullable()->default('');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function down()
|
||||||
|
{
|
||||||
|
Schema::table('documents', function (Blueprint $table) {
|
||||||
|
$table->dropColumn('title');
|
||||||
|
$table->dropColumn('subheading');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
@ -8,25 +8,10 @@
|
|||||||
|
|
||||||
<x-slot name="body">
|
<x-slot name="body">
|
||||||
<div class="sm:col-span-2">
|
<div class="sm:col-span-2">
|
||||||
<div class="relative sm:col-span-6 grid gap-x-8 gap-y-6">
|
@if (! $hideLogo)
|
||||||
@if (! $hideDocumentTitle)
|
<x-form.input.hidden name="company_logo" data-field="setting" />
|
||||||
<x-form.group.text name="title" label="{{ trans('settings.invoice.title') }}" value="{{ $titleSetting }}" not-required data-field="setting" form-group-class="sm:col-span-6" />
|
<x-form.group.file name="company_logo" label="{{ trans('settings.company.logo') }}" :value="setting('company.logo')" not-required data-field="setting" />
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
@if (! $hideDocumentSubheading)
|
|
||||||
<x-form.group.text name="subheading" label="{{ trans('settings.invoice.subheading') }}" value="{{ $subheadingSetting }}" not-required data-field="setting" form-group-class="sm:col-span-6" />
|
|
||||||
@endif
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="sm:col-span-1"></div>
|
|
||||||
|
|
||||||
<div class="sm:col-span-2">
|
|
||||||
<div class="relative sm:col-span-6 grid gap-x-8 gap-y-6">
|
|
||||||
@if (! $hideLogo)
|
|
||||||
<x-form.group.file name="company_logo" label="{{ trans('settings.company.logo') }}" :value="setting('company.logo')" not-required data-field="setting" form-group-class="sm:col-span-6" />
|
|
||||||
@endif
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="sm:col-span-2 relative">
|
<div class="sm:col-span-2 relative">
|
||||||
|
@ -22,6 +22,28 @@
|
|||||||
<div class="sm:col-span-1"></div>
|
<div class="sm:col-span-1"></div>
|
||||||
|
|
||||||
<div class="sm:col-span-4 grid sm:grid-cols-4 gap-x-8 gap-y-6">
|
<div class="sm:col-span-4 grid sm:grid-cols-4 gap-x-8 gap-y-6">
|
||||||
|
@stack('title_start')
|
||||||
|
|
||||||
|
@if (! $hideDocumentTitle)
|
||||||
|
<x-form.group.text
|
||||||
|
name="title"
|
||||||
|
label="{{ trans('settings.invoice.title') }}"
|
||||||
|
value="{{ $title }}"
|
||||||
|
not-required
|
||||||
|
form-group-class="sm:col-span-2" />
|
||||||
|
@endif
|
||||||
|
|
||||||
|
@stack('subheading_start')
|
||||||
|
|
||||||
|
@if (! $hideDocumentSubheading)
|
||||||
|
<x-form.group.text
|
||||||
|
name="subheading"
|
||||||
|
label="{{ trans('settings.invoice.subheading') }}"
|
||||||
|
value="{{ $subheading }}"
|
||||||
|
not-required
|
||||||
|
form-group-class="sm:col-span-2" />
|
||||||
|
@endif
|
||||||
|
|
||||||
@stack('issue_start')
|
@stack('issue_start')
|
||||||
|
|
||||||
@if (! $hideIssuedAt)
|
@if (! $hideIssuedAt)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user