diff --git a/app/Classes/Modules/Companies/ControllersLogic/UpdateCompanyCreditTermStatusLogic.php b/app/Classes/Modules/Companies/ControllersLogic/UpdateCompanyCreditTermStatusLogic.php index a37d66ce..9d0689a4 100644 --- a/app/Classes/Modules/Companies/ControllersLogic/UpdateCompanyCreditTermStatusLogic.php +++ b/app/Classes/Modules/Companies/ControllersLogic/UpdateCompanyCreditTermStatusLogic.php @@ -6,6 +6,7 @@ namespace App\Classes\Modules\Companies\ControllersLogic; use App\Classes\General\Abstracts\AbstractControllerLogic; use App\Classes\Modules\Companies\Services\FetchesCompany; use App\Classes\Modules\Companies\Services\UpdatesCompanyModuleIsCreditTerm; +use App\Classes\Modules\Companies\Standards\Rules\CanUpdateCompanyModule; use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; @@ -30,16 +31,20 @@ class UpdateCompanyCreditTermStatusLogic extends AbstractControllerLogic /** @var UpdatesCompanyModuleIsCreditTerm */ private $updatesCompanyModuleIsCreditTerm; + /** @var CanUpdateCompanyModule */ + private $canUpdateCompanyModule; /** * UpdateCompanyCreditTermStatusLogic constructor. * @param FetchesCompany $fetchesCompany * @param UpdatesCompanyModuleIsCreditTerm $updatesCompanyModuleIsCreditTerm + * @param CanUpdateCompanyModule $canUpdateCompanyModule */ - public function __construct(FetchesCompany $fetchesCompany, UpdatesCompanyModuleIsCreditTerm $updatesCompanyModuleIsCreditTerm) + public function __construct(FetchesCompany $fetchesCompany, UpdatesCompanyModuleIsCreditTerm $updatesCompanyModuleIsCreditTerm, CanUpdateCompanyModule $canUpdateCompanyModule) { $this->fetchesCompany = $fetchesCompany; $this->updatesCompanyModuleIsCreditTerm = $updatesCompanyModuleIsCreditTerm; + $this->canUpdateCompanyModule = $canUpdateCompanyModule; } /** @@ -51,9 +56,9 @@ class UpdateCompanyCreditTermStatusLogic extends AbstractControllerLogic */ public function logic(Request $request) : JsonResponse { + $this->canUpdateCompanyModule->passes(); $company = $this->fetchesCompany->execute(['id' => $request->route('id')]); - $isCreditTerm = $company->companyModules()->first()->connections()->first()->is_credit_term; if ($isCreditTerm == 1) { diff --git a/app/Classes/Modules/Companies/Standards/Rules/CanUpdateCompanyModule.php b/app/Classes/Modules/Companies/Standards/Rules/CanUpdateCompanyModule.php new file mode 100644 index 00000000..64f827fa --- /dev/null +++ b/app/Classes/Modules/Companies/Standards/Rules/CanUpdateCompanyModule.php @@ -0,0 +1,53 @@ +user(); + if($user){ + $roleToCheck = Auth()->user()->type; + if (in_array($roleToCheck, RoleTypes::ADMIN_ROLES)) { + return true; + } + } + + return false; + } + + /** + * @param $object + * @return bool + * @throws \App\Classes\Exceptions\RequestValidationException + */ + protected function validators($object): bool + { + return true; + } + + /** + * @param CompanyObject $object + * @return bool + */ + protected function criteria($object): bool + { + return true; + } +} diff --git a/app/Classes/Modules/Transactions/ControllersLogic/ListTransactionsLogic.php b/app/Classes/Modules/Transactions/ControllersLogic/ListTransactionsLogic.php index ae638bae..2d5c40dd 100644 --- a/app/Classes/Modules/Transactions/ControllersLogic/ListTransactionsLogic.php +++ b/app/Classes/Modules/Transactions/ControllersLogic/ListTransactionsLogic.php @@ -43,17 +43,18 @@ class ListTransactionsLogic extends AbstractControllerLogic $query = $this->listsTransactions->execute($this->listsTransactions->deserializeFilters($request->input('filters'))); if($request->input('storages')){ - foreach ($query->items() as &$item) { + foreach ($query->items() as $item) { $transactionId = $item['id']; $filteredStorages = array_filter($request->input('storages'), function ($storage) use ($transactionId) { return isset($storage['parentInvoiceId']) && $storage['parentInvoiceId'] == $transactionId; }); $item['storages'] = $filteredStorages; } - return $this->collectionResponse(TransactionWithStorageResource::collection($query)); - } - else{ - return $this->collectionResponse(TransactionResource::collection($query)); + //return $this->collectionResponse(TransactionWithStorageResource::collection($query)); } + // else{ + // return $this->collectionResponse(TransactionResource::collection($query)); + // + return $this->collectionResponse(TransactionWithStorageResource::collection($query)); } }