public function asigperfilesActualizar(Request $request)
 {
     //echo $request->op_1_2;die;
     //control de sesion
     $admin = new adminController();
     if (!$admin->getControl()) {
         return redirect('admin')->with('login_errors', '<font color="#ff0000">La sesión a expirado. Vuelva a logearse..</font>');
     }
     //listamos los perfiles
     $listPerfiles = Perfil::where('status', '=', '1')->get();
     //listamos las opciones de los perfiles
     $listOpciones = OpcionPerfiles::all();
     //recojo los datos del request
     // hago dos bucles, el externo recorre las opciones y el interno los perfiles
     //asi genero la tabla (array) de todas las opciones
     foreach ($listOpciones as $opcion) {
         $listPerfilesNuevos = "";
         foreach ($listPerfiles as $perfil) {
             $posicion = 'op_' . $opcion->id . '_' . $perfil->idPerfil;
             $valor = $request->{$posicion};
             //si viene "on" es = 1, si viene vacio es = 0
             if ($valor === 'on') {
                 $listPerfilesNuevos[] = $perfil->idPerfil;
             }
         }
         $listPerfilesNuevos = implode(',', $listPerfilesNuevos);
         //por utlimo actualizo esa linea de la tabla opciones_perfiles
         $datosOpcion = OpcionPerfiles::find($opcion->id);
         $datosOpcion->perfiles = $listPerfilesNuevos;
         $datosOpcion->save();
     }
     $ok = 'Se ha actualizado las asignaciones de las opciones.';
     return redirect('admin/asig_perfiles')->with('errors', $ok);
 }
Esempio n. 2
0
 public function opcion_perfiles($opcion, $idPerfilUsuario)
 {
     $opcion_perfiles = OpcionPerfiles::all();
     $encontrado = 'NO';
     foreach ($opcion_perfiles as $opcion_perfil) {
         if ($opcion_perfil->opcion === $opcion) {
             $perfiles = explode(',', $opcion_perfil->perfiles);
             if (is_array($perfiles)) {
                 if (in_array($idPerfilUsuario, $perfiles)) {
                     $encontrado = 'SI';
                 } else {
                     $encontrado = 'NO';
                 }
             } else {
                 $encontrado = 'NO';
             }
             break;
         }
     }
     if ($encontrado === 'NO') {
         return false;
     } else {
         return true;
     }
 }