HEX
Server: Apache
System: Linux server2.voipitup.com.au 4.18.0-553.104.1.lve.el8.x86_64 #1 SMP Tue Feb 10 20:07:30 UTC 2026 x86_64
User: posscale (1027)
PHP: 8.2.29
Disabled: exec,passthru,shell_exec,system
Upload Files
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.');
    }


}