HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux ip-172-31-42-149 5.15.0-1084-aws #91~20.04.1-Ubuntu SMP Fri May 2 07:00:04 UTC 2025 aarch64
User: ubuntu (1000)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/vhost/disk-apps/demo.sports-crowd.com/app/Http/Controllers/CompanyController.php
<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use App\CourierCompany;
use DB;
use Datatables;

class CompanyController extends Controller
{
    public function index(){
        // $rol = Auth::user()->rol->id;
        // if ($rol == 1 ||  $rol == 6) {
            $companies = CourierCompany::orderBy('name','ASC')->get();
            return view('companies.companies')->with('companies',$companies);
        // }else{
        //     return redirect()->back();
        // }
    }

    public function indexAdd(){

        // $rol = Auth::user()->rol->id;
        // if ($rol == 1 ||  $rol == 6) {
            return view('companies.addCompanies');
        // }else{
        //     return redirect()->back();
        // }
    }

    public function indexEdit($id){
        // $rol = Auth::user()->rol->id;
        // if ($rol == 1 ||  $rol == 6) {
            $company = CourierCompany::find($id);
            return view('companies.editCompanies')->with('company',$company);
        // }else{
        //     return redirect()->back();
        // }
    }

    public function create(Request $request)
    {

        $r = CourierCompany::where("nit",$request["nit"])->get();

        if (count($r)>0) {
           return array('r' => false, 'm'=> trans('messages.controller_company_tag1'));

        } else {

            $company = new CourierCompany();
            $company->name = $request["name"];
            $company->nit = $request["nit"];
            $company->phone = $request["phone"];
            $company->contact = $request["contact"];
            $company->save();
            $logObj = $company;

            $this->registerLog(Auth::user()->id, 'Creó empresa asociada', json_encode($logObj)
           ,"Create", 5);

           return array('r' => true, 'm'=> trans('messages.controller_company_tag2'));
        }
  }

  public function update(Request $request)
    {
        $company =CourierCompany::find($request["id"]);
        $logObj = $company;
        $r = CourierCompany::where("nit",$request["nit"])->get();

        if (count($r)>0 && $company->nit!=$request["nit"]) {
           return array('r' => false, 'm'=> trans('messages.controller_company_tag1'));

        } else {

            $company =CourierCompany::find($request["id"]);
            $logObj = $company;
            $company->name = $request["name"];
            $company->nit = $request["nit"];
            $company->phone = $request["phone"];
            $company->contact = $request["contact"];
            $company->update();


            $this->registerLog(Auth::user()->id, 'Editó empresa asociada', json_encode($logObj)
           ,"Update", 5);

           return array('r' => true, 'm'=> trans('messages.controller_company_tag3'));

        }

    }

    public function tableFilter(){
        $obj = $obj = DB::table('courier_companies')
        ->select('courier_companies.id', 'courier_companies.name','courier_companies.nit','courier_companies.phone','courier_companies.active','courier_companies.contact' )->whereNull('courier_companies.deleted_at');


        return Datatables::of($obj)
        ->addColumn('actions', function ($obj) {
            return '<i class="fa fa-pencil iconMini" onClick="clickEditCompany('.$obj->id.')" data-id="'.$obj->id.'"  title="Editar"></i>
            <i class="fa fa-trash iconMini" onClick="clickDeleteCompany('.$obj->id.')" data-id="'.$obj->id.'"  title="Eliminar"></i>';

        })

        ->editColumn('active', function ($obj) {
            if($obj->active == 0){
                return '<div class="switch"><label><div class="checkbox checbox-switch switch-success"> <label> No <input type="checkbox" onChange="chkCompany('.$obj->id.')" data-id="'.$obj->id.'" id="Checkactive'.$obj->id.'" name="Checkactivo" /> <span></span>Si </label></div> </label> </div>';
            }else{
                return '<div class="switch"><label> <div class="checkbox checbox-switch switch-success"> <label>   No <input type="checkbox" onChange="chkCompany('.$obj->id.')" data-id="'.$obj->id.'" id="Checkactive'.$obj->id.'" name="Checkactivo" checked="" />
                <span></span> Si </label> </div>  </label> </div>';

            }

        })
        ->rawColumns([ 'active','actions'])
        ->make(true);


    }

    public function delete(Request $request)
    {
        $company = CourierCompany::find($request['id']);
        $logObj = $company;
        $company->delete();

        $this->registerLog(Auth::user()->id, 'Eliminó empresa', json_encode($logObj)
        ,"Delete", 5);

        return array('r' => true, 'm'=> trans('messages.controller_company_tag4'));
    }

    public function activateCompany(Request $request){

        $id= $request['id'];
        $state=  $request['state'];

        $company = CourierCompany::find($id);
        $logObj = $company;
        $company->active = $state;
        $company->update();
        // Log
        $this->registerLog(Auth::user()->id, 'Actualizó campo active de empresa', json_encode($logObj)
        ,"Update", 5);
        return array('r' => true, 'm'=> trans('messages.controller_company_tag3'));

    }
}