diff --git a/app/Events/Document/DocumentCreated.php b/app/Events/Document/DocumentCreated.php index 0388b44ac..2f1385730 100644 --- a/app/Events/Document/DocumentCreated.php +++ b/app/Events/Document/DocumentCreated.php @@ -8,13 +8,17 @@ class DocumentCreated extends Event { public $document; + public $request; + /** * Create a new event instance. * * @param $document + * @param $request */ - public function __construct($document) + public function __construct($document, $request) { $this->document = $document; + $this->request = $request; } } diff --git a/app/Jobs/Document/CreateDocument.php b/app/Jobs/Document/CreateDocument.php index 4fe69a37b..9efa67ca1 100644 --- a/app/Jobs/Document/CreateDocument.php +++ b/app/Jobs/Document/CreateDocument.php @@ -55,7 +55,7 @@ class CreateDocument extends Job $this->document->createRecurring(); }); - event(new DocumentCreated($this->document)); + event(new DocumentCreated($this->document, $this->request)); return $this->document; } diff --git a/app/Listeners/Document/SettingFieldCreated.php b/app/Listeners/Document/SettingFieldCreated.php new file mode 100644 index 000000000..9f3bdf406 --- /dev/null +++ b/app/Listeners/Document/SettingFieldCreated.php @@ -0,0 +1,43 @@ +request; + + if ($request->has('setting')) { + return; + } + + $type = $request->get('type'); + + foreach ($request->get('setting') as $key => $value) { + if ($key == 'company_logo') { + setting()->set('company.logo', $value); + + continue; + } + + $real_key = $type . '.' . $key; + + setting()->set($real_key, $value); + } + + // Save all settings + setting()->save(); + } +} diff --git a/app/Listeners/Document/SettingFieldUpdated.php b/app/Listeners/Document/SettingFieldUpdated.php new file mode 100644 index 000000000..2baed11d1 --- /dev/null +++ b/app/Listeners/Document/SettingFieldUpdated.php @@ -0,0 +1,43 @@ +request; + + if ($request->has('setting')) { + return; + } + + $type = $request->get('type'); + + foreach ($request->get('setting') as $key => $value) { + if ($key == 'company_logo') { + setting()->set('company.logo', $value); + + continue; + } + + $real_key = $type . '.' . $key; + + setting()->set($real_key, $value); + } + + // Save all settings + setting()->save(); + } +} diff --git a/app/Providers/Event.php b/app/Providers/Event.php index 7981a1051..fea9f3e2c 100644 --- a/app/Providers/Event.php +++ b/app/Providers/Event.php @@ -39,6 +39,7 @@ class Event extends Provider 'App\Events\Document\DocumentCreated' => [ 'App\Listeners\Document\CreateDocumentCreatedHistory', 'App\Listeners\Document\IncreaseNextDocumentNumber', + 'App\Listeners\Document\SettingFieldCreated', ], 'App\Events\Document\DocumentReceived' => [ 'App\Listeners\Document\MarkDocumentReceived', @@ -59,6 +60,9 @@ class Event extends Provider 'App\Events\Document\DocumentSent' => [ 'App\Listeners\Document\MarkDocumentSent', ], + 'App\Events\Document\DocumentUpdated' => [ + 'App\Listeners\Document\SettingFieldUpdated', + ], 'App\Events\Document\DocumentViewed' => [ 'App\Listeners\Document\MarkDocumentViewed', ], diff --git a/resources/views/components/documents/form/company.blade.php b/resources/views/components/documents/form/company.blade.php index e6d4e7497..a2c03018b 100644 --- a/resources/views/components/documents/form/company.blade.php +++ b/resources/views/components/documents/form/company.blade.php @@ -9,17 +9,17 @@
@if (!$hideLogo) - {{ Form::fileGroup('company_logo', trans('settings.company.logo'), 'file-image-o', [], setting('company.logo')) }} + {{ Form::fileGroup('company_logo', trans('settings.company.logo'), 'file-image-o', ['data-field' => 'setting'], setting('company.logo')) }} @endif
@if (!$hideDocumentTitle) - {{ Form::textGroup($inputNameType . '_title', trans('settings.' . $type . '.title'), 'font', [], setting($type . '.title'), 'col-md-12') }} + {{ Form::textGroup('title', trans('settings.' . $type . '.title'), 'font', ['data-field' => 'setting'], setting($type . '.title'), 'col-md-12') }} @endif @if (!$hideDocumentSubheading) - {{ Form::textGroup($inputNameType . '_subheading', trans('settings.' . $type . '.subheading'), 'font', [], setting($type . '.subheading'), 'col-md-12') }} + {{ Form::textGroup('subheading', trans('settings.' . $type . '.subheading'), 'font', ['data-field' => 'setting'], setting($type . '.subheading'), 'col-md-12') }} @endif @if (!$hideCompanyEdit)