diff --git a/app/Classes/Modules/Transactions/ControllersLogic/CreatePurchaseOrderTransactionLogic.php b/app/Classes/Modules/Transactions/ControllersLogic/CreatePurchaseOrderTransactionLogic.php index 862945f0..59757fa1 100644 --- a/app/Classes/Modules/Transactions/ControllersLogic/CreatePurchaseOrderTransactionLogic.php +++ b/app/Classes/Modules/Transactions/ControllersLogic/CreatePurchaseOrderTransactionLogic.php @@ -21,12 +21,14 @@ use App\Classes\Modules\Rules\Services\RuleEvaluator; use App\Classes\Modules\Rules\Standards\Rules\CanPassEditingPORule; use App\Classes\ValueObjects\Constants\ApprovalStatus; use App\Classes\ValueObjects\Constants\PaymentMethodType; +use App\Classes\ValueObjects\Constants\RoleTypes; use App\Classes\ValueObjects\Constants\TransactionType; use App\Http\Resources\TransactionResource; use App\Models\Booking; use App\Models\Transaction; use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; +use Illuminate\Support\Facades\Auth; class CreatePurchaseOrderTransactionLogic extends AbstractControllerLogic { @@ -82,14 +84,15 @@ class CreatePurchaseOrderTransactionLogic extends AbstractControllerLogic */ public function logic(Request $request, $id = '') : JsonResponse { + if(!in_array(Auth::user()->type, RoleTypes::ADMIN_ROLES)){ + $dto = new CreatePurchaseOrderDTO($request->all()); + $result = $this->ruleEvaluator->evaluate([ + $this->canPassEditingPORule + ], $dto); - $dto = new CreatePurchaseOrderDTO($request->all()); - $result = $this->ruleEvaluator->evaluate([ - $this->canPassEditingPORule - ], $dto); - - if ($result->failed()) { - throw new CriteriaNotFulfilledException("- " . implode("
- ", $result->messages())); + if ($result->failed()) { + throw new CriteriaNotFulfilledException("- " . implode("
- ", $result->messages())); + } } /** @var Booking $booking */