add more controllers and fix tests
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
namespace App\Services\PurchaseOrders;
|
||||
|
||||
use App\Models\PurchaseOrder;
|
||||
use RuntimeException;
|
||||
|
||||
class PurchaseOrderStatusService
|
||||
{
|
||||
public function cancel(int $poId): PurchaseOrder
|
||||
{
|
||||
$po = PurchaseOrder::query()->find($poId);
|
||||
if (!$po || $po->status === PurchaseOrder::STATUS_RECEIVED) {
|
||||
throw new RuntimeException('Cannot cancel this PO.');
|
||||
}
|
||||
|
||||
$po->status = PurchaseOrder::STATUS_CANCELED;
|
||||
$po->save();
|
||||
|
||||
return $po;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user