Example #1
0
 /**
  * Update the specified resource in storage.
  * POST /usuario/editar
  *
  * @return Response
  */
 public function postEditar()
 {
     if (Request::ajax()) {
         $usuarioId = Input::get('id');
         $regex = 'regex:/^([a-zA-Z .,ñÑÁÉÍÓÚáéíóú]{2,60})$/i';
         $required = 'required';
         $numeric = 'numeric';
         $reglas = array('nombre' => $required . '|' . $regex, 'apellido' => $required . '|' . $regex, 'usuario' => $regex . '|unique:usuarios,usuario,' . $usuarioId, 'dni' => 'required|min:8|unique:usuarios,dni,' . $usuarioId, 'perfil' => $required . '|' . $numeric, 'empresa' => $required . '|' . $numeric, 'area' => $required . '|' . $numeric, 'sexo' => $required, 'zonales_selec' => $required);
         $mensaje = array('required' => ':attribute Es requerido', 'regex' => ':attribute Solo debe ser Texto', 'numeric' => ':attribute seleccione una opcion');
         $validator = Validator::make(Input::all(), $reglas, $mensaje);
         if ($validator->fails()) {
             return Response::json(array('rst' => 2, 'msj' => $validator->messages()));
         }
         $usuarios = Usuario::find($usuarioId);
         $usuarios['nombre'] = Input::get('nombre');
         $usuarios['apellido'] = Input::get('apellido');
         $usuarios['usuario'] = Input::get('usuario');
         if (Input::get('password') != '') {
             $usuarios['password'] = Hash::make(Input::get('password'));
         }
         $usuarios['dni'] = Input::get('dni');
         $usuarios['email'] = Input::get('email');
         $usuarios['celular'] = Input::get('celular');
         $usuarios['perfil_id'] = Input::get('perfil');
         $usuarios['sexo'] = Input::get('sexo');
         $usuarios['empresa_id'] = Input::get('empresa');
         $usuarios['area_id'] = Input::get('area');
         $usuarios['estado'] = Input::get('estado');
         $usuarios['usuario_updated_at'] = Auth::user()->id;
         $usuarios->save();
         $empresas = Input::get('empresas');
         $submodulos = Input::get('submodulos');
         $quiebregrupos = Input::get('quiebregrupos');
         //empresas
         DB::table('empresa_usuario')->where('usuario_id', $usuarioId)->update(array('estado' => 3));
         // 3 : eliminado permanente
         //si estado de usuario esta activo y no selecciono nin gun quebre
         if (Input::get('estado') == 1 and $empresas != 'null' and $empresas != '') {
             for ($i = 0; $i < count($empresas); $i++) {
                 $empresaId = $empresas[$i];
                 $empresa = Empresa::find($empresaId);
                 //buscando en la tabla
                 $empresaUsuario = array();
                 $empresaUsuario = DB::table('empresa_usuario')->where('empresa_id', '=', $empresaId)->where('usuario_id', '=', $usuarioId)->first();
                 if (is_null($empresaUsuario) and count($empresaUsuario) == 0) {
                     $usuarios->empresas()->save($empresa, array('estado' => 1));
                 } else {
                     //update a la tabla empresa_usuario
                     DB::table('empresa_usuario')->where('empresa_id', '=', $empresaId)->where('usuario_id', '=', $usuarioId)->update(array('estado' => 1));
                 }
             }
         }
         //zonales
         $pertenece = Input::get('pertenece');
         $zonales = explode(',', Input::get('zonales_selec'));
         //actulizando a estado 0 segun quiebre seleccionado
         DB::table('usuario_zonal')->where('usuario_id', $usuarioId)->update(array('estado' => 0, 'pertenece' => 0));
         $estado = 0;
         //si estado de usuario esta activo y selecciono zonales
         if (Input::get('estado') == 1 and !empty($zonales)) {
             for ($i = 0; $i < count($zonales); $i++) {
                 $zonalId = $zonales[$i];
                 $zonal = Zonal::find($zonalId);
                 //buscando en la tabla
                 $usuarioZonal = DB::table('usuario_zonal')->where('usuario_id', '=', $usuarioId)->where('zonal_id', '=', $zonalId)->first();
                 //pertenece
                 //$pertenece = Input::get('pertenece'.$zonalId, 0);
                 if ($pertenece == $zonalId) {
                     $estado = 1;
                 } else {
                     $estado = 0;
                 }
                 if (is_null($usuarioZonal) and count($usuarioZonal) == 0) {
                     $usuarios->zonales()->save($zonal, array('estado' => 1, 'pertenece' => $estado));
                 } else {
                     DB::table('usuario_zonal')->where('usuario_id', '=', $usuarioId)->where('zonal_id', '=', $zonalId)->update(array('estado' => 1, 'pertenece' => $estado));
                 }
             }
         }
         //submodulos
         $modulos = Input::get('modulos_selec');
         DB::table('submodulo_usuario')->where('usuario_id', $usuarioId)->update(array('estado' => 3));
         // 3 : eliminado permanente
         if ($modulos) {
             //si selecciono algun menu
             $modulos = explode(',', $modulos);
             $submodulos = array();
             $update = array();
             for ($i = 0; $i < count($modulos); $i++) {
                 $moduloId = $modulos[$i];
                 //almacenar las opciones seleccionadas
                 $submodulos[] = Input::get('submodulos' . $moduloId);
             }
             for ($i = 0; $i < count($submodulos); $i++) {
                 for ($j = 0; $j < count($submodulos[$i]); $j++) {
                     //buscar la opcion en ls BD
                     $submoduloId = $submodulos[$i][$j];
                     $permisos = '';
                     if (Input::has('privilegio' . $submoduloId)) {
                         $update[] = Input::get('privilegio' . $submoduloId);
                         for ($k = 0; $k < count($update); $k++) {
                             $permisos = '';
                             for ($l = 0; $l < count($update[$k]); $l++) {
                                 if ($update[$k][$l] == 1) {
                                     //permisos de agregar
                                     $permisos .= 'a';
                                 }
                                 if ($update[$k][$l] == 2) {
                                     //permisos de agregar y editar
                                     $permisos .= 'b';
                                 }
                                 if ($update[$k][$l] == 3) {
                                     //permisos de eliminar
                                     $permisos .= 'c';
                                 }
                             }
                         }
                     }
                     $submodulo = Submodulo::find($submoduloId);
                     $usuarioSubmodulo = array();
                     $usuarioSubmodulo = DB::table('submodulo_usuario')->where('usuario_id', '=', $usuarioId)->where('submodulo_id', '=', $submoduloId)->first();
                     //if (is_null($usuarioSubmodulo)) {
                     if (is_null($usuarioSubmodulo) and count($usuarioSubmodulo) == 0) {
                         $usuarios->submodulos()->save($submodulo, array('estado' => 1));
                     } else {
                         //update a la tabla cargo_opcion
                         DB::table('submodulo_usuario')->where('usuario_id', '=', $usuarioId)->where('submodulo_id', '=', $submoduloId)->update(array('estado' => 1));
                     }
                     if (Input::has('privilegio' . $submoduloId)) {
                         if (Session::get('perfilId') == 8) {
                             $permisos = 'abc';
                         }
                         Submodulo::updatePrivilegios($usuarioId, $submoduloId, $permisos);
                     }
                 }
             }
         }
         //quiebregrupos
         DB::table('quiebre_grupo_usuario')->where('usuario_id', $usuarioId)->update(array('estado' => 3));
         // 3 : eliminado permanente
         //restriccion de quiebres
         DB::table('quiebre_usuario_restringido')->where('usuario_id', $usuarioId)->update(array('estado' => 0));
         //si estado de usuario esta activo y no selecciono nin gun quebre
         if (Input::get('estado') == 1 and $quiebregrupos != 'null' and $quiebregrupos != '') {
             for ($i = 0; $i < count($quiebregrupos); $i++) {
                 $quiebreGrupoId = $quiebregrupos[$i];
                 //restriccion de quiebres
                 $quiebres = Input::get('quiebres' . $quiebreGrupoId);
                 //buscar registros
                 //
                 for ($k = 0; $k < count($quiebres); $k++) {
                     $quiebreId = $quiebres[$k];
                     $row = DB::table('quiebre_usuario_restringido')->where('usuario_id', $usuarioId)->where('quiebre_id', $quiebreId)->first();
                     if (count($row) > 0) {
                         DB::table('quiebre_usuario_restringido')->where('usuario_id', $usuarioId)->where('quiebre_id', $quiebreId)->update(array('estado' => 1));
                     } else {
                         DB::table('quiebre_usuario_restringido')->insert(array('usuario_id' => $usuarioId, 'quiebre_id' => $quiebreId));
                     }
                 }
                 $quiebreGrupo = QuiebreGrupo::find($quiebreGrupoId);
                 //buscando en la tabla
                 $quiebreGrupoUsuario = array();
                 $quiebreGrupoUsuario = DB::table('quiebre_grupo_usuario')->where('quiebre_grupo_id', '=', $quiebreGrupoId)->where('usuario_id', '=', $usuarioId)->first();
                 if (is_null($quiebreGrupoUsuario) and count($quiebreGrupoUsuario) == 0) {
                     //if (is_null($quiebreGrupoUsuario)) {
                     $usuarios->quiebregrupos()->save($quiebreGrupo, array('estado' => 1));
                 } else {
                     //update a la tabla quiebre_grupo_usuario
                     DB::table('quiebre_grupo_usuario')->where('quiebre_grupo_id', '=', $quiebreGrupoId)->where('usuario_id', '=', $usuarioId)->update(array('estado' => 1));
                 }
             }
         }
         return Response::json(array('rst' => 1, 'msj' => 'Registro actualizado correctamente'));
     }
 }
 /**
  * Changed the specified resource from storage.
  * POST /quiebregrupo/cambiarestado
  *
  * @return Response
  */
 public function postCambiarestado()
 {
     if (Request::ajax()) {
         $quiebreGrupo = QuiebreGrupo::find(Input::get('id'));
         $quiebreGrupo->estado = Input::get('estado');
         $quiebreGrupo->save();
         return Response::json(array('rst' => 1, 'msj' => 'Registro actualizado correctamente'));
     }
 }