/** * Cambiar estado del registro de celula, ello implica cambiar el estado de * la tabla celula_quiebre. * POST /submodulo/cambiarestado * * @return Response */ public function postCambiarestado() { if (Request::ajax()) { $estado = Input::get('estado'); $submodulo = Submodulo::find(Input::get('id')); $submodulo->estado = Input::get('estado'); $submodulo->save(); if ($estado == 0) { DB::table('submodulo_usuario')->where('submodulo_id', Input::get('id'))->update(array('estado' => 0)); } return Response::json(array('rst' => 1, 'msj' => 'Registro actualizado correctamente')); } }
/** * 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')); } }