![]() 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\Facades\Medad; use Corals\Modules\Medad\Models\Invoice; use Corals\Modules\Medad\Models\PurchaseOrder; use Illuminate\Foundation\Validation\ValidatesRequests; class InvoiceService extends BaseServiceClass { use ValidatesRequests, MediaControllerTrait; public function preStore($request, &$additionalData) { if (!$request->filled('code')) { $purchaseOrder = PurchaseOrder::find($request->get('purchase_order_id')); $poCode = $purchaseOrder->code; $invoiceSeq = Invoice::where('purchase_order_id', $purchaseOrder->id)->count(); $invoiceSeq += 1; $code = Medad::getCode(Invoice::class, $poCode, $invoiceSeq); $additionalData['code'] = $code; } $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) { $invoice = $this->model; $this->handleAttachments($request, $invoice); if (($invoice->wasChanged(['status']) || $invoice->wasRecentlyCreated) && $invoice->status == 'paid') { event('notifications.medad.invoice_paid', [ 'invoice' => $invoice, ]); } $openStatus = $request->get('status-with-submit'); if ($openStatus) { $additionalData['status'] = $openStatus; } } public function markAs($request, $invoice, $target) { $invoice->update(['status' => $target]); } }