function menuVolontario() { global $me; $iscritto = (bool) $me->partecipazioniBase(ISCR_CONFERMATA); if ($me && $me->stato == ASPIRANTE && !$iscritto) { menuAspirante(); return; } elseif ($me && ($me->ordinario() || $me->ordinariodimesso())) { menuOrdinario(); return; } $d = Delegato::filtra([['volontario', $me->id]]); if ($d && !$me->admin()) { scegliRuolo(); } include './inc/part/utente.menu.php'; }
<th>Nome</th> <th>Cognome</th> <th>Azioni</th> </thead> <?php foreach ($ramo as $com) { ?> <tr class="success"> <td colspan="4" class="grassetto"> <?php echo $com->nomeCompleto(); ?> </td> </tr> <?php $delegati = Delegato::filtra([['comitato', $com->oid()], ['dominio', $area], ['applicazione', APP_OBIETTIVO]]); foreach ($delegati as $_d) { if ($_d->attuale()) { $v = $_d->volontario(); ?> <tr> <td><img width="50" height="50" src="<?php echo $v->avatar()->img(10); ?> " class="img-polaroid" /></td> <td><?php echo $v->nome; ?> </td> <td><?php echo $v->cognome;
<?php /* * ©2013 Croce Rossa Italiana */ paginaAdmin(); $t = GeoPolitica::daOid($_GET['oid']); $c = GeoPolitica::daOid($_POST['inputComitato']); $estensione = $t->_estensione(); $motivo = "Cambio Presidente dell'unità territoriale"; $delegati = Delegato::filtra([['comitato', $t], ['applicazione', APP_OBIETTIVO]]); foreach ($delegati as $delegato) { $delegato->fine = time(); } if ($estensione == EST_UNITA) { /* Estensioni dal comitato */ $est = Estensione::filtra([['cProvenienza', $t], ['stato', EST_INCORSO]]); foreach ($est as $este) { $este->nega($motivo); } /* Estensioni verso il comitato */ $appest = Appartenenza::filtra([['comitato', $t], ['stato', MEMBRO_EST_PENDENTE]]); foreach ($appest as $apest) { $apest->estensione()->nega($motivo); } /* Trasferimenti dal comitato */ $trasf = Trasferimento::filtra([['cProvenienza', $t], ['stato', TRASF_INCORSO]]); foreach ($trasf as $trasfe) { $trasfe->nega($motivo); } /* Trasferimenti verso il comitato */
$m = new Email('mailTestolibero', '' . $oggetto); $m->a = $presidente; $m->_TESTO = $testo; $m->invia(); $i++; } catch (Exception $e) { } } $a = new Annunci(); $a->oggetto = $oggetto; $a->testo = $testo; $a->nPresidenti = $i; $a->timestamp = time(); $a->autore = $me; } else { $delegati = Delegato::filtra([['applicazione', APP_OBIETTIVO]]); $delegati = array_unique($delegati); foreach ($delegati as $delegato) { // Ignoro i delegati non più attuali if (!$delegato->attuale()) { continue; } // Carico il volontario in memoria $_v = $delegato->volontario(); $m = new Email('mailTestolibero', '' . $oggetto); $m->a = $_v; $m->_TESTO = $testo; $m->invia(); } } redirect('utente.me&ok');
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(); }
/* * ©2013 Croce Rossa Italiana */ $parametri = array('oid', 'persona', 'applicazione'); controllaParametri($parametri); $c = $_REQUEST['oid']; $c = GeoPolitica::daOid($c); paginaApp([APP_PRESIDENTE]); $persona = $_REQUEST['persona']; $persona = Volontario::id($persona); $app = (int) $_REQUEST['applicazione']; $appnome = $conf['applicazioni'][$app]; /* * Crea il nuovo delegato... */ $deleghe = Delegato::filtra([['volontario', $persona->id], ['applicazione', $app], ['comitato', $c->oid()]]); foreach ($deleghe as $delega) { if ($delega->attuale()) { redirect("presidente.comitato&oid={$c->oid()}&double&back=app_{$app}"); } } $d = new Delegato(); $d->estensione = $c->_estensione(); $d->comitato = $c->oid(); $d->applicazione = $app; $d->dominio = null; $d->inizio = time(); $d->pConferma = $me->id; $d->tConferma = time(); $d->volontario = $persona->id; /*
/* * ©2014 Croce Rossa Italiana */ $parametri = array('v', 'turno'); controllaParametri($parametri); $v = $_GET['v']; $turno = Turno::id($_GET['turno']); $comitato = $turno->Attivita()->comitato(); if (isset($_POST['inputPotere'])) { $potere = $_POST['inputPotere']; } else { $delegazioni = $me->delegazioni(); $potere = $delegazioni[0]->applicazione; } $partecipazione = Partecipazione::filtra([['volontario', $v], ['turno', $turno]]); $gia = Delegato::filtra([['volontario', $v], ['partecipazione', $partecipazione[0]]]); if (!$gia) { $d = new Delegato(); $d->estensione = $comitato->_estensione(); $d->comitato = $comitato->oid(); $d->applicazione = $potere; $d->dominio = null; $d->inizio = $turno->inizio; $d->fine = $turno->fine; $d->pConferma = $me->id; $d->tConferma = time(); $d->volontario = $v; $d->partecipazione = $partecipazione[0]; redirect('attivita.scheda&pot&id=' . $turno->attivita()->id); } else { redirect('attivita.scheda¬&id=' . $turno->attivita()->id);
<?php /* * ©2013 Croce Rossa Italiana */ global $me; global $sessione; global $conf; $deleghe = Delegato::filtra([['volontario', $me->id]]); $d = []; foreach ($deleghe as $_d) { if ($_d->attuale()) { $d[] = $_d; } } if (count($d) == 0) { return; } elseif (count($d) == 1) { if (!$sessione->ambito) { $sessione->ambito = $d[0]->id; } return; } $r = $sessione->ambito; $ruolo = "<span class='badge badge-important'><i class='icon-warning-sign'></i></span> Seleziona ruolo"; if ($r) { $attuale = Delegato::id($r); $g = GeoPolitica::daOid($attuale->comitato); $nome = "{$g->nome}"; if ($g->_estensione() == EST_UNITA) { $nome = "Unità {$g->nome}";
$_f->nega($motivo); } } $f = Trasferimento::filtra([['volontario', $v]]); foreach ($f as $_f) { if ($_f->stato == TRASF_INCORSO) { $_f->nega($motivo); } } $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 */ $ora = time(); $comitato = $attuale->comitato; $attuale->fine = $ora; $attuale->stato = MEMBRO_DIMESSO; $v->stato = PERSONA; $v->admin = null; } /* Se dimissioni volontarie e l'ha chiesto lo lascio ordinario */ if ($d->motivo == DIM_VOLONTARIE && isset($_POST['ordinario'])) { $a = new Appartenenza(); $a->volontario = $v;
/** * 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; }
} $elenco = $me->comitatiApp([APP_SOCI, APP_PRESIDENTE]); foreach ($elenco as $comitato) { $t = $comitato->quoteNo(); foreach ($t as $_v) { $m = new Email('dimissionevolontario', 'Dimissione Volontario: ' . $_v->nomeCompleto()); $m->da = $me; $m->a = $_v->volontario(); $m->_NOME = $_v->volontario()->nome; $m->_MOTIVO = $motivo; $m->_INFO = $_POST['info']; $m->invia(); $d = new Dimissione(); $d->volontario = $_v->id; $a = Appartenenza::filtra([['volontario', $_v]]); $i = Delegato::filtra([['volontario', $_v]]); foreach ($i as $_i) { $b = Delegato::id($_i); $b->fine = time(); } foreach ($a as $_a) { if ($_a->attuale()) { $d->appartenenza = $_a; $d->comitato = $_a->comitato; $d->motivo = DIM_QUOTA; $d->tConferma = time(); $d->pConferma = $me; $x = Appartenenza::id($_a); $x->fine = time(); $x->stato = MEMBRO_DIMESSO; $f = Persona::id($_v);
/** * Ritorna l'array dei presidenti * * @return $lista array dei presidenti */ public function elencoPresidenti() { $lista = Delegato::filtra([['applicazione', APP_PRESIDENTE]]); return $lista; }
public function volontariDelegati($app = null) { if ($app) { $app = (int) $app; $k = Delegato::filtra([['comitato', $this->oid()], ['applicazione', $app]], 'inizio DESC'); } else { $k = Delegato::filtra([['comitato', $this->oid()]], 'inizio DESC'); } $r = []; foreach ($k as $u) { if ($u->attuale()) { $r[] = $u->volontario; } } return array_unique($r); }
<table class="table table-striped table-condensed table-bordered" id="tabellaUtenti"> <thead> <th>Nome</th> <th>Cognome</th> <th>Codice Fiscale</th> <th>Data di Nascita</th> <th>Luogo di Nascita</th> <th>Comitato Presidente</th> <th>Estensione</th> <th>Azione</th> </thead> <?php /* * Ottengo elenco dei presidenti. */ $presidenti = Delegato::filtra([['applicazione', APP_PRESIDENTE]]); foreach ($presidenti as $presidente) { // Ignoro i presidenti non più attuali if (!$presidente->attuale()) { continue; } // Carico il volontario in memoria $_v = $presidente->volontario(); $comitato = $presidente->comitato(); ?> <tr> <td><strong><?php echo $_v->nome; ?> </strong></td> <td><strong><?php