/**
  * Cerca els estudiants actius per nom i cognoms segons el text introduit
  */
 public function cercaEstudiants()
 {
     $text = Input::get('text');
     $text = strip_tags($text);
     $text = trim($text);
     $estudiants = Estudiant::resultat($text);
     $num_est = Estudiant::num_resultat($text);
     $this->layout->title = 'Workshome - Búsqueda ' . $text;
     $this->layout->description = 'Búsqueda de estudiantes';
     $this->layout->content = View::make('cerca/resultat_estudiants', array('estudiants' => $estudiants, 'num_est' => $num_est, 'text' => $text));
 }
Example #2
0
 /**
  * Retorna el nombre d'estudiants que coincideixen amb la cerca
  * @param string [$text] text introduit per l'estudiant
  */
 public static function num_resultat($text)
 {
     return Estudiant::resultat($text)->count();
 }
        echo route("grup.nou");
        ?>
" class="alert-link">Crea uno nuevo</a>
	      	</div>
			<?php 
    } else {
        ?>
			
			<table class="table table-striped table-bordered table-hover">
				<tr class="success" style="text-align:center">
					<td>Grupos que modero</td>
					<td>Matricular/Desmatricular</td>
				</tr>
			<?php 
        $current = $estudiant->grups()->lists('id_grup');
        $jo = Estudiant::find($emaillog);
        $meus_grups = $jo->grups;
        foreach ($meus_grups as $grup) {
            ?>
	
						<tr style="text-align: center">
					<?php 
            $moderador = $grup->getEmail();
            if ($moderador == $emaillog && $emaillog != $estudiant->getEmail()) {
                if (in_array($grup->getID(), $current)) {
                    ?>
	
							<td>
							<?php 
                    echo "Persona matriculada en: " . $grup->getNom();
                    ?>
 /**
  * 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));
 }
 /**
  * Elimina una assignatura d'un grup i totes les seves aportacions
  * i comentaris
  * @param string [$slug] slug d'una assignatura
  */
 public function eliminarAssignatura($slug)
 {
     $emaillog = Auth::user()->email_estudiant;
     try {
         $estudiant = Estudiant::findOrFail($emaillog);
     } catch (ModelNotFoundException $e) {
         return Redirect::route('grups.meus');
     }
     try {
         $assignatura = Assignatura::bySlug($slug);
     } catch (ModelNotFoundException $e) {
         return Redirect::route('grups.meus');
     }
     $grup = $assignatura->grup;
     /*Comprovam que sigui el moderador del grup 
       al qual pertany l'assignatura i el grup estigui actiu*/
     if ($emaillog == $grup->getEmail() && $grup->getActiu()) {
         if ($assignatura->num_aportacions() > 0) {
             $aportacions = $assignatura->aportacions;
             foreach ($aportacions as $aportacio) {
                 if ($aportacio->num_comentaris() > 0) {
                     $comentaris = $aportacio->comentaris;
                     foreach ($comentaris as $comentari) {
                         $comentari->delete();
                     }
                 }
                 $aportacio->delete();
             }
         }
         $assignatura->delete();
     }
     return Redirect::route('grups.meus');
 }
Example #6
0
	<?php 
echo Form::text('nom', $estudiant->getNom(), array('class' => 'form-control', 'required', 'maxlength' => '45'));
?>
	<br/> 
	<?php 
echo Form::text('cognoms', $estudiant->getCognoms(), array('class' => 'form-control', 'required', 'maxlength' => '150'));
?>
	<br/> 			
	
	<?php 
echo Form::label('fecha', 'Fecha de nacimiento: ');
?>
	<br/> 
	<?php 
$emaillog = Auth::user()->email_estudiant;
$estudiant = Estudiant::find($emaillog);
$mi_nacimiento = $estudiant->getData();
$mi_dia = date("d", strtotime($mi_nacimiento));
$mi_mes = date("m", strtotime($mi_nacimiento));
$mi_any = date("Y", strtotime($mi_nacimiento));
echo Form::selectRange('dia', 1, 31, $mi_dia, array('class' => 'form-control', 'style' => 'width:85px; float:left; margin-right:45px; margin-left:35px;'));
echo Form::selectRange('mes', 1, 12, $mi_mes, array('class' => 'form-control', 'style' => 'width:85px; float:left; margin-right:45px'));
echo Form::selectRange('any', 2000, 1910, $mi_any, array('class' => 'form-control', 'style' => 'width:100px; float:left; margin-right:10px'));
?>
			
	<br/>
	<br/>
	<br/>			
	<?php 
echo Form::submit('Actualizar', array('class' => 'btn btn-primary btn-sm', 'style' => 'float:right;'));
echo Form::close();
 /**
  * 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');
     }
 }
 /**
  * Permet a l'estudiant canviar la seva contrasenya
  */
 public function canviarContrasenya()
 {
     if (Input::has('antigaContrasenya')) {
         $contAntiga = Input::get('antigaContrasenya');
         $contAntiga = strip_tags($contAntiga);
         $contAntiga = trim($contAntiga);
         $contNova = Input::get('novaContrasenya');
         $contNova = strip_tags($contNova);
         $contNova = trim($contNova);
         $email = Auth::user()->email_estudiant;
         $validator = Validator::make(array('Contraseña actual' => $contAntiga, 'Contraseña nueva' => $contNova), array('Contraseña actual' => array('required', 'min:6', 'max:20'), 'Contraseña nueva' => array('required', 'min:6', 'max:20')));
         if ($validator->fails()) {
             return Redirect::route('canviar.contrasenya')->withErrors($validator);
         }
         if (Auth::validate(array('email_estudiant' => $email, 'password' => $contAntiga, 'actiu_estudiant' => 1))) {
             try {
                 $estudiant = Estudiant::findOrFail($email);
             } catch (ModelNotFoundException $e) {
                 return Redirect::route('grups.meus');
             }
             $estudiant->contrasenya_estudiant = Hash::make($contNova);
             $estudiant->save();
             Auth::logout();
             Auth::attempt(array('email_estudiant' => $email, 'password' => $contNova));
             return Redirect::route('grups.meus');
         } else {
             return Redirect::route('canviar.contrasenya')->with('canvi', 'error');
         }
     } else {
         $this->layout->title = 'Workshome - Cambiar contraseña';
         $this->layout->description = 'Cambiar contraseña actual';
         $this->layout->content = View::make('estudiants/canviarContrasenya');
     }
 }