File: /var/www/vhost/disk-apps/comfama.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'));
}
}