PATH:
home
/
rwabteecom
/
project_11
/
app
/
Http
/
Controllers
/
Admin
/
Invoice
/
Editing: InvoiceController.php
<?php namespace App\Http\Controllers\Admin\Invoice; use App\Datatables\InvoicesDatatables; use App\Http\Controllers\Controller; use App\Http\Requests\Admin\Invoice\InvoiceRequest; use App\Models\Invoice; use App\Services\Invoice\InvoicesServices; use App\Services\Plan\PlanServices; use App\Services\User\UserServices; use Exception; use Illuminate\Http\Request; use Log; use function Symfony\Component\Translation\t; class InvoiceController extends Controller { public function __construct( private readonly InvoicesDatatables $invoicesDatatables, private readonly InvoicesServices $invoicesServices, private readonly UserServices $userServices, private readonly PlanServices $planServices ) { } public function index(Request $request) { if (request()->expectsJson()) { return $this->invoicesDatatables->datatables($request); } return view("admin.pages.invoices.index")->with([ "columns" => $this->invoicesDatatables::columns(), ]); } public function create() { return view("admin.pages.invoices.create")->with([ "plans" => $this->planServices->index(true), "users" => $this->userServices->index(true), ]); } public function show($id) { return view("admin.pages.invoices.show")->with([ "invoice" => $this->invoicesServices->findOrFail($id) ]); } public function store(InvoiceRequest $request) { try { $this->invoicesServices->store($request); } catch (Exception $exception) { Log::error($exception->getMessage()); return back()->withInput()->with('error', $exception->getMessage()); } return back()->with("success", __("Invoice added Successfully")); } public function markInvoiceAsPaid($id) { try { $this->invoicesServices->markInvoiceAsPaid($id); } catch (Exception $exception) { Log::error($exception->getMessage()); return back()->with("error", $exception->getMessage()); } return back()->with("success", __("Invoice Marked as paid successfully")); } }
SAVE
CANCEL