File: /home/posscale/public_html/printmanager/app/Http/Controllers/Tenant/Vendors.php
<?php
namespace App\Http\Controllers\Tenant;
use App\Http\Controllers\Controller;
use App\Models\PrinterType as ModelsPrinterType;
use Illuminate\Http\Request;
use App\Http\Requests\TenantRequest;
use Illuminate\Support\Facades\Redirect;
use Illuminate\Pagination\LengthAwarePaginator;
use Illuminate\Pagination\Paginator;
use App\Models\Vendors as ModelsVendors;
class Vendors extends Controller
{
/**
* Display a listing of the resource.
*/
public function index(Request $request)
{
abort_unless(auth()->user()?->can('manage_printers'), 403);
$search = $request->input('search');
$tenant = tenancy()->tenant;
$vendors = ModelsVendors::whereAny([
'vendor_name',
'contact_email',
'phone_number',
'comapny_name',
], 'LIKE', '%' . $search . '%')->where('tenant_id',$tenant->id)->paginate(15);
return view('tenant.vendors.list', ['vendors' => $vendors, 'search' => $search]);
}
/**
* Show the form for creating a new resource.
*/
public function create()
{
abort_unless(auth()->user()?->can('manage_printers'), 403);
return view('tenant.vendors.form', ['vendors' => [], 'action' => 'Add new vendors']);
}
public function store(Request $request)
{
abort_unless(auth()->user()?->can('manage_printers'), 403);
$tenant = tenancy()->tenant;
$vendors = new ModelsVendors([
'vendor_name' => $request->vendor_name,
'contact_email' => $request->contact_email,
'phone_number' => $request->phone_number,
'comapny_name' => $request->comapny_name,
'tenant_id' => $tenant->id
]);
$vendors->save();
return Redirect::route('vendors.index')->with('message', 'Vendor created successfully.');
}
/**
* Display the specified resource.
*/
public function show($id)
{
return view('tenant.vendors.show', [
'vendors' => ModelsVendors::findOrFail($id)
]);
}
/**
* Show the form for editing the specified resource.
*/
public function edit($id)
{
abort_unless(auth()->user()?->can('manage_printers'), 403);
$vendors = ModelsVendors::findOrFail($id);
return view('tenant.vendors.form', ['vendors' => $vendors, 'action' => 'Edit Vendor Type']);
}
/**
* Update the specified resource in storage.
public function update(Request $request, $id)
{
abort_unless(auth()->user()?->can('manage_printers'), 403);
$vendor = ModelsVendors::findOrFail($id);
$vendor->vendor_name = $request->vendor_name;
$vendor->contact_email = $request->contact_email;
$vendor->phone_number = $request->phone_number;
$vendor->comapny_name = $request->comapny_name;
$vendor->save();
return Redirect::route('vendors.index')->with('message', 'Vendors updated successfully.');
}
/**
* Remove the specified resource from storage.
*/
public function destroy(ModelsVendors $vendor)
{
abort_unless(auth()->user()?->can('manage_printers'), 403);
$vendor->delete();
return Redirect::route('vendors.index')->with('message', 'Vendor delete successfully.');
}
}