diff --git a/app/Classes/Modules/Companies/ControllersLogic/UpdateCompanyLogic.php b/app/Classes/Modules/Companies/ControllersLogic/UpdateCompanyLogic.php index c435dab4..45732c82 100644 --- a/app/Classes/Modules/Companies/ControllersLogic/UpdateCompanyLogic.php +++ b/app/Classes/Modules/Companies/ControllersLogic/UpdateCompanyLogic.php @@ -5,6 +5,7 @@ namespace App\Classes\Modules\Companies\ControllersLogic; use App\Classes\General\Abstracts\AbstractControllerLogic; use App\Classes\Modules\Companies\Services\UpdatesCompany; +use App\Classes\Modules\Companies\Services\UpdatesCompanyModuleName; use App\Classes\Modules\Companies\Services\FetchesCompany; use App\Classes\Modules\Companies\Standards\Rules\CanUpdateCompany; use App\Classes\Modules\Companies\DataTransferObjects\CompanyObject; @@ -35,17 +36,22 @@ class UpdateCompanyLogic extends AbstractControllerLogic /** @var FetchesCompany */ private $fetchesCompany; + /** @var UpdatesCompanyModuleName */ + private $updatesCompanyModuleName; + /** * UpdateCompanyControllersLogic constructor. * @param CanUpdateCompany $canUpdateCompany * @param UpdatesCompany $updatesCompany * @param FetchesCompany $fetchesCompany + * @param UpdatesCompanyModuleName $updatesCompanyModuleName */ - public function __construct(CanUpdateCompany $canUpdateCompany, UpdatesCompany $updatesCompany, FetchesCompany $fetchesCompany) + public function __construct(CanUpdateCompany $canUpdateCompany, UpdatesCompany $updatesCompany, FetchesCompany $fetchesCompany, UpdatesCompanyModuleName $updatesCompanyModuleName) { $this->canUpdateCompany = $canUpdateCompany; $this->updatesCompany = $updatesCompany; $this->fetchesCompany = $fetchesCompany; + $this->updatesCompanyModuleName = $updatesCompanyModuleName; } @@ -56,23 +62,17 @@ class UpdateCompanyLogic extends AbstractControllerLogic */ public function logic(Request $request) : JsonResponse { - try { + $object = new CompanyObject($request->input('name'), $request->input('reference'), $request->input('type')); - $object = new CompanyObject($request->input('reference_no'), $request->input('name'), $request->input('type')); + $this->canUpdateCompany->passes($object); - $this->canUpdateCompany->passes($object); + $query = $this->fetchesCompany->execute(['id' => $request->route('id')]); - $query = $this->fetchesCompany->execute(['id' => $request->route('id')]); + $query = $this->updatesCompany->execute($query, $object); - $query = $this->updatesCompany->execute($query, $object); - - return $this->resourceResponse(new CompanyResource($query)); - - - } catch (\Exception $exception){ - throw new ErrorException($exception->getMessage(), $exception->getCode()); - } + $this->updatesCompanyModuleName->execute($query->companyModules()->first(), $object->getName()); + return $this->resourceResponse(new CompanyResource($query)); } } \ No newline at end of file diff --git a/app/Classes/Modules/Companies/Services/UpdatesCompanyModuleName.php b/app/Classes/Modules/Companies/Services/UpdatesCompanyModuleName.php new file mode 100644 index 00000000..8dba5196 --- /dev/null +++ b/app/Classes/Modules/Companies/Services/UpdatesCompanyModuleName.php @@ -0,0 +1,24 @@ +name = $name; + + return $this->handler($model); + } +} \ No newline at end of file diff --git a/app/Classes/Modules/Companies/Standards/Validators/CompanyValidation.php b/app/Classes/Modules/Companies/Standards/Validators/CompanyValidation.php index e9809fff..4a69768a 100644 --- a/app/Classes/Modules/Companies/Standards/Validators/CompanyValidation.php +++ b/app/Classes/Modules/Companies/Standards/Validators/CompanyValidation.php @@ -15,7 +15,8 @@ class CompanyValidation extends AbstractValidation { return [ 'company_name' => $object->getName(), - 'company_reference' => $object->getReference() + 'company_reference' => $object->getReference(), + 'type' => $object->getType() ]; } diff --git a/resources/assets/vue/components/companies/forms/UpdateCompanyNameFormComponent.vue b/resources/assets/vue/components/companies/forms/UpdateCompanyNameFormComponent.vue index 0cafa5db..fb79da89 100644 --- a/resources/assets/vue/components/companies/forms/UpdateCompanyNameFormComponent.vue +++ b/resources/assets/vue/components/companies/forms/UpdateCompanyNameFormComponent.vue @@ -17,7 +17,11 @@ export default { data() { return { - name: this.data.name, + parameters: { + name: this.data.name, + reference: this.data.reference, + type: this.data.type, + }, }; }, validations: { @@ -25,10 +29,8 @@ name: { required }, } }, - methods: { submitForm() { - this.parameters.name = this.data.name; this.submit(this.route('api.company.update', this.data.id), 'put', '', false, false); this.$emit('submit'); }