/** * Edita un esdeveniment donat * @param string [$slug] slug de l'esdeveniment */ public function editarEsdeveniment($slug) { $emaillog = Auth::user()->email_estudiant; $estudiant = Estudiant::find($emaillog); $grups = $estudiant->grups; try { $esdeveniment = Esdeveniment::bySlug($slug); } catch (ModelNotFoundException $e) { return Redirect::route('esdeveniments.consulta'); } date_default_timezone_set("Europe/Madrid"); $ara = date("Y-m-d H:i:s"); if ($esdeveniment->getData() < $ara) { return Redirect::route('grups.meus'); } $autor_esd = $esdeveniment->autor; $grup = $esdeveniment->grup; if ($emaillog == $autor_esd->getEmail() && $grup->getActiu()) { if (Input::has('nom')) { $nom = Input::get('nom'); $nom = strip_tags($nom); $nom = trim($nom); $descripcio = Input::get('descripcio'); $descripcio = strip_tags($descripcio); $descripcio = trim($descripcio); $data = Input::get('data'); $hora = Input::get('hora'); $minut = Input::get('minut'); $id_grup = Input::get('grup'); $id_grup = strip_tags($id_grup); $validator = Validator::make(array('nombre' => $nom, 'fecha' => $data, 'hora' => $hora, 'minuto' => $minut, 'descripción' => $descripcio, 'grupo' => $id_grup), array('nombre' => array('required', 'max:60'), 'fecha' => array('required', 'date_format:"d/m/Y"'), 'hora' => array('required', 'numeric', 'between:0,23'), 'minuto' => array('required', 'numeric', 'between:0,55'), 'descripción' => array('max:255'), 'grupo' => array('required'))); if ($validator->fails()) { return Redirect::route('esdeveniment.editar', array('slug' => $slug))->withErrors($validator); } $dia = substr($data, 0, 2); $mes = substr($data, 3, 2); $any = substr($data, 6, 8); /*Afegim un zero davant per complir amb l'especificaió del tipus DATE*/ if ($hora < 10) { $hora2 = '0' . $hora; } else { $hora2 = $hora; } $data_final = $any . '-' . $mes . '-' . $dia . ' ' . $hora2 . ':' . $minut . ':' . '00'; $esdeveniment->nom_esdeveniment = $nom; $esdeveniment->descripcio_esdeveniment = $descripcio; $esdeveniment->estudiant_email = $emaillog; $esdeveniment->grup_id_grup = $id_grup; $esdeveniment->data_esdeveniment = $data_final; try { $grup = Grup::findOrFail($id_grup); } catch (ModelNotFoundException $e) { return Redirect::route('esdeveniments.consulta'); } $grups = Auth::user()->grups()->lists('id_grup'); /*Comprovació de que l'estudiant estigui matriculat al grup i estigui actiu*/ if (in_array($grup->getID(), $grups) && $grup->getActiu()) { $esdeveniment->save(); } else { return Redirect::route('esdeveniments.consulta'); } return Redirect::route('esdeveniments.consulta'); } else { $this->layout->title = 'Workshome - Editar ' . $esdeveniment->getNom(); $this->layout->description = 'Editar la información de un evento'; $this->layout->content = View::make('esdeveniments/editar', array('grups' => $grups, 'esdeveniment' => $esdeveniment)); } } else { return Redirect::route('esdeveniments.consulta'); } }
/** * Crea una nova solicitud per a entrar a un grup * @param integer [$id] identificador del grup */ public function novaSolicitud($id) { $emaillog = Auth::user()->email_estudiant; try { $estudiant = Estudiant::findOrFail($emaillog); } catch (ModelNotFoundException $e1) { return Redirect::route('grups.meus'); } try { $grup = Grup::findOrFail($id); } catch (ModelNotFoundException $e2) { return Redirect::route('grups.meus'); } $estudiant->solicitudGrup($grup); $slug = $grup->getSlug(); return Redirect::route('grup.consulta', array('slug' => $slug)); }
/** * Solicitud d'un estudiant per formar part d'un grup * @param string [$slug] slug de l'estudiant * @param integer [$grup] identificador del grup */ public function solMatriculaEstudiant($slug, $grup) { try { $est = Estudiant::bySlug($slug); } catch (ModelNotFoundException $e1) { return Redirect::route('grups.meus'); } try { $gr = Grup::findOrFail($grup); } catch (ModelNotFoundException $e2) { return Redirect::route('grups.meus'); } $est->matricularGrup($gr); $est->cancelSolicitudGrup($gr); return Redirect::route('estudiant.solicituds', array('slug' => $gr->getSlug())); }