Exemplo n.º 1
0
 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();
 }
Exemplo n.º 2
0
                        <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;
Exemplo n.º 3
0
/*
 * ©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&not&id=' . $turno->attivita()->id);
Exemplo n.º 4
0
            $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');
Exemplo n.º 5
0
<?php

/*
 * ©2013 Croce Rossa Italiana
 */
paginaAdmin();
controllaParametri(array('id'), 'admin.presidenti&err');
$t = $_GET['id'];
$t = Delegato::id($t);
$t->fine = time();
redirect('admin.presidenti&ok');
Exemplo n.º 6
0
$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;
/*
 * Invia la mail di notifica
 */
$m = new Email('delegatoGenerico', "{$appnome} in {$c->nomeCompleto()}");
$m->da = $me;
$m->a = $d->volontario();
$m->_NOME = $d->volontario()->nome;
Exemplo n.º 7
0
    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}";
    }
    if ($attuale->applicazione == APP_OBIETTIVO) {
        $ruolo = "Delegato {$conf['nomiobiettivi'][$attuale->dominio]}: {$nome}";
    } else {
        $ruolo = "{$conf['applicazioni'][$attuale->applicazione]}: {$nome}";
    }
    if (strlen($ruolo) > 30) {
        $ruolo = substr($ruolo, 0, 30) . '...';
    }
}
?>
Exemplo n.º 8
0
<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 
Exemplo n.º 9
0
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);
                $f->stato = PERSONA;
                $f->admin = '';
Exemplo n.º 10
0
 /**
  * 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;
 }
Exemplo n.º 11
0
 /**
  * Ritorna l'array dei presidenti
  * 
  * @return $lista array dei presidenti
  */
 public function elencoPresidenti()
 {
     $lista = Delegato::filtra([['applicazione', APP_PRESIDENTE]]);
     return $lista;
 }
Exemplo n.º 12
0
<?php

/*
 * ©2014 Croce Rossa Italiana
 */
paginaPrivata();
controllaParametri(['ruolo']);
global $sessione;
$ruolo = $_GET['ruolo'];
$d = Delegato::id($ruolo);
if ($d && $d->attuale() && $d->volontario == $me->id) {
    $sessione->ambito = $d->id;
    redirect('utente.me');
}
Exemplo n.º 13
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();
 }
Exemplo n.º 14
0
<?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 */
Exemplo n.º 15
0
            $_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;
Exemplo n.º 16
0
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';
}
<?php

/*
 * ©2013 Croce Rossa Italiana
 */
paginaApp([APP_PRESIDENTE]);
$parametri = array('oid', 'id');
controllaParametri($parametri);
$c = $_GET['oid'];
$c = GeoPolitica::daOid($c);
$d = $_GET['id'];
$d = Delegato::id($d);
$app = (int) $d->applicazione;
$app_nome = $conf['applicazioni'][$app];
$d->fine = time();
$m = new Email('delegatoGenericoFine', "Fine autorizzazione {$app_nome}");
$m->da = $me;
$m->a = $d->volontario();
$m->_NOME = $d->volontario()->nome;
$m->_APPLICAZIONE = $app_nome;
$m->_COMITATO = $c->nomeCompleto();
$m->invia();
redirect("presidente.comitato&oid={$c->oid()}&ok&back=app_{$app}");