/** * Retorna el nombre d'esdeveniments totals d'un estudiant (suma de tots els grups) * @param string [$email] email de l'estudiant */ public static function num_byEstudiant($email) { return Esdeveniment::byEstudiant($email)->count(); }
/** * Retorna el nombre d'esdeveniments d'un estudiant (Utilitza Model Esdeveniment) */ public function num_esdeveniments() { return Esdeveniment::num_byEstudiant($this->getEmail()); }
/** * Eliminació d'un esdeveniment * @param integer [$id] identificador de l'esdeveniment */ public function eliminarEsdeveniment($id) { try { $esdeveniment = Esdeveniment::findOrFail($id); } catch (ModelNotFoundException $e) { return Redirect::route('esdeveniments.consulta'); } $emaillog = Auth::user()->email_estudiant; $autor_esd = $esdeveniment->autor; $grup = $esdeveniment->grup; date_default_timezone_set("Europe/Madrid"); $ara = date("Y-m-d H:i:s"); $esdeveniment_actiu = $esdeveniment->data_esdeveniment > $ara; if ($emaillog == $autor_esd->getEmail() && $grup->getActiu() && $esdeveniment_actiu) { if ($esdeveniment->num_aportacions() > 0) { $aportacions = $esdeveniment->aportacions; foreach ($aportacions as $aportacio) { if ($aportacio->num_comentaris() > 0) { $comentaris = $aportacio->comentaris; foreach ($comentaris as $comentari) { $comentari->delete(); } } $aportacio->delete(); } } $esdeveniment->delete(); } return Redirect::route('esdeveniments.consulta'); }