<?php /* * ©2013 Croce Rossa Italiana */ paginaPrivata(); $parametri = array('id', 'inputGruppo'); controllaParametri($parametri); $t = $_GET['id']; $g = $_POST['inputGruppo']; $g = Gruppo::id($g); /* Cerco se già iscritto a gruppo */ $x = AppartenenzaGruppo::filtra([['volontario', $t], ['gruppo', $g]]); /* Se sono già appartenente *ora*, * restituisco errore */ foreach ($x as $app) { if ($app->attuale()) { redirect('utente.gruppo&e'); break; } } /*Se non sono appartenente allora avvio la procedura*/ $t = new AppartenenzaGruppo(); $t->volontario = $me; $t->comitato = $g->comitato(); $t->gruppo = $g; $t->inizio = time(); $t->timestamp = time(); redirect('utente.gruppo&ok');
<?php /* * ©2013 Croce Rossa Italiana */ controllaParametri(array('id'), 'gruppi.dash&err'); $gruppo = $_GET['id']; $gruppo = Gruppo::id($gruppo); proteggiClasse($gruppo, $me); ?> <form action="?p=gruppo.modifica.ok" method="POST"> <input type="hidden" name="id" value="<?php echo $gruppo->id; ?> " /> <div class="modal fade automodal"> <div class="modal-header"> <h3><i class="icon-group"></i> Modifica gruppo</h3> </div> <div class="modal-body"> <div class="row-fluid"> <div class="span4 centrato"> <label class="control-label" for="inputNome"> Nome Gruppo</label> </div> <div class="span8"> <input value="<?php echo $gruppo->nome; ?> "class="input-medium" type="text" name="inputNome" id="inputNome" required>
public function trasferisci($auto = false, $data = false) { if ($data) { $ora = $data; } else { $ora = time(); } $this->tConferma = $ora; if ($auto) { $this->stato = TRASF_AUTO; } else { global $sessione; $this->stato = TRASF_OK; $this->pConferma = $sessione->utente(); } $v = $this->volontario(); $a = $v->appartenenzaAttuale(); $c = $a->comitato(); /* Chiusura delle estensioni in corso*/ $e = Estensione::filtra([['volontario', $v], ['stato', EST_OK]]); foreach ($e as $_e) { $_e->termina(); } /* Chiudo eventuale riserva in corso*/ $r = Riserva::filtra([['volontario', $v], ['stato', RISERVA_OK]]); foreach ($r as $_r) { $_r->fine = $ora; $_r->stato = RISERVA_INT; } /* Chiudo tutto ciò che è legato all'appartenenza attuale */ // chiudo le deleghe su quel comitato $presidente = $c->primoPresidente(); $d = Delegato::filtra([['volontario', $v]]); foreach ($d as $_d) { if ($_d->attuale()) { $_d->fine = $ora; } } // chiudo le attività referenziate $att = Attivita::filtra([['referente', $v->id], ['comitato', $c->id]]); foreach ($att as $_att) { $_att->referente = $presidente->id; } // rimetto al presidente i gruppi $g = Gruppo::filtra([['referente', $v->id], ['comitato', $c->id]]); foreach ($g as $_g) { $_g->referente = $presidente->id; } // chiudo l'appartenenza ad un gruppo $ag = AppartenenzaGruppo::filtra([['volontario', $v->id], ['comitato', $c->id]]); foreach ($ag as $_ag) { $_ag->cancella(); } // chiudo le reperibilità $re = Reperibilita::filtra([['volontario', $v->id], ['comitato', $c->id]]); foreach ($re as $_re) { $_re->cancella(); } // chiudo le partecipazioni $p = Partecipazione::filtra([['volontario', $v->id]]); foreach ($p as $_p) { if ($_p->turno()->futuro()) { $_p->cancella(); } } /* Chiudo eventuale richiesta di tesserini o invalido l'attuale */ $motivo = "Trasferimento presso altro comitato"; $v->invalidaTesserino($motivo); /* Posso chiudere definitivamente la vecchia appartenenza */ $a = Appartenenza::id($a); $a->timestamp = $ora; $a->fine = $ora; $a->stato = MEMBRO_TRASFERITO; /* A questo punto rendo operativa la nuova appartenenza */ $nuovaApp = $this->appartenenza(); $nuovaApp->timestamp = $ora; $nuovaApp->stato = MEMBRO_VOLONTARIO; if (!$auto) { $nuovaApp->conferma = $sessione->utente()->id; } $nuovaApp->inizio = $ora; $nuovaApp->fine = PROSSIMA_SCADENZA; $destinatari = [$v, $presidente, $nuovaApp->comitato()->unPresidente()]; $m = new Email('richiestaTrasferimentook', 'Approvata richiesta trasferimento verso: ' . $nuovaApp->comitato()->nome); if (!$auto) { $m->da = $sessione->utente(); } $m->a = $destinatari; $m->_NOME = $nuovaApp->volontario()->nomeCompleto(); $m->_COMITATO = $nuovaApp->comitato()->nomeCompleto(); $m->_TIME = $this->dataRichiesta()->format('d/m/Y'); $m->accoda(); }
public function termina() { $this->timestamp = time(); $this->stato = EST_CONCLUSA; $app = $this->appartenenza(); $app->stato = MEMBRO_EST_TERMINATA; $app->fine = time(); $c = $app->comitato(); $v = $this->volontario(); // chiudo le deleghe su quel comitato $d = $v->delegazioni(null, $c->id); foreach ($d as $_d) { $_d->fine = $ora; } // chiudo le attività referenziate $a = Attivita::filtra([['referente', $v->id], ['comitato', $c->id]]); $presidente = $c->unPresidente(); foreach ($a as $_a) { $_a->referente = $presidente->id; } // rimetto al presidente i gruppi $g = Gruppo::filtra([['referente', $v->id], ['comitato', $c->id]]); foreach ($g as $_g) { $_g->referente = $presidente->id; } // chiudo l'appartenenza ad un gruppo $ag = AppartenenzaGruppo::filtra([['volontario', $v->id], ['comitato', $c->id]]); foreach ($ag as $_ag) { $_ag->cancella(); } // chiudo le reperibilità $r = Reperibilita::filtra([['volontario', $v->id], ['comitato', $c->id]]); foreach ($r as $_r) { $_r->cancella(); } // chiudo le partecipazioni $p = Partecipazione::filtra([['volontario', $v->id]]); foreach ($p as $_p) { if ($_p->turno()->futuro() && $_p->turno()->attivita()->comitato() == $c->id) { $_p->cancella(); } } // mando email per avvisare dello spiacevole evento :o( $destinatari = [$v, $app->comitato()->unPresidente(), $v->unComitato()->unPresidente()]; $m = new Email('richiestaEstensioneConclusa', 'Termine estensione: ' . $app->comitato()->nome); $m->a = $destinatari; $m->_NOME = $app->volontario()->nomeCompleto(); $m->_COMITATO = $app->comitato()->nomeCompleto(); $m->accoda(); }
<?php /* * ©2013 Croce Rossa Italiana */ paginaAdmin(); ?> <h3><i class="icon-users muted"></i> Fix estensione gruppi</h3> <pre> <code> <?php $inizio = time(); $i = 0; $gruppi = Gruppo::elenco(); echo '<br><strong>Avviata procedura di fix estensione gruppi</strong><br><br>'; foreach ($gruppi as $gruppo) { if ($gruppo->estensione != null) { continue; } $est = $gruppo->attivita()->comitato()->_estensione(); echo 'Gruppo ID:[' . $gruppo->id . '] -> fix '; if ($est == EST_REGIONALE) { $gruppo->estensione = EST_GRP_REGIONALE; } elseif ($est == EST_PROVINCIALE) { $gruppo->estensione = EST_GRP_PROVINCIALE; } elseif ($est == EST_LOCALE) { $gruppo->estensione = EST_GRP_LOCALE; } else { $gruppo->estensione = EST_GRP_UNITA; }
$d->tConferma = time(); $d->pConferma = $me; /* Evitiamo di lasciare compiti a chi non è più in CRI */ $f = Area::filtra([['responsabile', $v]]); foreach ($f as $_f) { $_f->dimettiReferente(); } $f = Attivita::filtra([['referente', $v]]); foreach ($f as $_f) { $_f->referente = $comitato->unPresidente(); } $f = Autorizzazione::filtra([['volontario', $v]]); foreach ($f as $_f) { $_f->volontario = $comitato->unPresidente(); } $f = Gruppo::filtra([['referente', $v]]); foreach ($f as $_f) { $_f->referente = $comitato->unPresidente(); } $f = AppartenenzaGruppo::filtra([['volontario', $v]]); foreach ($f as $_f) { $_f->cancella(); } $f = Reperibilita::filtra([['volontario', $v]]); foreach ($f as $_f) { $_f->fine = time(); } $f = Estensione::filtra([['volontario', $v]]); foreach ($f as $_f) { if ($_f->stato == EST_OK || $_f->stato == EST_AUTO) { $_f->termina();
/** * Dimette un volontario * @param $motivo, motivazione di dimissione * @param $info default NULL, informazioni aggiuntive sulla dimissione */ public function dimettiVolontario($motivo, $info = NULL, $chi) { $quando = time(); $v = $this->volontario(); $attuale = $v->appartenenzaAttuale(); $comitato = $attuale->comitato(); $motivazione = $conf['dimissioni'][$motivo]; $fine = time(); /* Avviso il volontario */ $m = new Email('dimissionevolontario', 'Dimissione Volontario: ' . $v->nomeCompleto()); $m->da = $chi; $m->a = $v; $m->_NOME = $v->nome; $m->_MOTIVO = $motivazione; $m->_INFO = $info; $m->invia(); /* Creo la dimissione */ $d = new Dimissione(); $d->volontario = $v->id; $d->appartenenza = $attuale; $d->comitato = $comitato; $d->motivo = $motivo; $d->info = $info; $d->tConferma = time(); $d->pConferma = $chi; /* Evitiamo di lasciare compiti a chi non è più in CRI */ $f = Area::filtra([['responsabile', $v]]); foreach ($f as $_f) { $_f->dimettiReferente(); } $f = Attivita::filtra([['referente', $v]]); foreach ($f as $_f) { $_f->referente = $comitato->unPresidente(); } $f = Autorizzazione::filtra([['volontario', $v]]); foreach ($f as $_f) { $_f->volontario = $comitato->unPresidente(); } $f = Gruppo::filtra([['referente', $v]]); foreach ($f as $_f) { $_f->referente = $comitato->unPresidente(); } $f = AppartenenzaGruppo::filtra([['volontario', $v]]); foreach ($f as $_f) { $_f->cancella(); } $f = Reperibilita::filtra([['volontario', $v]]); foreach ($f as $_f) { $_f->fine = $fine; } $f = Estensione::filtra([['volontario', $v]]); foreach ($f as $_f) { if ($_f->stato == EST_OK || $_f->stato == EST_AUTO) { $_f->termina(); } elseif ($_f->stato == EST_INCORSO) { $_f->nega($motivazione); } } $f = Riserva::filtra([['volontario', $v]]); foreach ($f as $_f) { if ($_f->stato == RISERVA_OK || $_f->stato == RISERVA_AUTO) { $_f->termina(); } elseif ($_f->stato == RISERVA_INCORSO) { $_f->nega($motivazione); } } $f = Trasferimento::filtra([['volontario', $v]]); foreach ($f as $_f) { if ($_f->stato == TRASF_INCORSO) { $_f->nega($motivazione); } } $p = Partecipazione::filtra([['volontario', $v]]); foreach ($p as $_p) { if ($_p->turno()->futuro() && $_p->turno()->attivita()->comitato() == $c->id) { $_p->cancella(); } } $f = Delegato::filtra([['volontario', $v]]); foreach ($f as $_f) { $_f->fine = $fine; } /* Chiudo l'appartenenza e declasso a persona */ $attuale->fine = $fine; $attuale->stato = MEMBRO_DIMESSO; $v->stato = PERSONA; $v->admin = null; return; }
<?php /* * ©2013 Croce Rossa Italiana */ paginaPresidenziale(); paginaModale(); controllaParametri(array('id'), 'gruppi.dash&err'); $gruppo = Gruppo::id($_GET['id']); proteggiClasse($gruppo, $me); if ($gruppo->comitato()->_estensione() >= EST_PROVINCIALE) { redirect('gruppi.dash&err'); } ?> <form action="?p=gruppo.estensione.ok" method="POST"> <input type="hidden" name="id" value="<?php echo $gruppo->id; ?> " /> <div class="modal fade automodal"> <div class="modal-header"> <h3><i class="icon-random"></i> Estensione per il gruppo di lavoro</h3> </div> <div class="modal-body"> <p><strong>Cosa è l'estensione ?</strong> <p>Permette di estendere il gruppo di lavoro dall'Unità Territoriale a tutto il Comitato Locale</p> <select class="input-large" id="inputEstensione" name="inputEstensione" required> <?php foreach ($conf['est_grp'] as $numero => $est) {
public function gruppo() { return Gruppo::id($this->gruppo); }
$puoPartecipare = false; if ($a->puoPartecipare($me)) { $puoPartecipare = true; } $anonimo = false; if ($me instanceof Anonimo) { $anonimo = true; } $geoComitato = GeoPolitica::daOid($a->comitato); $modificabile = $a->modificabileDa($me); if ($modificabile) { $dominio = $me->dominioCompetenzaAttivita($a); } $_titolo = $a->nome . ' - Attività CRI su Gaia'; $_descrizione = $a->luogo . " || Aperto a: " . $conf['att_vis'][$a->visibilita] . " || Organizzato da " . $geoComitato->nomeCompleto(); $g = Gruppo::by('attivita', $a); $apertura = $a->apertura; if (isset($_GET['riapri'])) { ?> <script type='text/javascript'> $(document).ready( function() { $('#turno_<?php echo $_GET['riapri']; ?> ').parents('tr').show(); $('#turno_<?php echo $_GET['riapri']; ?> ').modal('show'); }); </script>
<?php /* * ©2014 Croce Rossa Italiana */ paginaPrivata(); controllaParametri(array('id'), 'gruppi.dash&err'); $id = $_GET['id']; $gruppo = Gruppo::id($id); proteggiClasse($gruppo, $me); $appartenenti = AppartenenzaGruppo::filtra([['gruppo', $gruppo]]); foreach ($appartenenti as $appartenente) { $appartenente->cancella(); } $gruppo->cancella(); redirect('gruppi.dash&cancellato');
/** * 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(); }
<?php /* * ©2013 Croce Rossa Italiana */ paginaPrivata(); controllaParametri(array('id'), 'gruppi.dash&err'); $id = $_GET['id']; $g = Gruppo::id($id); proteggiClasse($g, $me); foreach ($_POST['volontari'] as $v) { $v = Volontario::id($v); $gp = AppartenenzaGruppo::filtra([['volontario', $v], ['gruppo', $g->id], ['fine', NULL]]); if ($gp) { continue; } $t = new AppartenenzaGruppo(); $t->volontario = $v; $t->comitato = $g->comitato(); $t->gruppo = $g; $t->inizio = time(); $t->timestamp = time(); $m = new Email('aggiuntogruppo', "Aggiunto al gruppo di lavoro {$g->nome}"); $m->a = $v; $m->da = $me; $m->_NOME = $v->nomeCompleto(); $m->_GRUPPO = $g->nome; $m->_REFERENTE = $g->referente()->nomecompleto(); $m->_CELLREFERENTE = $g->referente()->cellulare(); $m->invia(); }