示例#1
0
文件: Utente.php 项目: pizar/gaia
 public function cancella()
 {
     // 1. Cancella il mio avatar
     $this->avatar()->cancella();
     Avatar::cancellaTutti([['utente', $this->id]]);
     // 2. Cancella le mie appartenenze ai gruppi
     Appartenenza::cancellaTutti([['volontario', $this->id]]);
     // 3. Cancella le mie partecipazioni
     Partecipazione::cancellaTutti([['volontario', $this->id]]);
     // 4. Elimina le autorizzazioni che mi sono state chieste
     Autorizzazione::cancellaTutti([['volontario', $this->id]]);
     // 5. Elimina tutte le delegazioni che mi sono associate
     Delegato::cancellaTutti([['volontario', $this->id]]);
     // 6. Riassegna le Aree al primo presidente a salire l'albero
     foreach ($this->areeDiResponsabilita() as $a) {
         $a->responsabile = $a->comitato()->primoPresidente();
     }
     // 7. Commenti lasciati in giro
     Commento::cancellaTutti([['volontario', $this->id]]);
     // 8. Gruppi di cui sono referente
     Gruppo::cancellaTutti([['referente', $this->id]]);
     // 9. Gruppi di cui faccio parte
     AppartenenzaGruppo::cancellaTutti([['volontario', $this->id]]);
     // 10. Estensioni mie
     Estensione::cancellaTutti([['volontario', $this->id]]);
     // 10. Mie Riserve
     Riserva::cancellaTutti([['volontario', $this->id]]);
     // 11. Mie reperibilita'
     Reperibilita::cancellaTutti([['volontario', $this->id]]);
     // 13. Titoli personali
     TitoloPersonale::cancellaTutti([['volontario', $this->id]]);
     // 14. PartecipazioniBase
     PartecipazioneBase::cancellaTutti([['volontario', $this->id]]);
     // 15. Provvedimenti
     Provvedimento::cancellaTutti([['volontario', $this->id]]);
     // 16. Aspirante
     Aspirante::cancellaTutti([['utente', $this->id]]);
     // 17. Attivita di cui sono referente
     foreach (Attivita::filtra([['referente', $this->id]]) as $a) {
         $a->referente = $a->comitato() ? $a->comitato()->primoPresidente() : null;
     }
     // 18. Corsi base cui sono direttore
     foreach (CorsoBase::filtra([['direttore', $this->id]]) as $c) {
         $a->direttore = $a->organizzatore() ? $a->organizzatore()->primoPresidente() : null;
     }
     // 19. Coturni
     Coturno::cancellaTutti([['volontario', $this->id]]);
     // 20. Dimissioni
     Dimissione::cancellaTutti([['volontario', $this->id]]);
     // 21. Documenti
     Documento::cancellaTutti([['volontario', $this->id]]);
     // 22. Fototessere
     Fototessera::cancellaTutti([['utente', $this->id]]);
     // 23. Privacy
     Privacy::cancellaTutti([['volontario', $this->id]]);
     // 24. Richiesta tesserino
     TesserinoRichiesta::cancellaTutti([['volontario', $this->id]]);
     parent::cancella();
 }
示例#2
0
 /**
  * Cancella Geopolitica
  * @param GeoPolitica
  */
 public function cancella()
 {
     $oid = $this->oid();
     /* Cancello autoparchi e veicoli ad esso associati li passo al nazionale */
     Autoparco::cancellaTutti([['comitato', $oid]]);
     /* Cancello i corsi base */
     CorsoBase::cancellaTutti([['comitato', $oid]]);
     /* Cancello i delegati */
     Delegato::cancellaTutti([['comitato', $oid]]);
     /* Cancello i gruppi */
     Gruppo::cancellaTutti([['comitato', $oid]]);
     /* Assegno veicoli a nazionale */
     Veicolo::cancellaTutti([['comitato', $oid]]);
     parent::cancella();
 }