/** * Método para eliminar */ public function eliminar($key) { if (!($id = Security::getKey($key, 'eliminar_recurso', 'int'))) { return Redirect::toAction('listar'); } $recurso = new Recurso(); if (!$recurso->find_first($id)) { Flash::error('Lo sentimos, no se ha podido establecer la información del recurso'); return Redirect::toAction('listar'); } try { if ($recurso->delete()) { Flash::valid('El recurso se ha eliminado correctamente!'); } else { Flash::warning('Lo sentimos, pero este recurso no se puede eliminar.'); } } catch (KumbiaException $e) { Flash::error('Este recurso no se puede eliminar porque se encuentra relacionado con otro registro.'); } return Redirect::toAction('listar'); }
public function carrega($id) { $this->conectar(); $query = "SELECT * FROM recursos WHERE id_musica=" . $id . ";"; $resultado = $this->query($query); $this->desconectar(); if (!is_bool($resultado)) { foreach ($resultado as $result) { $recurso = new Recurso(); $recurso->carrega($result); $this->recursos[] = $recurso; } } }
public function postVideo() { ini_set('max_execution_time', 300); $userid = Auth::user()->id; $idcurso = Input::get('idcurso'); $recurso = new Recurso(); $recurso->nombre = Input::get('nombre'); $recurso->descripcion = Input::get('descripcion'); //$file = Input::file('image'); $recurso->activo = Input::get('activo'); $recurso->id_user = 1; $recurso->id_curso = $idcurso; $recurso->save(); $the_id = $recurso->id; $recurso = Recurso::find($the_id); $destinationPath = 'temp/'; $file = Input::file('video'); $filename = $userid . "" . $file->getClientOriginalName(); Input::file('video')->move($destinationPath, $filename); $file = ParseFile::createFromFile($destinationPath . "/" . $filename, $filename); $file->save(); $url = $file->getURL(); $recurso->URL = "" . $url; $jobApplication = new ParseObject("recursos"); $jobApplication->set("myid", $the_id); $jobApplication->set("res", $file); $jobApplication->save(); $recurso->save(); File::delete($destinationPath . "/" . $filename); }
public function show($id) { $this->layout->title = 'Mostrar Recurso'; $this->layout->titulo = 'Gestión de Proyectos'; $recurso = Recurso::find($id); $medida = $recurso->medida; $this->layout->nest('content', 'recursos.show', array('recurso' => $recurso, 'medida' => $medida)); }
/** * Método para listar */ public function listar($order = 'order.modulo.asc') { if (Input::hasPost('privilegios') or Input::hasPost('old_privilegios')) { if (RecursoPerfil::setRecursoPerfil(Input::post('privilegios'), Input::post('old_privilegios'))) { Flash::valid('Los privilegios se han registrado correctamente!'); Input::delete('privilegios'); //Para que no queden persistentes Input::delete('old_privilegios'); } } $recurso = new Recurso(); $this->recursos = $recurso->getListadoRecursoPorModulo(Recurso::ACTIVO); $perfil = new Perfil(); $this->perfiles = $perfil->getListadoPerfil(Perfil::ACTIVO); $privilegio = new RecursoPerfil(); $this->privilegios = $privilegio->getPrivilegiosToArray(); $this->order = $order; $this->page_title = 'Permisos y privilegios de usuarios'; }
/** * Constrói os menus de uma página com base no recurso ativo e no acl * @param StdClass $usuario * @param Recurso $recurso * @param Core_Acl $acl * * return array */ public static function getMenus($usuario, Recurso $recurso, Core_Acl $acl) { $retorno = array(); // Verificar permissao de cada botao em $recurso->filhos foreach ($recurso->filhos as $botao) { $hasBotao = AclFactory::checaPermissao($acl, $usuario, $botao); // verifica se no fim das contas o botão foi inserido if ($hasBotao) { // botão deve ser inserido // verifica se o botao em questao tem um dialog if ($botao->hasDialog()) { $botao = $botao->dialog; } // verifica se o botao em questao é de um dialog // caso positivo, adicioná-lo às dependencias if ($botao->id_recurso_tipo == Recurso::TIPO_DIALOG && $botao->hasUrl()) { $recurso->addDependencia($botao); } // verifica se o recurso em questão é de uma aba // caso positivo, adicioná-la à lista de abas if ($botao->id_recurso_tipo == Recurso::TIPO_ABA) { $recurso->addAba($botao); // verifica se a aba possui dependencias if (is_array($botao->filhos)) { foreach ($botao->filhos as $dependencia) { if ($dependencia->hasUrl() && ($dependencia->id_recurso_tipo != Recurso::TIPO_PAGINA && $dependencia->id_recurso_tipo != Recurso::TIPO_POPUP) && AclFactory::checaPermissao($acl, $usuario, $dependencia)) { $recurso->addDependencia($dependencia); } } } } if ($botao->hasImage() && ($botao->hasUrl() || $botao->hasDomId())) { $retorno[] = $botao; } } } // ao final de todas as verificacoes, retorna a array de recursos return $retorno; }
public function playVideo($id, $rs) { switch (Auth::user()->tipo) { case 0: return Redirect::to('admin'); break; case 2: $recursos = Curso::find($id)->recursos; $recurso = Recurso::find($rs); $curso = Curso::find($id); return View::make('cursante.reproductor', array('curso' => $curso, 'recurso' => $recurso, 'recursos' => $recursos)); break; } // para buscar al usuario utilizamos el metido find que nos proporciona Laravel // este método devuelve un objete con toda la información que contiene un usuario }
function addRecurso($ubicacion, $idUsuario) { $bd = openBD(); $recurso_obj = new Recurso(null, $bd); $recurso_obj->setFechaPublicacion(date('Y/m/d h:i:s')); $recurso_obj->setUsuario($idUsuario); $recurso_obj->setUbicacion($ubicacion); $recurso_obj->setTipo(1); $recurso_obj->save($bd); closeBD($bd); }
/** * Método para crear/modificar un objeto de base de datos * * @param string $medthod: create, update * @param array $data: Data para autocargar el modelo * @param array $optData: Data adicional para autocargar * * return object ActiveRecord */ public static function setRecurso($method, $data, $optData = null) { $obj = new Recurso($data); //Se carga los datos con los de las tablas if ($optData) { //Se carga información adicional al objeto $obj->dump_result_self($optData); } //Verifico que no exista otro recurso, y si se encuentra inactivo lo active $conditions = empty($obj->id) ? "modulo='{$obj->modulo}' AND controlador='{$obj->controlador}' AND accion='{$obj->accion}'" : "modulo='{$obj->modulo}' AND controlador='{$obj->controlador}' AND accion='{$obj->accion}' AND id != '{$obj->id}'"; $old = new Recurso(); if ($old->find_first($conditions)) { if ($method == 'create' && $old->activo != Recurso::ACTIVO) { $obj->id = $old->id; $obj->activo = Recurso::ACTIVO; $method = 'update'; } else { MkcMessage::info('Ya existe un recurso registrado bajo esos parámetros.'); return FALSE; } } return $obj->{$method}() ? $obj : FALSE; }
public function imprime() { //!!!***Validar parámetros de entrada***!!! //get Input or default $viewActive = Input::get('view', 'month'); $day = Input::get('day', date('d')); $month = Input::get('month', date('m')); $year = Input::get('year', date('Y')); $id_recurso = Input::get('idRecurso', ''); //$id_grupo = Input::get('groupID',''); $id_item = Input::get('item', 0); //Todos los items (equipos o puestos) $titulo = Input::get('titulo', false); $nombre = Input::get('nombre', false); $colectivo = Input::get('colectivo', false); $total = Input::get('total', false); //Total de puestos o equipos de una reserva $datatoprint = array('titulo' => $titulo, 'nombre' => $nombre, 'colectivo' => $colectivo, 'total' => $total); //Información a imprimir seleccionada por el usuario //Output $table = array('tCaption' => '', 'tHead' => '', 'tBody' => ''); $fecha = new DateTime($year . '-' . $month . '-1'); $recurso = Recurso::findOrFail($id_recurso); $sgrRecurso = RecursoFactory::getRecursoInstance($recurso->tipo); $sgrRecurso->setRecurso($recurso); $sgrCalendario = new sgrCalendario($fecha, $sgrRecurso); $table['tCaption'] = CalendarController::caption($viewActive, $day, $sgrCalendario->nombreMes(), $sgrCalendario->year()); switch ($viewActive) { case 'month': $table['tHead'] = CalendarController::head($viewActive, $sgrCalendario); $table['tBody'] = View::make('calendario.printBodyMonth')->with('sgrCalendario', $sgrCalendario)->with('id_recurso', $id_recurso)->with('id_grupo', '')->with('datatoprint', $datatoprint); break; case 'week': $horas = array('8:30', '9:30', '10:30', '11:30', '12:30', '13:30', '14:30', '15:30', '16:30', '17:30', '18:30', '19:30', '20:30', '21:30'); $sgrWeek = $sgrCalendario->sgrWeek(strtotime($year . '-' . $month . '-' . $day)); $table['tHead'] = View::make('calendario.print.weekhead')->with('sgrWeek', $sgrWeek); //$table['tBody'] = View::make('calendario.printBodyWeek')->with('horas',$horas)->with('sgrWeek',$sgrWeek)->with('id_recurso',$id_recurso)->with('id_grupo','')->with('datatoprint',$datatoprint); $table['tBody'] = (string) View::make('calendario.print.weekbody')->with('sgrCalendario', $sgrCalendario); break; default: # code... break; } if (0 != $id_recurso) { $nombre = Recurso::find($id_recurso)->nombre; } else { $recurso = Recurso::where('grupo_id', '=', $id_grupo)->first(); $nombre = $recurso->grupo; } $html = View::make('pdf.calendario')->with(compact('table', 'nombre')); //return $html; $nombreFichero = $day . '-' . $month . '-' . $year . '_' . $nombre; //return $html; $result = myPDF::getPDF($html, $nombreFichero); return Response::make($result)->header('Content-Type', 'application/pdf'); }
/** * * //devuelve array objetc User que son validadores del grupo || recurso con identificador $id * @param $idgrupo int identificador de grupo || recurso * @param $tipo string en Config::get('options.objectWithRelation') * @return array() **/ public function ajaxGetValidadores() { //:) //input $id = Input::get('id', ''); $tipo = Input::get('tipo', ''); //Output $result = array('errors' => array(), 'validadores' => '', 'error' => false); //Validate $rules = array('id' => 'required', 'tipo' => 'required|in:' . Config::get('options.objectWithRelation')); $messages = array('required' => 'El campo <strong>:attribute</strong> es obligatorio.', 'in' => 'Tipo de objeto no reconocido'); $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; } else { if ($tipo == 'grupo') { $result['validadores'] = grupoRecurso::find($id)->validadores->toArray(); } elseif ($tipo == 'recurso') { $result['validadores'] = Recurso::find($id)->validadores->toArray(); } } return $result; }
/** * //Devuelve todos los recurso del tipo Input::get('tipo') formateados como html options * @param Input::get('tipo') string * @return View::make('admin.html.optionEspacios') */ public function htmlOptionrecursos() { // prescindible ??? $tipoRecurso = Input::get('tipo', ''); $espacios = Recurso::where('tipo', '=', $tipoRecurso)->get(); return View::make('admin.html.optionEspacios')->with(compact('espacios')); }
foreach ($result as $row) { $nombre = $row['NOMBRE_R']; $ruta = $row['RUTA_D']; $tipo = substr($ruta, -3); $this->mapeoTipo[] = $tipo; } return $this->mapeoTipo; //var_dump($this->mapeoTipo); } /** * Obtener nombre e ruta para los icono de un recurso */ public function obtenerPropiedades() { $sql = "SELECT d.RUTA_D,r.NOMBRE_R, ds.DESCRIPCION_D \n\t\t\t FROM documento as d, registro as r,descripcion as ds \n\t\t\t WHERE r.NOMBRE_U = '{$this->usuario}' AND r.TIPO_T = 'publicaciones' AND r.ID_R=ds.ID_R AND d.ID_R = r.ID_R"; $stmt = $this->conexion->query($sql); $result = $stmt->fetchAll(); $this->matriz = $result; $indice = 0; return $this->matriz; } public function imprimir() { $lista = $this->obtenerPropiedades(); foreach ($lista as $key) { echo 'Nombre >>' . $lista['nombre'] . ' RUTA >> ' . $lista['ruta'] . 'descripcion >> ' . $lista['descripcion'] . 'Icono>>' . $lista['icono'] . '<br>'; } } } $recursos = new Recurso('leticia'); $recursos->obtenerPropiedades();
private function existeLugar($idLugar) { $result = false; $recurso = Recurso::where('id_lugar', '=', $idLugar)->get(); if ($recurso->count() > 0) { $result = true; } return $result; }
private function setEstado($idGrupo, $idRecurso, $currentfecha, $hi, $hf) { $estado = 'denegada'; $self = new self(); //si modo automatico validacion = false if (!Recurso::find($idRecurso)->validacion()) { //Ocupado??; -> Solo busco solapamientos con solicitudes ya aprobadas $condicionEstado = 'aprobada'; //$currentFecha tiene formato d-m-Y $numEvents = $self->solapa($idGrupo, $idRecurso, $currentfecha, $hi, $hf, $condicionEstado); //si ocupado if ($numEvents > 0) { //si ocupado $estado = 'denegada'; } else { $estado = 'aprobada'; } } else { //ocupado??; estado = aprobado | pendiente | solapada (cualquiera de los posibles) $condicionEstado = ''; $numEvents = $self->solapa($idGrupo, $idRecurso, $currentfecha, $hi, $hf, $condicionEstado); if ($numEvents > 0) { //si ocupado $estado = 'pendiente'; } else { //si libre // Validadores realizan reservas no solicitudes if (!Auth::user()->isValidador()) { $estado = 'pendiente'; } else { $estado = 'aprobada'; } } } return $estado; }
/** */ public function existeRecurso($idrecurso) { $unRecurso = new Recurso(); $resultado = $unRecurso->existeRecurso($idrecurso); echo $resultado; }
public function valida() { $sortby = Input::get('sortby', 'estado'); $order = Input::get('order', 'desc'); $id_recurso = Input::get('id_recurso', '0'); $id_user = Input::get('id_user', '0'); $evento_id = Input::get('evento_id', ''); $action = Input::get('action', ''); $idRecurso = Input::get('idRecurso', '0'); $verpendientes = Input::get('verpendientes'); $veraprobadas = Input::get('veraprobadas'); $verdenegadas = Input::get('verdenegadas'); //$iduser = Input::get('idUser','0';) $espaciosConValidacion = $this->espaciosConValidacion(); //por ejemplo array('10,'11,'21') DONDE 10 -> Salón de actos,11->Sala de juntas, 21->Seminario B2 //validamos (aprobar o denegar) evento $solapamientos = false; $msgforuser = ''; if ($action == 'aprobar') { //vemos si hay solapamientos con solicitudes ya aprobadas $events = Evento::where('evento_id', '=', $evento_id)->get(); foreach ($events as $event) { $where = "fechaEvento = '" . $event->fechaEvento . "' and "; $where .= " (( horaInicio <= '" . $event->horaInicio . "' and horaFin >= '" . $event->horaFin . "' ) "; $where .= " or ( horaFin > '" . $event->horaFin . "' and horaInicio < '" . $event->horaFin . "')"; $where .= " or ( horaInicio > '" . $event->horaInicio . "' and horaInicio < '" . $event->horaFin . "')"; $where .= " or horaFin < '" . $event->horaFin . "' and horaFin > '" . $event->horaInicio . "')"; $where .= " and evento_id != '" . $evento_id . "'"; $where .= " and estado = 'aprobada'"; $numSolapamientos = Recurso::find($idRecurso)->events()->whereRaw($where)->count(); if ($numSolapamientos > 0) { $solapamientos = true; } } if (!$solapamientos) { //update column estado en BD $filasAfectadas = Evento::where('evento_id', '=', $evento_id)->update(array('estado' => 'aprobada')); $accion = 'aprobar'; $solapamientos = false; $msgforuser = '******'; //Aquí mail to -> user_id && validadores de recurso_id ($accion = aprobar | denegar) $sgrMail = new sgrMail(); $sgrMail->notificaValidacion($accion, $evento_id); } else { $solapamientos = true; } } else { Evento::where('evento_id', '=', $evento_id)->update(array('estado' => 'denegada')); $accion = 'denegar'; $msgforuser = '******'; //Aquí mail to -> user_id && validadores de recurso_id ($accion = aprobar | denegar) $sgrMail = new sgrMail(); $sgrMail->notificaValidacion($accion, $evento_id); } return Redirect::to(route('validadorHome.html', array('solapamientos' => $solapamientos, 'sortby' => $sortby, 'order' => $order, 'id_recurso' => $id_recurso, 'id_user' => $id_user, 'idEventoValidado' => $evento_id, 'verpendientes' => $verpendientes, 'veraprobadas' => $veraprobadas, 'verdenegadas' => $verdenegadas, 'msgforuser' => $msgforuser))); }
/** * Método para eliminar */ public function eliminar($key) { if (!($id = DwSecurity::isValidKey($key, 'eliminar_recurso', 'int'))) { return DwRedirect::toAction('listar'); } $recurso = new Recurso(); if (!$recurso->find_first($id)) { DwMessage::get('id_no_found'); return DwRedirect::toAction('listar'); } try { if ($recurso->delete()) { DwMessage::valid('El recurso se ha eliminado correctamente!'); } else { DwMessage::warning('Lo sentimos, pero este recurso no se puede eliminar.'); } } catch (KumbiaException $e) { DwMessage::error('Este recurso no se puede eliminar porque se encuentra relacionado con otro registro.'); } return DwRedirect::toAction('listar'); }
<?php //include('../Vista/recursosasesor.php'); include '../modelo/crear-imagen.php'; $conexion = mysql_connect("localhost", "root", ""); // $conexion = mysql_connect("192.168.2.5","mbittle","5rtZAGYq"); //Control if (!$conexion) { die('La conexion ha fallado por:' . mysql_error()); } mysql_select_db("saetis", $conexion); //mysql_select_db("tis_mbittle",$conexion); session_start(); $UsuarioActivo = $_SESSION['usuario']; //$usuario ='leticia'; $graficorecurso = new Recurso($UsuarioActivo); $indice = 1; $descripcion = $graficorecurso->obtenerPropiedades(); $tabla = ''; if ($descripcion != null) { foreach ($descripcion as $key) { $tipo = strstr($key['RUTA_D'], '.'); //echo($key['RUTA_D']); //echo "<br>"; //var_dump($tipo); //die(); $icono = '../../lib/images/ico/' . $tipo . '.jpg'; // echo 'Nombre >>' .$key['NOMBRE_R']. ' DESCRIPCION_D >> ' .$key['DESCRIPCION_D'].'RUTA >> '.$key['RUTA_D'].' ICONO >> '.$icono.'<br>'; $aux = $key['DESCRIPCION_D']; //$delimitador = "*"; //list ($nombre,$numero) = explode($delimitador,$aux);
/** * 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; }
public function validate($data) { //$this->data = $data; //return false; //formatear fechas if (!empty($data['fEvento'])) { $date = DateTime::createFromFormat('d-m-Y', $data['fEvento']); $data['fEvento'] = $date->format('Y-m-d'); } if (!empty($data['fInicio'])) { $date = DateTime::createFromFormat('d-m-Y', $data['fInicio']); $data['fInicio'] = $date->format('Y-m-d'); } if (!empty($data['fFin'])) { $date = DateTime::createFromFormat('d-m-Y', $data['fFin']); $data['fFin'] = $date->format('Y-m-d'); } //mensages //req1: alumno solo pueden reservar entre firstMonday y lastFriday (por implementar) if (Auth::user()->isUser()) { setlocale(LC_ALL, 'es_ES@euro', 'es_ES', 'esp'); $this->messages['fInicio.req1'] = '<br />Puedes reservar entre el <strong>' . strftime('%A, %d de %B de %Y', sgrCalendario::fristMonday()) . '</strong> y el <strong>' . strftime('%A, %d de %B de %Y', sgrCalendario::lastFriday()) . '</strong><br />'; } if (Auth::user()->isAvanceUser()) { setlocale(LC_ALL, 'es_ES@euro', 'es_ES', 'esp'); $this->messages['fInicio.req5'] = 'Puedes reservar a partir del <strong>' . strftime('%A, %d de %B de %Y', sgrCalendario::fristMonday()) . '</strong><br />'; } if (Auth::user()->isTecnico()) { setlocale(LC_ALL, 'es_ES@euro', 'es_ES', 'esp'); $tsToday = strtotime('today'); $this->messages['fInicio.req6'] = 'Puedes reservar a partir del <strong>' . strftime('%A, %d de %B de %Y', $tsToday) . '</strong><br />'; } if (isset($data['dias']) && in_array('6', $data['dias'])) { $this->messages['dias.req4'] = $this->messages['dias.req4'] . " No se puede reservar en <strong>sábado</strong><br />"; } if (isset($data['dias']) && in_array('0', $data['dias'])) { $this->messages['dias.req4'] = $this->messages['dias.req4'] . " No se puede reservar en <strong>domingo</strong><br />"; } if (!empty($data['fFin'])) { $this->messages['fFin.datefincurso'] = 'Las reservas deben de finalizar dentro del curso académico actual. (Fecha limite: ' . date('d-m-Y', strtotime(Config::get('options.fin_cursoAcademico'))) . ')'; } if (!empty($data['fInicio'])) { $this->messages['fInicio.dateiniciocurso'] = 'No es posible realizar reservas hasta que se finalice la carga del POD: fecha prevista a partir del día ' . date('d-m-Y', strtotime(Config::get('options.inicio_gestiondesatendida'))); } if (!empty($data['reservarParaUvus'])) { $this->messages['reservarParaUvus.existeuvus'] = 'Usuario "' . $data['reservarParaUvus'] . '" no registrado.'; } //fin mensages // make a new validator object $v = Validator::make($data, $this->rules, $this->messages); //requisito: reserva para otro usuario -> debe de existir en la Base de Datos if (!empty($data['reservarParaUvus'])) { $v->sometimes('reservarParaUvus', 'existeuvus', function ($data) { if (User::where('username', '=', $data['reservarParaUvus'])->count() == 0) { return true; } }); } //requisito: alumnos no pueden reservar dos recurso a la misma hora, mismo día if (!empty($data['fEvento']) && !empty($data['hFin']) && !empty($data['hInicio'])) { $v->sometimes('fEvento', 'reservaunica', function ($data) { if (Auth::user()->capacidad == '1') { //setlocale(LC_ALL,'es_ES@euro','es_ES','esp'); //determinar si tiene reserva en otro recurso con misma fechaEvento, horainicio y horafin solapadas. $id_recurso = Recurso::find($data['id_recurso'])->id; $where = " (( horaInicio <= '" . $data['hInicio'] . "' and horaFin >= '" . $data['hFin'] . "' ) "; $where .= " or ( horaFin > '" . $data['hFin'] . "' and horaInicio < '" . $data['hFin'] . "')"; $where .= " or ( horaInicio > '" . $data['hInicio'] . "' and horaInicio < '" . $data['hFin'] . "')"; $where .= " or horaFin < '" . $data['hFin'] . "' and horaFin > '" . $data['hInicio'] . "')"; $where .= " and recurso_id != " . $id_recurso; $numEventosOtroRecurso = Evento::where('user_id', '=', Auth::user()->id)->where('fechaEvento', '=', date('Y-m-d', strtotime($data['fEvento'])))->whereRaw($where)->count(); if ($numEventosOtroRecurso > 0) { return true; } } }); } //req1: alumno solo pueden reservar entre firstMonday y lastFriday if (!empty($data['fInicio']) && strtotime($data['fInicio']) != false) { $v->sometimes('fInicio', 'req1', function ($data) { if (Auth::user()->isUser()) { if (sgrCalendario::fristMonday() > strtotime($data['fInicio']) || sgrCalendario::lastFriday() < strtotime($data['fInicio'])) { return true; } } }); } //req2: alumno supera el máximo de horas a la semana (12) // empty($data['action'] -> solo se comprueba en la reserva nueva (add) if (!empty($data['hFin']) && !empty($data['hInicio']) && empty($data['action'])) { $v->sometimes('hFin', 'req2', function ($data) { if (Auth::user()->isUser()) { $nh = Auth::user()->numHorasReservadas(); //Número de horas ya reservadas $nh2 = sgrDate::diffHours($data['hInicio'], $data['hFin']); //números de horas que se quiere reservar $maximo = Config::get('options.max_horas'); $credito = $maximo - $nh; //número de horas que aún puede el alumno reservar if ($credito < $nh2) { return true; } } }); } //deshabilitado if (isset($data['id_recurso']) && $data['id_recurso'] != 0) { $v->sometimes('titulo', 'deshabilitado', function ($data) { if (1 == Recurso::findOrFail($data['id_recurso'])->disabled) { return true; } }); } //req3: if (isset($data['fInicio']) && strtotime($data['fInicio']) != false && isset($data['dias'])) { $v->sometimes('titulo', 'req3', function ($data) { $idrecurso = $data['id_recurso']; $recurso = Recurso::findOrFail($idrecurso); $sgrRecurso = RecursoFactory::getRecursoInstance($recurso->tipo); $sgrRecurso->setRecurso($recurso); $excluyeId = ''; if (isset($data['idSerie'])) { $excluyeId = $data['idSerie']; } return $sgrRecurso->recursoOcupado($data, $excluyeId); }); } //req4: Sábados y domingos no se puede reservar if (isset($data['dias'])) { $v->sometimes('dias', 'req4', function ($data) { $dias = $data['dias']; // 0 = domingo, 6 = sábado if (in_array('0', $dias) || in_array('6', $dias)) { return true; } }); } //Req5: // --> alumnos y pdi (capacidades 1 y 2): solo pueden reservar a partir de firstmonday if (!empty($data['fInicio']) && strtotime($data['fInicio']) != false) { $v->sometimes('fInicio', 'req5', function ($data) { if (Auth::user()->isAvanceUser()) { if (sgrCalendario::fristMonday() > strtotime($data['fInicio'])) { return true; } } }); } //Req6: // --> técnicos (capacidad 3, 4 y 5): reservas a partir del día de hoy (para mañana) if (!empty($data['fInicio']) && strtotime($data['fInicio']) != false) { $v->sometimes('fInicio', 'req6', function ($data) { if (Auth::user()->isTecnico()) { if (strtotime('today') > strtotime($data['fInicio'])) { return true; } } }); } //after: fInicio & fFin > today if (!empty($data['fInicio']) && strtotime($data['fInicio']) != false) { $intFinicio = strtotime($data['fInicio']); $intNow = strtotime('now'); $intDiaAnterior = strtotime('-1 day', $intFinicio); //fecha posterior al día actual $v->sometimes('fInicio', 'after:' . date('d-m-Y', $intDiaAnterior), function ($data) { return true; }); //fecha fin mayor o igual que fecha inicio => mayor que el día anterior a fecha inicio if ($data['repetir'] == 'CS') { $v->sometimes('fFin', 'required|date|date_format:Y-m-d|after:' . date('d-m-Y', $intDiaAnterior), function ($data) { return true; }); } } //after:hinicio < hfin if (!empty($data['hInicio'])) { $aHini = explode(':', $data['hInicio']); $timehorainicio = mktime($aHini[0], $aHini[1]); $v->sometimes('hFin', 'required|date_format:H:i|after:' . date('H:i', $timehorainicio), function ($data) { return true; }); } // requisito: reservas debe finalizar dentro del curso académico actual (Restringido a todos los usuarios menos a los validadores) if (!empty($data['fFin']) && !empty($data['repetir']) && !Auth::user()->isValidador()) { $v->sometimes('fFin', 'datefincurso', function ($data) { $fechaFinCurso = Config::get('options.fin_cursoAcademico'); $fechaMaximaEvento = $data['fEvento']; if ($data['repetir'] == 'CS') { $fechaMaximaEvento = $data['fFin']; } //Reptición cada semana if (strtotime($fechaMaximaEvento) > strtotime($fechaFinCurso)) { return true; } }); } // requisito dateiniciocurso: lasreservas debe de ser posteriores a la fecha de inicio curso actual (Restringido a usuarios alumnos, pdi, administradores y tecnicos) if (!empty($data['fInicio']) && !Auth::user()->isValidador() && !Auth::user()->isAdmin()) { $v->sometimes('fInicio', 'dateiniciocurso', function ($data) { $hoy = strtotime('today'); $diaInicio = strtotime(Config::get('options.inicio_gestiondesatendida')); if ($diaInicio > $hoy) { return true; } }); } // check for failure if ($v->fails()) { $this->errors = $v->messages()->toArray(); return false; } $this->data = $data; //return false; // validation pass return true; }
public function attribute($id) { $proyecto = Proyecto::find($id); $patrocinadores = PatrocinadorProyecto::getListPatrocinadores($id); $patrocinadorp = $proyecto->patrocinador; $empleados = EmpleadoProyecto::getListEmpleados($id); $interesados = InteresadoProyecto::getListInteresados($id); $recursos = Recurso::getListRecursos($id); $riesgos = RiesgoInicial::getListRiesgos($id); $restricciones = Restriccion::getListRestricciones($id); $actividades = Actividad::getListActividades($id); $this->layout->title = 'Atributos de Proyecto'; $this->layout->titulo = 'Gestión de Proyectos'; $this->layout->nest('content', 'proyectos.attribute', array('proyecto' => $proyecto, 'patrocinadores' => $patrocinadores, 'patrocinadorp' => $patrocinadorp, 'empleados' => $empleados, 'interesados' => $interesados, 'recursos' => $recursos, 'riesgos' => $riesgos, 'restricciones' => $restricciones, 'actividades' => $actividades)); }
Route::post('delajaxevent', array('uses' => 'EventoController@del', 'before' => array('auth', 'ajax_check'))); Route::post('finalizaevento', array('uses' => 'EventoController@finalizar', 'before' => array('auth', 'ajax_check'))); Route::post('anulaevento', array('uses' => 'EventoController@anular', 'before' => array('auth', 'ajax_check'))); //*** //Atención de eventos Route::get('tecnico/getUserEvents', array('uses' => 'EventoController@getUserEvents', 'before' => array('auth', 'capacidad:3-4,msg'))); Route::post('tecnico/saveAtencion', array('uses' => 'EventoController@atender', 'before' => array('auth', 'capacidad:3-4,msg'))); Route::get('print', array('uses' => 'CalendarController@imprime')); Route::get('report', array('as' => 'report.html', 'uses' => 'AuthController@report')); App::missing(function ($exception) { $pagetitle = Config::get('msg.404pagetitleLogin'); $paneltitle = Config::get('msg.404paneltitle'); $msg = Config::get('msg.404msg'); $alertLevel = 'warning'; return View::make('message')->with(compact('msg', 'pagetitle', 'paneltitle', 'alertLevel')); }); App::error(function (ModelNotFoundException $e) { $pagetitle = Config::get('msg.objectNoFoundpagetitle'); $paneltitle = Config::get('msg.objectNoFoundpagetitlepaneltitle'); $msg = Config::get('msg.objectNoFoundmsg'); $alertLevel = 'danger'; return View::make('message')->with(compact('msg', 'pagetitle', 'paneltitle', 'alertLevel')); }); //** Route::get('test', array('as' => 'test', function () { $recurso = Recurso::findOrFail('115'); $sgrRecurso = Factoria::getRecursoInstance($recurso); echo $sgrRecurso->delEventos(); })); //Route::get('admin/user.html',array('uses' => 'UsersController@user','before' => array('auth','auth_ajax','capacidad:4,msg'))); //??? //Route::get('admin/adduser.html',array('as' => 'adduser','uses' => 'UsersController@newUser','before' => array('auth','capacidad:4,msg'))); //?
/** * // Añade recursos existentes sin grupo asisagnado a un grupo * * @param Input::get('grupo_id') int indetificador de grupo * @param Input::get('idrecursos') array indentificadores de recursos añadir al grupo * * @return $result array(boleano,string) */ public function ajaxAddrecursoSingrupo() { // :) //Input $id = Input::get('grupo_id', ''); $idrecursos = Input::get('idrecursos', array()); //Output $result = 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' => Config::get('msg.idnotfound')); $validator = Validator::make(Input::all(), $rules, $messages); //Save Input or return error if ($validator->fails()) { $result['errors'] = $validator->errors()->toArray(); $result['error'] = true; } else { foreach ($idrecursos as $idrecurso) { Recurso::find($idrecurso)->update(array('grupo_id' => $id)); } $result['msg'] = (string) View::make('msg.success')->with(array('msg' => Config::get('msg.success'))); } return $result; }