Exemple #1
0
 public function aggiungi(Corso $c, Volontario $v, $ruolo = 0)
 {
     global $sessione;
     /*
     $comitato = Comitato::daOid($c->organizzatore);
     if (!$sessione->utente()->presiede($comitato)) { // N.B.: da estendere anche al delegato del presidente
         return false;
     }
     */
     $this->corso = $c->id;
     $this->volontario = $v->id;
     $this->stato = PARTECIPAZIONE_RICHIESTA;
     $this->ruolo = $ruolo;
     $this->md5 = PartecipazioneCorso::md5($this->id);
     $this->timestamp = (new DT())->getTimestamp();
     $this->inviaInvito($c);
     return true;
 }
Exemple #2
0
<?php

$p = PartecipazioneCorso::id(63);
$p->md5 = PartecipazioneCorso::md5($p->id);
$c = Corso::id($p->corso);
$v = $p->volontario();
$r = $p->inviaInvito(Corso::id($p->corso), $v);
 */
paginaPresidenziale(null, null, APP_OBIETTIVO, OBIETTIVO_1);
controllaParametri(['id', 'direttori'], 'admin.corsi.crea&err');
$c = $direttore = null;
try {
    $c = Corso::id(intval($_POST['id']));
    if (!$c->modificabile()) {
        redirect('formazione.corsi.riepilogo&id=' . $c->id . '&err=1');
    }
    $direttore = Volontario::id(intval($_POST['direttori']));
    if (empty($c) || empty($direttore)) {
        throw new Exception('Manomissione');
    }
} catch (Exception $e) {
    redirect('admin.corsi.crea&err');
}
$c->direttore = $direttore->id;
$c->aggiornaStato();
$partecipazione = new PartecipazioneCorso();
$partecipazione->aggiungi($c, $direttore, CORSO_RUOLO_DIRETTORE);
if (!empty($_POST['wizard'])) {
    $tipoCorso = TipoCorso::id($c->tipo);
    if ($tipoCorso->giorni > 1) {
        redirect('formazione.corsi.lezioni&id=' . $c->id . '&wizard=1');
        die;
    } else {
        redirect('formazione.corsi.docenti&id=' . $c->id . '&wizard=1');
        die;
    }
}
redirect('formazione.corsi.riepilogo&id=' . $c->id);
                // se il nuovo è anche tra i vecchi, lo toglie dalla lista di quelli da eliminare
                unset($daEliminare[$d]);
            } else {
                // se il nuovo non è tra i vecchi, lo aggiunge dalla lista di quelli da aggiungere
                $daAggiungere[$d] = true;
            }
        }
        $daAggiungere = array_keys($daAggiungere);
        $daEliminare = array_keys($daEliminare);
        foreach ($daEliminare as $d) {
            PartecipazioneCorso::id($d)->cancella();
        }
        foreach ($daAggiungere as $d) {
            $docente = Volontario::id($d);
            // aggiungere verifica del fatto che sia effettivamente un docente
            $part = new PartecipazioneCorso();
            $part->aggiungi($c, $docente, CORSO_RUOLO_DOCENTE);
        }
    } else {
        throw new Exception('Manomissione');
    }
    $c->aggiornaStato();
} catch (Exception $e) {
    die($e->getMessage());
    redirect('admin.corsi.crea&err');
}
if (!empty($_POST['wizard'])) {
    redirect('formazione.corsi.affiancamenti&id=' . $c->id . '&wizard=1');
    die;
}
redirect('formazione.corsi.riepilogo&id=' . $c->id);
Exemple #5
0
 /**
  * Restituisce l'elenco dei corsi base a cui ho richiesto partecipazione
  * @return Partecipazione elenco dei corsi a cui mi sono rpeiscritto o iscritto 
  */
 public function corsiRichiesti()
 {
     return PartecipazioneCorso::filtra([['volontario', $this->id]]);
 }
<?php

/* 
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
$id = intval(filter_input(INPUT_GET, "id"));
$md5 = filter_input(INPUT_GET, "md5");
$part = PartecipazioneCorso::id($id);
if ($part->md5 != $md5) {
    header('HTTP/1.0 403 Forbidden');
    redirect("errore.403");
    exit(0);
}
$part->nega("rifiuto docente");
    $c = Corso::id($id);
    if (empty($c)) {
        throw new Exception('Manomissione');
    }
    $tipoCorso = Certificato::by('id', intval($c->tipocorso));
} catch (Exception $e) {
    redirect('admin.corsi.crea&err');
}
/*
if (!$c->modificabile()) {
    redirect('formazione.corsi.riepilogo&id='.$id);
}
*/
$discenti = PartecipazioneCorso::filtra([['corso', $c->id], ['ruolo', CORSO_RUOLO_DISCENTE], ['stato', PARTECIPAZIONE_ACCETTATA]]);
$affiancamenti = PartecipazioneCorso::filtra([['corso', $c->id], ['ruolo', CORSO_RUOLO_AFFIANCAMENTO], ['stato', PARTECIPAZIONE_ACCETTATA]]);
$docenti = PartecipazioneCorso::filtra([['corso', $c->id], ['ruolo', CORSO_RUOLO_DOCENTE], ['stato', PARTECIPAZIONE_ACCETTATA]]);
caricaSelettoreDiscente();
$d = new DateTime('@' . $c->inizio);
?>

<div class="row-fluid">

    <div class="span8">
        <h2><i class="icon-plus-square icon-calendar muted"></i> Corso di formazione</h2>
        <form action="?p=formazione.corsi.risultati.ok" method="POST">
            <input type="hidden" name="id" value="<?php 
echo $id;
?>
" />
            <div class="alert alert-block alert-success">
                <div class="row-fluid">
Exemple #8
0
 /**
  * Genera scheda valutazione, sulla base del corso e del volontario
  * @return PDF 
  */
 public function generaScheda($iscritto)
 {
     $pb = PartecipazioneCorso::filtra([['volontario', $iscritto], ['corso', $this], ['stato', PARTECIPAZIONE_EFFETTUATA_SUCCESSO]]);
     $pb = array_merge($pb, PartecipazioneCorso::filtra([['volontario', $iscritto], ['corsoBase', $this], ['stato', PARTECIPAZIONE_EFFETTUATA_FALLIMENTO]]));
     $pb = array_unique($pb);
     $pb = $pb[0];
     /* costruisco i testi del pdf secondo regolamento */
     if ($pb->p1) {
         $p1 = "Positivo";
     } else {
         $p1 = "Negativo";
     }
     if ($pb->p2) {
         $p2 = "Positivo";
     } else {
         $p2 = "Negativo";
     }
     if ($pb->stato == PARTECIPAZIONE_EFFETTUATA_SUCCESSO) {
         $idoneo = "Idoneo";
     } else {
         $idoneo = "Non Idoneo";
     }
     /* Appongo eventuali X */
     $extra1 = "_";
     $extra2 = "_";
     if ($pb->e1) {
         $extra1 = "X";
     }
     if ($pb->e2) {
         $extra2 = "X";
     }
     /*testi con sesso già inserito */
     if ($iscritto->sesso == UOMO) {
         $candidato = "il candidato";
     } else {
         $candidato = "la candidata";
     }
     $file = "Scheda valutazione ";
     $file .= $iscritto->nomeCompleto();
     $file .= ".pdf";
     $p = new PDF('schedacorso', $file);
     $p->_COMITATO = $this->organizzatore()->nomeCompleto();
     $p->_VERBALENUM = $this->progressivo();
     $p->_DATAESAME = date('d/m/Y', $this->tEsame);
     $p->_UNOESITO = $p1;
     $p->_ARGUNO = $pb->a1;
     $p->_DUEESITO = $p2;
     $p->_ARGDUE = $pb->a2;
     $p->_NOMECOMPLETO = $iscritto->nomeCompleto();
     $p->_LUOGONASCITA = $iscritto->comuneNascita;
     $p->_CF = $iscritto->codiceFiscale;
     $p->_DATANASCITA = date('d/m/Y', $iscritto->dataNascita);
     $p->_IDONETA = $idoneo;
     $p->_EXTRAUNO = $extra1;
     $p->_EXTRADUE = $extra2;
     $p->_CANDIDATO = $candidato;
     $f = $p->salvaFile(null, true);
     return $f;
 }
                    // se il nuovo è anche tra i vecchi, lo toglie dalla lista di quelli da eliminare
                    unset($daEliminare[$id]);
                } else {
                    // se il nuovo non è tra i vecchi, lo aggiunge dalla lista di quelli da aggiungere
                    $daAggiungere[$id] = true;
                }
            }
            $daAggiungere = array_keys($daAggiungere);
            $daEliminare = array_keys($daEliminare);
            foreach ($daEliminare as $id) {
                PartecipazioneCorso::id($id)->cancella();
            }
            foreach ($daAggiungere as $id) {
                $docente = Volontario::id($id);
                // aggiungere verifica del fatto che sia effettivamente un docente
                $part = new PartecipazioneCorso();
                $part->aggiungi($c, $docente, CORSO_RUOLO_AFFIANCAMENTO);
            }
        } else {
            throw new Exception('Manomissione');
        }
        $c->aggiornaStato();
    }
} catch (Exception $e) {
    die($e->getMessage());
    redirect('admin.corsi.crea&err');
}
if (!empty($_POST['wizard'])) {
    redirect('formazione.corsi.discenti&id=' . $c->id . '&wizard=1');
    die;
}
try {
    $c = Corso::id($id);
    if (empty($c)) {
        throw new Exception('Manomissione');
    }
    $tipoCorso = TipoCorso::id($c->tipo);
    $lezioni = $c->giornateCorso();
    $ruolo = $tipoCorso->ruoloDocenti;
    $qualifica = $tipoCorso->qualifica;
} catch (Exception $e) {
    redirect('admin.corsi.crea&err=' . CORSO_ERRORE_CORSO_NON_TROVATO);
}
if (!$c->modificabile()) {
    redirect('formazione.corsi.riepilogo&id=' . $id);
}
$partecipazioni = PartecipazioneCorso::filtra([['corso', $c->id], ['ruolo', CORSO_RUOLO_DOCENTE]]);
$docenti = [];
foreach ($partecipazioni as $p) {
    $docenti[] = $p->volontario();
}
unset($partecipazioni);
// carica i selettori
caricaSelettoreDocente(['max_selected_options' => 1, 'no_results_text' => 'Nessun docente trovato']);
if (isset($_GET['date'])) {
    ?>
<div class="alert alert-error">
    <i class="icon-warning-sign"></i> <strong>Data non valida</strong>.
    Hai inserito una data non valida. Non possono essere modificate date passate, per correggere
    contatta il supporto.
</div>
<?php 
    $c = Corso::id($id);
    if (empty($c)) {
        throw new Exception('Manomissione');
    }
    $tipocorso = TipoCorso::by('id', intval($c->tipo));
} catch (Exception $e) {
    redirect('admin.corsi.crea&err=' . CORSO_ERRORE_CORSO_NON_TROVATO);
}
if (!$c->modificabile()) {
    redirect('formazione.corsi.riepilogo&id=' . $id);
}
// calcola il numero massimo di docenti per il corso
$maxAffiancamenti = $c->numeroDocentiPotenziali() * max(1, intval($c->tipo()->proporzioneAffiancamento));
// recupera gli id di docenti già presenti per il corso
// per popolare automaticamente la lista in caso di pagina di modifica
$partecipazioni = PartecipazioneCorso::filtra([['corso', $c->id], ['ruolo', CORSO_RUOLO_AFFIANCAMENTO]]);
$docenti = $affiancamenti = [];
foreach ($partecipazioni as $part) {
    $affiancamenti[] = $part->volontario();
}
unset($partecipazioni);
// carica i selettori
caricaSelettoreDocenteInAffiancamento(['max_selected_options' => $maxAffiancamenti, 'no_results_text' => 'Nessun affiancamento trovato']);
$d = new DateTime('@' . $c->inizio);
$ruolo = $tipocorso->ruoloAffiancamento;
$qualifica = $tipocorso->qualifica;
?>

<div class="row-fluid">

    <div class="span8">
                unset($daEliminare[$id]);
            } else {
                // se il nuovo non è tra i vecchi, lo aggiunge dalla lista di quelli da aggiungere
                $daAggiungere[$id] = true;
            }
        }
        $daAggiungere = array_keys($daAggiungere);
        $daEliminare = array_keys($daEliminare);
        /*
        var_dump($c);
        var_dump($_POST);
        var_dump($discenti);
        var_dump($daAggiungere);
        var_dump($daEliminare);
        die;
        */
        foreach ($daEliminare as $id) {
            PartecipazioneCorso::id($id)->cancella();
        }
        foreach ($daAggiungere as $id) {
            $discente = Volontario::id($id);
            // aggiungere verifica del fatto che sia effettivamente un istruttore
            $part = new PartecipazioneCorso();
            $part->aggiungi($c, $discente, CORSO_RUOLO_DISCENTE);
        }
    }
    $c->aggiornaStato();
} catch (Exception $e) {
    redirect('admin.corsi.crea&err');
}
redirect('formazione.corsi.riepilogo&id=' . $c->id);
} catch (Exception $e) {
    redirect('admin.corsi.crea&err');
}
if (!empty($_GET['err']) && is_int($_GET['err'])) {
    if (!empty($conf['errori_corsi'][$_GET['err']])) {
        $err = $conf['errori_corsi'][$_GET['err']];
    } else {
        $err = 'errore sconosciuto';
    }
}
global $db;
$db->beginTransaction();
try {
    $l = new GiornataCorso();
    $l->corso = $id;
    $l->nome = normalizzaNome($_POST['nome']);
    $data = DT::createFromFormat('d/m/Y H:i', $_POST["data"]);
    $l->data = $data->getTimestamp();
    $l->luogo = normalizzaNome($_POST['luogo']);
    $l->note = addslashes($_POST['note']);
    $l->docente = intval($_POST['docenti'][0]);
    $docente = Volontario::id(intval($_POST['docenti'][0]));
    $part = new PartecipazioneCorso();
    $part->aggiungi(Corso::id($id), $docente, CORSO_RUOLO_DOCENTE);
    $db->commit();
} catch (Exception $e) {
    $db->rollBack();
    redirect("formazione.corsi.lezioni&id={$id}&err");
    die;
}
redirect("formazione.corsi.lezioni&id={$id}");