public function generar_lista_con_agrupador_permisos($valor = null, $id_rol) { \Form::macro('selectOpt', function (\ArrayAccess $collection, $name, $groupBy, $labelBy = 'name', $valueBy = 'id', $value = null, $attributes = array()) { $select_optgroup_arr = []; foreach ($collection as $item) { $select_optgroup_arr[$item->{$groupBy}][$item->{$valueBy}] = $item->{$labelBy}; } return \Form::select($name, $select_optgroup_arr, $value, $attributes); }); $modulos_asignados = configRolModulo::where('id_rol', $id_rol)->select('id_modulo')->get()->toArray(); return \Form::selectOpt($this->model->whereNotIn('id_modulo', $modulos_asignados)->orderBy('descripcion')->get(), 'id_modulo', 'agrupador', 'descripcion', 'id_modulo', $valor, array('class' => 'form-control', 'data-required' => 'true', 'id' => 'id_modulo')); }
public function validar_acceso($IDModuloAutorizar) { if (!Session::has('spa')) { $modulos_arr = array(); $existencia = configRolColaborador::where('id_funcionario', $this->id_funcionario)->get()->count(); if ($existencia > 0) { $modulos_id = configRolModulo::whereIn('id_rol', function ($query) { $query->select('id_rol')->from(with(new configRolColaborador())->getTable())->where('id_funcionario', $this->id_funcionario); })->select('id_modulo')->get()->toArray(); $modulos = configModulo::whereIn('id_modulo', $modulos_id)->orderBy('orden')->get(); foreach ($modulos as $modulo) { $modulos_arr[] = $modulo->id_modulo; } } Session::put('spa', $modulos_arr); } if (in_array($IDModuloAutorizar, (array) Session::get('spa'))) { return 1; } else { return 0; } }