![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/medad.corals.io/Corals/modules/Medad/Services/ |
<?php namespace Corals\Modules\Medad\Services; use Corals\Foundation\Services\BaseServiceClass; use Corals\Media\Traits\MediaControllerTrait; use Corals\Modules\Medad\Constants\ModelHasUserRoles; use Corals\Modules\Medad\Facades\Medad; use Corals\Modules\Medad\Models\PurchaseOrder; use Illuminate\Foundation\Validation\ValidatesRequests; class PurchaseOrderService extends BaseServiceClass { use ValidatesRequests, MediaControllerTrait; public function preStore($request, &$additionalData) { $additionalData['code'] = $request->filled('code')? $request->get('code'): PurchaseOrder::getSeqCode(); $company = Medad::getUserCompany(); $additionalData['owner_company_id'] = $company->id; } public function preStoreUpdate($request, &$additionalData) { $openStatus = $request->get('status-with-submit'); if ($openStatus) { $additionalData['status'] = $openStatus; } elseif (!$request->has('status')) { $additionalData['status'] = 'draft'; } } public function postStoreUpdate($request, &$additionalData) { $purchaseOrder = $this->model; $this->handleAttachments($request, $purchaseOrder); $recipients = $request->get('receivers', []); $purchaseOrder->users()->sync(array_combine($recipients, array_map(function ($adminId) { return ['role' => ModelHasUserRoles::RECEIVER]; }, $recipients))); if (($purchaseOrder->wasChanged(['status']) || $purchaseOrder->wasRecentlyCreated) && $purchaseOrder->status == 'submitted') { event('notifications.medad.purchase_order_submitted', [ 'purchaseOrder' => $purchaseOrder, ]); } $openStatus = $request->get('status-with-submit'); if ($openStatus) { $additionalData['status'] = $openStatus; } } public function markAs($request, $purchaseOrder, $status) { $purchaseOrder->update(['status' => $status]); } }