Files
crater/app/Http/Controllers/V1/Admin/Invoice/ChangeInvoiceStatusController.php
Mohit Panjwani 082d5cacf2 v5.0.0 update
2021-11-30 18:58:19 +05:30

37 lines
1008 B
PHP

<?php
namespace Crater\Http\Controllers\V1\Admin\Invoice;
use Crater\Http\Controllers\Controller;
use Crater\Models\Invoice;
use Illuminate\Http\Request;
class ChangeInvoiceStatusController extends Controller
{
/**
* Handle the incoming request.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\JsonResponse
*/
public function __invoke(Request $request, Invoice $invoice)
{
$this->authorize('send invoice', $invoice);
if ($request->status == Invoice::STATUS_SENT) {
$invoice->status = Invoice::STATUS_SENT;
$invoice->sent = true;
$invoice->save();
} elseif ($request->status == Invoice::STATUS_COMPLETED) {
$invoice->status = Invoice::STATUS_COMPLETED;
$invoice->paid_status = Invoice::STATUS_PAID;
$invoice->due_amount = 0;
$invoice->save();
}
return response()->json([
'success' => true,
]);
}
}