Example #1
0
 /**
  * //Devuelve los grupos contenedores del mismo tipo que $this->recurso
  * @param void
  *	@return array
  */
 public function getContenedores()
 {
     $contenedores = array();
     $contenedores = GrupoRecurso::where('tipo', '=', $this->recurso->tipo)->get()->toArray();
     return $contenedores;
 }
Example #2
0
 /**
  * @param Input::get('nombre')      string
  * @param Input::get('descripcion') string
  * @param Input::get('tipo')        string
  * @param Input::get('id_lugar')    string
  * @param Input::get('padre_id')    int 
  * @param Input::get('modo')        int (0|1)
  * @param Input::get('roles')       array
  *
  * @return $result                  array    
  */
 public function ajaxEditRecurso()
 {
     // :)
     //Input
     $id = Input::get('id', '');
     $nombre = Input::get('nombre');
     $tipo = Input::get('tipo');
     //espacio|puesto|tipoequipo|equipo
     $padre_id = Input::get('padre_id', '');
     $modo = Input::get('modo', '1');
     //0=gestión con validación, 1=gestión sin validación
     $descripcion = Input::get('descripcion', '');
     $id_lugar = Input::get('id_lugar', '');
     $roles = Input::get('roles');
     //roles con acceso para poder reservar (array())
     //out
     $result = array('error' => false, 'msg' => '', 'errors' => array());
     //Validación de formulario
     $rules = array('id' => 'required|exists:recursos', 'nombre' => 'required|unique:recursos,nombre,' . Input::get('id') . ',id,deleted_at,NULL', 'tipo' => 'required|in:' . implode(',', Config::get('options.recursos')), 'padre_id' => 'required', 'modo' => 'required|in:' . implode(',', Config::get('options.modoGestion')));
     $messages = array('id.exists' => 'Identificador de recurso no encontrado....', 'required' => 'El campo <strong>:attribute</strong> es obligatorio....', 'unique' => 'Existe un recurso con el mismo nombre...', 'tipo.in' => 'El tipo de recurso no está definido...', 'modo.in' => 'Modo de Gestión de solicitudes de reserva no definido....', 'grupo_id.required_if' => 'identificador de grupo requerido....', 'espacio_id.required_if' => 'identificador de espacio requerido....', 'grupo_id.exists' => 'No existe identificador de grupo...', 'grupo_id.sametypes' => 'No coinciden los tipos de grupo y recurso...', 'existsContenedor' => 'No existe identificador de elemento padre..');
     $validator = Validator::make(Input::all(), $rules, $messages);
     $datos = array('padre_id' => $padre_id, 'tipo' => $tipo);
     $validator->sometimes('existsContenedor', '', function ($datos) {
         if (in_array($datos['tipo'], Config::get('options.recursosContenedores'))) {
             return GrupoRecurso::where('id', '=', $datos['padre_id'])->get() != null;
         }
         if (in_array($datos['tipo'], Config::get('options.recursosItems'))) {
             return Recurso::where('id', '=', $datos['padre_id'])->get() != null;
         }
     });
     if ($validator->fails()) {
         //Si errores en el formulario
         $result['error'] = true;
         $result['errors'] = $validator->errors()->toArray();
     } else {
         $recurso = Recurso::findOrFail($id);
         $sgrRecurso = Factoria::getRecursoInstance($recurso);
         $sgrRecurso->edit(Input::all());
         $sgrRecurso->save();
         $result['msg'] = (string) View::make('msg.success')->with(array('msg' => Config::get('msg.editrecursosuccess')));
     }
     return $result;
 }
Example #3
0
 /**
  * Devuelve recursos contenedores del mismo tipo y del mismo grupo que el recurso contenedor de $this->recurso
  * @param void
  *	@return array
  */
 public function getContenedores()
 {
     $contenedores = array();
     if ($this->recurso->contenedor != null) {
         $contenedores = Recurso::where('tipo', '=', $this->recurso->contenedor->tipo)->where('grupo_id', '=', $this->recurso->contenedor->grupo_id)->get()->toArray();
     } else {
         $contenedores = GrupoRecurso::where('tipo', '=', $this->recurso->tipo)->get()->toArray();
     }
     return $contenedores;
 }
Example #4
0
 /**
  * @param Input::get('grupo_id')   int
  *
  * @return $result array
  */
 public function del()
 {
     // :)
     //Input
     $id = Input::get('grupo_id', '');
     //Output
     $respuesta = array('errors' => array(), 'msg' => '', 'error' => false);
     //Validate
     $rules = array('grupo_id' => 'required|exists:grupoRecursos,id');
     $messages = array('required' => 'El campo <strong>:attribute</strong> es obligatorio....', 'exists' => 'No existe identificador de grupo...');
     $validator = Validator::make(Input::all(), $rules, $messages);
     //Save Input or return error
     if ($validator->fails()) {
         $result['errors'] = $validator->errors()->toArray();
         $result['error'] = true;
         return $result;
     }
     $grupo = GrupoRecurso::findOrFail($id);
     if ($grupo->recursos->count() > 0) {
         $result['errors'] = array('grupo_id' => 'No se puede eliminar un grupo con elementos');
         $result['error'] = true;
         return $result;
     }
     $administradores = $grupo->administradores();
     foreach ($administradores as $administrador) {
         $supervisor->detach($administrador->id);
     }
     $validadores = $grupo->validadores();
     foreach ($validadores as $validador) {
         $validador->detach($validador->id);
     }
     $gestores = $grupo->gestores();
     foreach ($gestores as $gestor) {
         $tecnico->detach($gestor->id);
     }
     $grupo->delete();
     $result['msg'] = (string) View::make('msg.success')->with(array('msg' => Config::get('msg.delgruposuccess')));
     return $result;
 }