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/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));
    }
}