File: /var/www/vhost/disk-apps/sigedo-dev.allup.com.co/app/Http/Controllers/Controller.php
<?php
namespace App\Http\Controllers;
use App\Role;
use App\City;
use Illuminate\Support\Facades\Auth;
use App\Http\Controllers\LogsController;
use Illuminate\Foundation\Bus\DispatchesJobs;
use Illuminate\Routing\Controller as BaseController;
use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
class Controller extends BaseController
{
use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
public function registerLogData($data_operation, $registry_id, $module_id, $operation_id, $user_id)
{
$log = new LogsController;
$log->createLog($data_operation, $registry_id, $module_id, $operation_id, $user_id);
}
/**
* retorna verdadero si tiene el permiso para alguno de los roles indicado
*
* @param mixed $module -> string
* @param mixed $operation -> string
* @param mixed $roles -> array(0=>name1, 1 => name2)
* @return bool
*/
public function validateGateByRole($module,$operation,$roles)
{
$status = false;
$count = 0;
if(Auth::user()->roles[0]->id == 1 || Auth::user()->roles[0]->id == 11){
$status = true;
return $status;
}
foreach ($roles as $key => $role) {
if(intval($role)){
$currentRole = Role::select('name')->where('id', $role)->first();
if($currentRole){
$role = $currentRole->name;
}
}
if(\Gate::check($module.'_'.$operation.'Info'.ucfirst($role))){
$count += 1;
}
}
if(count($roles) == $count){
$status = true;
}
return $status;
}
public function listCities($department_id)
{
$cities = City::where([['department_id', $department_id], ['active', true]])->get();
if($cities){
return response(array("status" => true, "type" => "success", "title" => "", "message" => __('created_successfully'), "data" => array("cities" => $cities)));
}
return response(array("status" => false, "type" => "error", "title" => "Oops...", "message" => __('error_creating'), "data" => null));
}
}