/**
  * Insertion d'une teleprocedure
  *
  * @author Christophe Beyer <*****@*****.**>
  * @since 2008/01/30
  * @param integer $ecole Id de l'ecole
  * @param integer $idtype Type de la teleprocedure
  */
 public function insert()
 {
     $save = _request("save") ? _request("save") : NULL;
     $idtype = _request("idtype") ? _request("idtype") : NULL;
     $idstatu = _request("idstatu") ? _request("idstatu") : NULL;
     $objet = _request("objet") ? _request("objet") : NULL;
     $detail = _request("detail") ? _request("detail") : NULL;
     $criticErrors = $errors = array();
     $daoType =& CopixDAOFactory::create('teleprocedures|type');
     if ($idtype) {
         if ($rType = $daoType->get($idtype)) {
             $mondroit = Kernel::getLevel("MOD_TELEPROCEDURES", $rType->teleprocedure);
             if (!TeleproceduresService::canMakeInTelep('ADD_INTERVENTION', $mondroit)) {
                 $criticErrors[] = CopixI18N::get('kernel|kernel.error.noRights');
             }
         } else {
             $criticErrors[] = CopixI18N::get('teleprocedures|teleprocedures.error.noParameter');
         }
         $rEcole = Kernel::getNodeInfo('BU_ECOLE', TeleproceduresService::getTelepEcole(), false);
         if (!$rEcole) {
             $criticErrors[] = CopixI18N::get('teleprocedures|teleprocedures.error.prob.ecole');
         }
     } else {
         $criticErrors[] = CopixI18N::get('teleprocedures|teleprocedures.error.noParameter');
     }
     if ($criticErrors) {
         return CopixActionGroup::process('genericTools|Messages::getError', array('message' => implode('<br/>', $criticErrors), 'back' => CopixUrl::get('teleprocedures||')));
     }
     $title = $rEcole["nom"] . ($rEcole["desc"] ? " (" . $rEcole["desc"] . ")" : "");
     $rForm = CopixDAOFactory::createRecord('intervention');
     if ($save == 1) {
         if (!$objet) {
             $errors[] = CopixI18N::get('teleprocedures.error.objet.manquant');
         }
         if (!$detail || $detail == html_entity_decode(CopixI18N::get('teleprocedures.interv.default.detail'))) {
             $errors[] = CopixI18N::get('teleprocedures.error.detail.manquant');
         }
         $rForm->idtype = $idtype;
         $rForm->format = $rType->format;
         //$rForm->idstatu = $idstatu;
         $rForm->idstatu = CopixConfig::get('teleprocedures|statutNouveau');
         $rForm->objet = $objet;
         $rForm->detail = $detail;
         if (!count($errors)) {
             $daoIntervention = CopixDAOFactory::create("intervention");
             $session = Kernel::getSessionBU();
             $rForm->iduser = $session['user_id'];
             $rForm->dateinter = date('Ymd');
             $rForm->idetabliss = $rEcole["id"];
             //$rForm->datederniere = 0;
             $rForm->datederniere = date('Y-m-d H:i:s');
             $rForm->responsables = $rType->responsables;
             $rForm->lecteurs = $rType->lecteurs;
             $rForm->mail_from = $rType->mail_from;
             $rForm->mail_to = $rType->mail_to;
             $rForm->mail_cc = $rType->mail_cc;
             $rForm->mail_message = $rType->mail_message;
             //print_r($rForm);
             $daoIntervention->insert($rForm);
             if ($rForm->idinter) {
                 $droits = TeleproceduresService::copyDroitFromTypeToInter($rForm);
                 TeleproceduresService::alertResponsables($rForm, $droits);
                 TeleproceduresService::userReadIntervention($rForm->idinter, $session['user_id']);
             }
             return new CopixActionReturn(COPIX_AR_REDIRECT, CopixUrl::get('|listTeleprocedures', array('id' => $rType->teleprocedure)));
         }
     } else {
         $rForm->objet = $rType->nom;
         $rForm->idtype = $idtype;
         $rForm->format = $rType->format;
         $rForm->detail = $rType->texte_defaut ? $rType->texte_defaut : html_entity_decode(CopixI18N::get('teleprocedures.interv.default.detail'));
     }
     $tplForm = new CopixTpl();
     $tplForm->assign('detail_edition', CopixZone::process('kernel|edition', array('field' => 'detail', 'format' => $rForm->format, 'content' => $rForm->detail, 'height' => 450)));
     $tplForm->assign('date', date("Y-m-d"));
     $tplForm->assign('rEcole', $rEcole);
     $tplForm->assign('rForm', $rForm);
     $tplForm->assign('rType', $rType);
     $tplForm->assign('errors', $errors);
     //var_dump($rEcole);
     $daoStat =& CopixDAOFactory::create('teleprocedures|statu');
     $tplForm->assign('arStat', $daoStat->findAll());
     $daoType =& CopixDAOFactory::create('teleprocedures|type');
     $tplForm->assign('arType', $daoType->findAll());
     $main = $tplForm->fetch('insert.tpl');
     $tpl = new CopixTpl();
     $tpl->assign('TITLE_PAGE', CopixI18N::get('teleprocedures.title.newTelep'));
     $tpl->assign("MAIN", $main);
     return new CopixActionReturn(COPIX_AR_DISPLAY, $tpl);
 }