diff --git a/app/Abstracts/View/Components/Documents/Form.php b/app/Abstracts/View/Components/Documents/Form.php index d41d524ec..0f10138c8 100644 --- a/app/Abstracts/View/Components/Documents/Form.php +++ b/app/Abstracts/View/Components/Documents/Form.php @@ -59,20 +59,8 @@ abstract class Form extends Component /** @var bool */ public $hideLogo; - /** @var bool */ - public $hideDocumentTitle; - - /** @var bool */ - public $hideDocumentSubheading; - /** @var bool */ public $hideCompanyEdit; - - /** @var string */ - public $titleSetting; - - /** @var string */ - public $subheadingSetting; /* -- Company End -- */ /* -- Main Start -- */ @@ -114,6 +102,18 @@ abstract class Form extends Component /** @var string */ public $textChooseDifferentContact; + /** @var bool */ + public $hideDocumentTitle; + + /** @var bool */ + public $hideDocumentSubheading; + + /** @var string */ + public $title; + + /** @var string */ + public $subheading; + /** @var bool */ 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 $formId = 'document', $formRoute = '', $formMethod = '', 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 $typeContact = '', string $textContact = '', $contacts = [], $contact = false, string $searchContactRoute = '', string $createContactRoute = '', 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 $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 = '', @@ -324,11 +325,7 @@ abstract class Form extends Component $this->textSectionCompaniesTitle = $this->getTextSectionCompaniesTitle($type, $textSectionCompaniesTitle); $this->textSectionCompaniesDescription = $this->getTextSectionCompaniesDescription($type, $textSectionCompaniesDescription); $this->hideLogo = $hideLogo; - $this->hideDocumentTitle = $hideDocumentTitle; - $this->hideDocumentSubheading = $hideDocumentSubheading; $this->hideCompanyEdit = $hideCompanyEdit; - $this->titleSetting = $this->getTitleSettingValue($type, $titleSetting); - $this->subheadingSetting = $this->getSubheadingSettingValue($type, $subheadingSetting); /** Company End */ /* -- Main Start -- */ @@ -350,6 +347,11 @@ abstract class Form extends Component $this->textContactInfo = $this->getTextContactInfo($type, $textContactInfo); $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->textIssuedAt = $this->getTextIssuedAt($type, $textIssuedAt); $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'); } - protected function getTitleSettingValue($type, $titleSetting) + protected function getTitleValue($type, $title) { - if (! empty($titleSetting)) { - return $titleSetting; + if (! empty($title)) { + return $title; + } + + if (! empty($this->document) && $this->document->title !== '') { + return $this->document->title; } return setting($this->getDocumentSettingKey($type, 'title')); } - protected function getSubheadingSettingValue($type, $subheadingSetting) + protected function getSubheadingValue($type, $subheading) { - if (! empty($subheadingSetting)) { - return $subheadingSetting; + if (! empty($subheading)) { + return $subheading; + } + + if (! empty($this->document) && $this->document->title !== '') { + return $this->document->subheading; } return setting($this->getDocumentSettingKey($type, 'subheading')); diff --git a/app/Abstracts/View/Components/Documents/Show.php b/app/Abstracts/View/Components/Documents/Show.php index b746a5a45..ed53e61a7 100644 --- a/app/Abstracts/View/Components/Documents/Show.php +++ b/app/Abstracts/View/Components/Documents/Show.php @@ -481,7 +481,7 @@ abstract class Show extends Component $this->hideDueAt = $hideDueAt; $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->textIssuedAt = $this->getTextIssuedAt($type, $textIssuedAt); $this->textDocumentNumber = $this->getTextDocumentNumber($type, $textDocumentNumber); @@ -993,11 +993,15 @@ abstract class Show extends Component } protected function getTextDocumentTitle($type, $textDocumentTitle) - { + { if (! empty($textDocumentTitle)) { return $textDocumentTitle; } + if (! empty($this->document) && $this->document->title !== '') { + return $this->document->title; + } + $key = $this->getDocumentSettingKey($type, 'title'); if (! empty(setting($key))) { @@ -1019,6 +1023,10 @@ abstract class Show extends Component return $textDocumentSubheading; } + if (! empty($this->document) && $this->document->subheading !== '') { + return $this->document->subheading; + } + $key = $this->getDocumentSettingKey($type, 'subheading'); if (!empty(setting($key))) { diff --git a/app/Abstracts/View/Components/Documents/Template.php b/app/Abstracts/View/Components/Documents/Template.php index 629abbdfb..58cb3a200 100644 --- a/app/Abstracts/View/Components/Documents/Template.php +++ b/app/Abstracts/View/Components/Documents/Template.php @@ -171,7 +171,7 @@ abstract class Template extends Component $this->hideDueAt = $hideDueAt; $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->showContactRoute = $this->getShowContactRoute($type, $showContactRoute); $this->textIssuedAt = $this->getTextIssuedAt($type, $textIssuedAt); @@ -300,6 +300,10 @@ abstract class Template extends Component return $textDocumentTitle; } + if (! empty($this->document) && $this->document->title !== '') { + return $this->document->title; + } + $key = $this->getDocumentSettingKey($type, 'title'); if (! empty(setting($key))) { @@ -321,6 +325,10 @@ abstract class Template extends Component return $textDocumentSubheading; } + if (! empty($this->document) && $this->document->subheading !== '') { + return $this->document->subheading; + } + $key = $this->getDocumentSettingKey($type, 'subheading'); if (! empty(setting($key))) { diff --git a/app/Models/Document/Document.php b/app/Models/Document/Document.php index 8de073dac..b6d699f73 100644 --- a/app/Models/Document/Document.php +++ b/app/Models/Document/Document.php @@ -55,6 +55,8 @@ class Document extends Model 'contact_city', 'notes', 'footer', + 'title', + 'subheading', 'parent_id', 'created_from', 'created_by', diff --git a/database/migrations/2023_01_19_153034_add_title_subheading_to_documents.php b/database/migrations/2023_01_19_153034_add_title_subheading_to_documents.php new file mode 100644 index 000000000..f12930a64 --- /dev/null +++ b/database/migrations/2023_01_19_153034_add_title_subheading_to_documents.php @@ -0,0 +1,34 @@ +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'); + }); + } +}; diff --git a/resources/views/components/documents/form/company.blade.php b/resources/views/components/documents/form/company.blade.php index bead40b36..2aa16faa2 100644 --- a/resources/views/components/documents/form/company.blade.php +++ b/resources/views/components/documents/form/company.blade.php @@ -8,25 +8,10 @@
-
- @if (! $hideDocumentTitle) - - @endif - - @if (! $hideDocumentSubheading) - - @endif -
-
- -
- -
-
- @if (! $hideLogo) - - @endif -
+ @if (! $hideLogo) + + + @endif
diff --git a/resources/views/components/documents/form/metadata.blade.php b/resources/views/components/documents/form/metadata.blade.php index b91833d5f..028fde815 100644 --- a/resources/views/components/documents/form/metadata.blade.php +++ b/resources/views/components/documents/form/metadata.blade.php @@ -22,6 +22,28 @@
+ @stack('title_start') + + @if (! $hideDocumentTitle) + + @endif + + @stack('subheading_start') + + @if (! $hideDocumentSubheading) + + @endif + @stack('issue_start') @if (! $hideIssuedAt)