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(); }
/** * 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(); }