<?php /* * ©2014 Croce Rossa Italiana */ paginaAdmin(); controllaParametri(['id']); $id = $_GET['id']; $u = Utente::id($id); if ($u->admin) { redirect('errore.permessi&cattivo'); } if ($u->stato == PERSONA and $u->ultimaAppartenenza(MEMBRO_DIMESSO)) { $u->stato = VOLONTARIO; $a = $u->ultimaAppartenenza(MEMBRO_DIMESSO); $a->stato = MEMBRO_VOLONTARIO; $a->fine = 0; $d = Dimissione::by('appartenenza', $a->id); $d->cancella(); } redirect("presidente.utenti");
/** * Controlla la riammissibilità entro l'anno solare di un volontario * @return true se volontario riammissibile false se non riammissibile */ public function riammissibile() { // appartenenza aperta di qualche tipo if ($this->appartenenzaAttuale()) { return false; } // fuori tempo $app = $this->ultimaAppartenenza(MEMBRO_DIMESSO); $limiteRiammissione = $app->fine + ANNO; if ($limiteRiammissione < time()) { return false; } // controllo tipo dimissione $dimissione = Dimissione::by('appartenenza', $app); if (!contiene($dimissione->motivo, [DIM_TURNO, DIM_QUOTA])) { return false; } return true; }
/** * Ritorna l'oggetto dimissione relativo all'appartenenza * @return Dimissione */ public function dimissione() { return Dimissione::by('appartenenza', $this); }