<?php /* * ©2013 Croce Rossa Italiana */ paginaAdmin(); controllaParametri(array('a')); $a = $_GET['a']; $app = Appartenenza::id($a); $v = $app->volontario; foreach (Coturno::filtra([['appartenenza', $app]]) as $coturno) { $coturno->cancella(); } foreach (Dimissione::filtra([['appartenenza', $app]]) as $dimissioni) { $dimissioni->cancella(); } foreach (Estensione::filtra([['appartenenza', $app]]) as $estensione) { $estensione->cancella(); } foreach (Quota::filtra([['appartenenza', $app]]) as $quote) { $quote->cancella(); } foreach (Trasferimento::filtra([['appartenenza', $app]]) as $trasferimento) { $trasferimento->cancella(); } foreach (Riserva::filtra([['appartenenza', $app]]) as $riserva) { $riserva->cancella(); } $app->cancella(); redirect('presidente.utente.visualizza&id=' . $v);
/** * 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; }
/** * Cancella il comitato con tutte le sue dipendenze * @param comitato */ public function cancella() { /* Cancello aree e responsabili */ $aree = Area::filtra([['comitato', $this]]); foreach ($aree as $area) { $area->cancella(); } /* Cancello le attività */ $attivita = Attivita::filtra([['comitato', $this]]); foreach ($attivita as $att) { $turni = Turno::filtra([['attivita', $att]]); foreach ($turni as $turno) { $partecipazioni = Partecipazione::filtra([['turno', $turno]]); foreach ($partecipazioni as $partecipazione) { $autorizzazioni = Autorizzazione::filtra([['partecipazione', $partecipazione]]); foreach ($autorizzazioni as $autorizzazione) { $autorizzazione->cancella(); } $partecipazione->cancella(); } $coturni = Coturno::filtra([['turno', $turno]]); foreach ($coturni as $coturno) { $coturno->cancella(); } $turno->cancella(); } $mipiaci = Like::filtra([['oggetto', $att->oid()]]); foreach ($mipiaci as $mipiace) { $mipiace->cancella(); } $att->cancella(); } /* Cancello le dimissioni */ $dimissioni = Dimissione::filtra([['comitato', $this]]); foreach ($dimissioni as $dimissione) { try { $appartenenza = $dimissione->appartenenza(); $appartenenza->cancella(); } catch (Exception $e) { } $dimissione->cancella(); } /* Cancello le dimissioni */ $estensioni = Estensione::filtra([['cProvenienza', $this]]); foreach ($estensioni as $estensione) { try { $appartenenza = $estensione->appartenenza(); $appartenenza->cancella(); } catch (Exception $e) { } $estensione->cancella(); } /* Cancello i gruppi personali */ $appgruppi = AppartenenzaGruppo::filtra([['comitato', $this]]); foreach ($appgruppi as $appgruppo) { $appgruppo->cancella(); } /* Cancello reperibilità */ $reperibilita = Reperibilita::filtra([['comitato', $t]]); foreach ($reperibilita as $reperibile) { $reperibile->cancella(); } /* Cancello appartenenze */ $appartenenze = Appartenenza::filtra([['comitato', $this]]); foreach ($appartenenze as $appa) { $riserve = Riserva::filtra([['appartenenza', $appa]]); foreach ($riserve as $riserva) { $riserva->cancella(); } $estensioni = Estensione::filtra([['appartenenza', $appa]]); foreach ($estensioni as $estensione) { $estensione->cancella(); } $trasferimenti = Trasferimento::filtra([['appartenenza', $appa]]); foreach ($trasferimenti as $trasferimento) { $trasferimento->cancella(); } $appa->cancella(); } parent::cancella(); }
<?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");
/** * Ritorna l'oggetto dimissione relativo all'appartenenza * @return Dimissione */ public function dimissione() { return Dimissione::by('appartenenza', $this); }
<?php /* * ©2013 Croce Rossa Italiana */ paginaApp([APP_SOCI, APP_PRESIDENTE]); controllaParametri(array('id')); $dimissione = Dimissione::id($_GET['id']); $v = Volontario::id($dimissione->volontario()); proteggiDatiSensibili($v, [APP_SOCI, APP_PRESIDENTE]); ?> <div class="row-fluid"> <div class="span12"> <div class="span9"> <div class="row-fluid"> <h2> <i class="icon-time muted"></i> Dettagli dimissione </h2> <p>Volontario: <strong><?php echo $v->nomeCompleto(); ?> </strong></p> </div> </div> <div class="span3 allinea-destra"> <div class="row-fluid"> <a href="?p=presidente.appartenenze.storico&id=<?php echo $v->id; ?> " class="btn btn-block">