/[openfoncier]/trunk/obj/instruction.class.php
ViewVC logotype

Diff of /trunk/obj/instruction.class.php

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 2792 by vpihour, Fri Mar 7 15:14:23 2014 UTC revision 2905 by nhaye, Wed Apr 2 10:27:34 2014 UTC
# Line 33  class instruction extends instruction_ge Line 33  class instruction extends instruction_ge
33      var $retourformulaire;   // specific      var $retourformulaire;   // specific
34      var $idxformulaire;      // specific      var $idxformulaire;      // specific
35      var $valEvenement;      var $valEvenement;
36        var $restriction_valid = null;
37      // Tableau contenant une partie des métadonnées arrêtés      // Tableau contenant une partie des métadonnées arrêtés
38      var $metadonneesArrete;      var $metadonneesArrete;
39    
# Line 82  class instruction extends instruction_ge Line 83  class instruction extends instruction_ge
83              && $this->val[array_search("lu", $this->champs)]== "t") {              && $this->val[array_search("lu", $this->champs)]== "t") {
84              unset($this->actions_sup["lu"]);              unset($this->actions_sup["lu"]);
85          }          }
86    
87            //Si pas de lettretype associée
88            if($this->getVal("lettretype") == "") {
89                // Suppression des actions sur fichier dans le portlet actions
90                $this->actions_sup["pdfetat"] = NULL;
91                $this->actions_sup["finalisation"] = NULL;
92                $this->actions_sup["definalisation"] = NULL;
93            }
94                            
95          //Si le document est déjà finalisé, on affiche uniquement le lien de          //Si le document est déjà finalisé, on affiche uniquement le lien de
96          //dé-finalisation          //dé-finalisation
# Line 301  class instruction extends instruction_ge Line 310  class instruction extends instruction_ge
310          $form->setType('archive_etat', 'hidden');          $form->setType('archive_etat', 'hidden');
311          $form->setType('archive_accord_tacite', 'hidden');          $form->setType('archive_accord_tacite', 'hidden');
312          $form->setType('archive_avis', 'hidden');          $form->setType('archive_avis', 'hidden');
313          $form->setType('archive_date_complet', 'hidden');          $form->setType('archive_date_complet', 'hiddendate');
314          $form->setType('archive_date_dernier_depot', 'hidden');          $form->setType('archive_date_dernier_depot', 'hiddendate');
315          $form->setType('archive_date_rejet', 'hidden');          $form->setType('archive_date_rejet', 'hiddendate');
316          $form->setType('archive_date_limite', 'hidden');          $form->setType('archive_date_limite', 'hiddendate');
317          $form->setType('archive_date_notification_delai', 'hidden');          $form->setType('archive_date_notification_delai', 'hiddendate');
318          $form->setType('archive_date_decision', 'hidden');          $form->setType('archive_date_decision', 'hiddendate');
319          $form->setType('archive_date_validite', 'hidden');          $form->setType('archive_date_validite', 'hiddendate');
320          $form->setType('archive_date_achevement', 'hidden');          $form->setType('archive_date_achevement', 'hiddendate');
321          $form->setType('archive_date_conformite', 'hidden');          $form->setType('archive_date_conformite', 'hiddendate');
322          $form->setType('archive_date_chantier', 'hidden');          $form->setType('archive_date_chantier', 'hiddendate');
323          $form->setType('archive_autorite_competente','hidden');          $form->setType('archive_autorite_competente','hidden');
324          //          //
325          $form->setType('numero_arrete', 'hidden');          $form->setType('numero_arrete', 'hidden');
# Line 322  class instruction extends instruction_ge Line 331  class instruction extends instruction_ge
331          $form->setType('archive_evenement_suivant_tacite','hidden');          $form->setType('archive_evenement_suivant_tacite','hidden');
332          $form->setType('archive_evenement_suivant_tacite_incompletude','hidden');          $form->setType('archive_evenement_suivant_tacite_incompletude','hidden');
333          $form->setType('archive_etat_pendant_incompletude','hidden');          $form->setType('archive_etat_pendant_incompletude','hidden');
334          $form->setType('archive_date_limite_incompletude','hidden');          $form->setType('archive_date_limite_incompletude','hiddendate');
335          $form->setType('archive_delai_incompletude','hidden');          $form->setType('archive_delai_incompletude','hidden');
336    
337          //          //
# Line 347  class instruction extends instruction_ge Line 356  class instruction extends instruction_ge
356              $form->setType('date_retour_controle_legalite','datedisabled');              $form->setType('date_retour_controle_legalite','datedisabled');
357              $form->setType('date_finalisation_courrier','datedisabled');              $form->setType('date_finalisation_courrier','datedisabled');
358    
359              // l'administrateur peut modifier les champs de retour de date              
             if ($this->f->user_is_admin == true) {  
                 $form->setType('date_retour_signature','date');  
                 $form->setType('date_retour_rar','date');  
                 $form->setType('date_retour_controle_legalite','date');  
             }  
360    
361              if($maj==0){ // add              if($maj==0){ // add
362                  $form->setType('instruction', 'hiddenstatic');                  $form->setType('instruction', 'hidden');
363                    $form->setType('lettretype', 'hidden');
364                  $form->setType('evenement', 'select');                  $form->setType('evenement', 'select');
365                  $form->setType('date_evenement', 'date2');                  $form->setType('date_evenement', 'date2');
366              }else{ // modify              }else{ // modify
# Line 365  class instruction extends instruction_ge Line 370  class instruction extends instruction_ge
370                  $form->setType('date_evenement', 'date2');                  $form->setType('date_evenement', 'date2');
371                  // necessaire pour calcul de date en modification                  // necessaire pour calcul de date en modification
372                  //$form->setType('delai', 'hiddenstatic');                  //$form->setType('delai', 'hiddenstatic');
373                    // l'administrateur peut modifier les champs de retour de date
374                    if ($this->f->user_is_admin == true) {
375                        $form->setType('date_retour_signature','date');
376                        $form->setType('date_retour_rar','date');
377                        $form->setType('date_retour_controle_legalite','date');
378                    }
379              }              }
380          } elseif($maj==2){          } elseif($maj==2){
381              $form->setType('dossier', 'hidden');              $form->setType('dossier', 'hidden');
# Line 389  class instruction extends instruction_ge Line 400  class instruction extends instruction_ge
400          //date_retour_controle_legalite si ce n'est pas un arrêté          //date_retour_controle_legalite si ce n'est pas un arrêté
401          if ( !is_numeric($this->getVal("avis_decision"))){          if ( !is_numeric($this->getVal("avis_decision"))){
402                            
403              $form->setType("date_envoi_controle_legalite", "hidden");              $form->setType("date_envoi_controle_legalite", "hiddendate");
404              $form->setType("date_retour_controle_legalite", "hidden");              $form->setType("date_retour_controle_legalite", "hiddendate");
405          }          }
406      }      }
407    
# Line 444  class instruction extends instruction_ge Line 455  class instruction extends instruction_ge
455              // du dossier d'instruction en cours              // du dossier d'instruction en cours
456              $sql = "SELECT              $sql = "SELECT
457              evenement.evenement,              evenement.evenement,
458              CONCAT(evenement.libelle, ' ['||evenement.action||']') as lib              evenement.libelle as lib
459              FROM ".DB_PREFIXE."dossier              FROM ".DB_PREFIXE."dossier
460              INNER JOIN ".DB_PREFIXE."lien_dossier_instruction_type_evenement              INNER JOIN ".DB_PREFIXE."lien_dossier_instruction_type_evenement
461                  ON dossier.dossier_instruction_type=lien_dossier_instruction_type_evenement.dossier_instruction_type                  ON dossier.dossier_instruction_type=lien_dossier_instruction_type_evenement.dossier_instruction_type
# Line 472  class instruction extends instruction_ge Line 483  class instruction extends instruction_ge
483              $form->setSelect("evenement", $contenu);              $form->setSelect("evenement", $contenu);
484          } else {          } else {
485              $sql = "SELECT              $sql = "SELECT
486              CONCAT(evenement.libelle, ' ['||evenement.action||']') as lib              evenement.libelle as lib
487              FROM ".DB_PREFIXE."evenement              FROM ".DB_PREFIXE."evenement
488              WHERE evenement.evenement=".$this->getVal("evenement")."";              WHERE evenement.evenement=".$this->getVal("evenement")."";
489              $res = $db->getone($sql);              $res = $db->getone($sql);
# Line 766  class instruction extends instruction_ge Line 777  class instruction extends instruction_ge
777                  $this->valF['autorite_competente']=$row['autorite_competente'];                  $this->valF['autorite_competente']=$row['autorite_competente'];
778              }              }
779              // Récupération de la valeur de la lettre type              // Récupération de la valeur de la lettre type
780              // Sinon on lui affecte lavaleur par défaut standard              $this->valF['lettretype']=$row['lettretype'];
             if ($row['lettretype'] != "") {  
                 $this->valF['lettretype']=$row['lettretype'];  
             } else {  
                 $this->valF['lettretype'] = "standard"; // XXX  
             }  
781          }          }
782          // Récupération de toutes les valeurs du dossier d'instruction en cours          // Récupération de toutes les valeurs du dossier d'instruction en cours
783          $sql = "SELECT * FROM ".DB_PREFIXE."dossier          $sql = "SELECT * FROM ".DB_PREFIXE."dossier
# Line 810  class instruction extends instruction_ge Line 816  class instruction extends instruction_ge
816      // Test si une restriction est valide      // Test si une restriction est valide
817      // return boolean      // return boolean
818      function restrictionIsValid($restriction){      function restrictionIsValid($restriction){
819            if($this->restriction_valid != null) {
820                return $this->restriction_valid;
821            }
822          // Liste des opérateurs possible          // Liste des opérateurs possible
823          $operateurs = array(">=", "<=", "+", "-");          $operateurs = array(">=", "<=", "+", "-");
824          // Liste des opérateurs avec espace          // Liste des opérateurs avec espace
# Line 924  class instruction extends instruction_ge Line 932  class instruction extends instruction_ge
932      }      }
933    
934      /**      /**
935         * Permet de définir si l'événement passé en paramètre est un événement retour.
936         * @param integer $evenement événement à tester
937         *
938         * @return boolean retourne true si événement retour sinon false
939         */
940        function is_evenement_retour($evenement) {
941            if(empty($evenement) || !is_numeric($evenement)) {
942                return "";
943            }
944            $sql = "SELECT retour
945                FROM ".DB_PREFIXE."evenement
946                WHERE evenement = ".$evenement;
947            $retour = $this->db->getOne($sql);
948            $this->addToLog("verifier(): db->query(\"".$sql."\");", VERBOSE_MODE);
949            if (database::isError($retour)) {
950                die($retour->getMessage());
951            }
952            if ($retour == 't') {
953                return true;
954            } else {
955                return false;
956            }
957        }
958    
959        /**
960         * Retourne le champ restriction de l'événement passé en paramètre.
961         *
962         * @param integer $evenement id de l'événement sur lequel récupérer la restriction
963         *
964         * @return string             contenu du champ restriction
965         */
966        function get_restriction($evenement) {
967            if(empty($evenement) || !is_numeric($evenement)) {
968                return "";
969            }
970            //Récupère la restriction
971            $sql= "SELECT
972                      restriction
973                  FROM
974                      ".DB_PREFIXE."evenement
975                  WHERE
976                      evenement =".$evenement;
977    
978            $restriction = $this->db->getOne($sql);
979            $this->addToLog("verifier(): db->query(\"".$sql."\");", VERBOSE_MODE);
980            if (database::isError($restriction)) {
981                die($restriction->getMessage());
982            }        
983            return $restriction;
984        }
985    
986        /**
987       * Récupère la valeur du champ dans la restriction       * Récupère la valeur du champ dans la restriction
988       * @param  string   $restrictionValue   Nom du champ       * @param  string   $restrictionValue   Nom du champ
989       * @return mixed                        Valeur du champ       * @return mixed                        Valeur du champ
# Line 1235  class instruction extends instruction_ge Line 1295  class instruction extends instruction_ge
1295                      $msgenque = new MessageEnqueuer();                      $msgenque = new MessageEnqueuer();
1296                      $msgenque->setDossierInstructionIdentifier($this->valF['dossier']);                      $msgenque->setDossierInstructionIdentifier($this->valF['dossier']);
1297                      $msgenque->setDecision($evenement_libelle);                      $msgenque->setDecision($evenement_libelle);
1298                      $msgenque->enqueueMessage($msgenque::$ERP_ARRETE_PC_EFFECTUE);                      $return = $msgenque->enqueueMessage($msgenque::$ERP_ARRETE_PC_EFFECTUE);
1299                        //Si une erreur s'est produite on arrête le traitement et on
1300                        //retourne une erreur
1301                        if ($return !== 0){
1302                            
1303                            $this->addToMessage(_("Une erreur s'est produite lors de ".
1304                                "l'envoi du message au referentiel ERP. Merci de ".
1305                                "contacter votre administrateur"));
1306                            //On ne valide pas le formulaire
1307                            $this->addToMessage("<br/>"._("SAISIE NON ENREGISTREE")."<br/>");
1308                            $this->correct = false;
1309                            return false;
1310                        }
1311                        else {
1312                            $this->addToMessage(_("Le message a ete transmis au ".
1313                                "referentiel ERP."));
1314                        }
1315                  }                  }
1316                  if ($this->valF['evenement'] ==                  if ($this->valF['evenement'] ==
1317                          $this->f->getParameter('erp_evenement_refuser_dossier')) {                          $this->f->getParameter('erp_evenement_refuser_dossier')) {
1318                      $msgenque = new MessageEnqueuer();                      $msgenque = new MessageEnqueuer();
1319                      $msgenque->setDossierInstructionIdentifier($this->valF['dossier']);                      $msgenque->setDossierInstructionIdentifier($this->valF['dossier']);
1320                      $msgenque->enqueueMessage($msgenque::$ERP_DECISION_CONFORMITE_EFFECTUE);                                      $return = $msgenque->enqueueMessage($msgenque::$ERP_DECISION_CONFORMITE_EFFECTUE);
1321                        //Si une erreur s'est produite on arrête le traitement et on
1322                        //retourne une erreur
1323                        if ($return !== 0){
1324                            
1325                            $this->addToMessage(_("Une erreur s'est produite lors de ".
1326                                "l'envoi du message au referentiel ERP. Merci de ".
1327                                "contacter votre administrateur"));
1328                            //On ne valide pas le formulaire
1329                            $this->addToMessage("<br/>"._("SAISIE NON ENREGISTREE")."<br/>");
1330                            $this->correct = false;
1331                            return false;
1332                        }
1333                        else {
1334                            $this->addToMessage(_("Le message a ete transmis au ".
1335                                "referentiel ERP."));
1336                        }                
1337                  }                  }
1338              }              }
1339          } // fin de if ($this->f->getParameter('option_erp') != "")          } // fin de if ($this->f->getParameter('option_erp') != "")
# Line 1249  class instruction extends instruction_ge Line 1341  class instruction extends instruction_ge
1341          // Mise à jour des données du dossier d'autorisation          // Mise à jour des données du dossier d'autorisation
1342          require_once "../obj/dossier_autorisation.class.php";          require_once "../obj/dossier_autorisation.class.php";
1343          $da = new dossier_autorisation($this->getNumDemandeAutorFromDossier($this->valF['dossier']), $this->db, DEBUG);          $da = new dossier_autorisation($this->getNumDemandeAutorFromDossier($this->valF['dossier']), $this->db, DEBUG);
1344          $da->majDossierAutorisation();          if($da->majDossierAutorisation() === false) {
1345                $this->addToMessage(_("Erreur lors de la mise a jour des donnees du dossier d'autorisation. Contactez votre administrateur."));
1346                $this->correct = false;
1347                return false;
1348            }
1349      }          }    
1350    
1351      function triggermodifierapres($id,&$db,$val,$DEBUG) {      function triggermodifierapres($id,&$db,$val,$DEBUG) {
# Line 1325  class instruction extends instruction_ge Line 1421  class instruction extends instruction_ge
1421              $this->addToMessage(_('enregistrement')." ".$this->valF['dossier']." "._('table')." dossier [".$db->affectedRows()." "._('enregistrement')." "._('mis_a_jour')."]");              $this->addToMessage(_('enregistrement')." ".$this->valF['dossier']." "._('table')." dossier [".$db->affectedRows()." "._('enregistrement')." "._('mis_a_jour')."]");
1422          }          }
1423    
1424          // Récupération de tous les paramètres de l'événement sélectionné          $restriction = $this->get_restriction($val['evenement']);
1425          $sql = "SELECT * FROM ".DB_PREFIXE."evenement  
1426          WHERE evenement=".$this->valF['evenement'];          if($this->restrictionIsValid($restriction)){
1427          $res = $db->query($sql);              // Récupération de tous les paramètres de l'événement sélectionné
1428          $this->addToLog("triggermodifierapres(): db->query(\"".$sql."\");", VERBOSE_MODE);              $sql = "SELECT * FROM ".DB_PREFIXE."evenement
1429          if (database::isError($res)) {              WHERE evenement=".$this->valF['evenement'];
1430              die($res->getMessage());              $res = $db->query($sql);
1431          }              $this->addToLog("triggermodifierapres(): db->query(\"".$sql."\");", VERBOSE_MODE);
1432          while ($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)) {              if (database::isError($res)) {
1433              // Si la date de retour signature est éditée on vérifie si il existe un événement automatique                  die($res->getMessage());
             if ($this->getVal('date_retour_signature') == "" AND  
                 $this->valF['date_retour_signature'] != "" AND  
                 $row['evenement_retour_signature'] != "") {  
                 $new_instruction = new instruction("]", $db, $DEBUG);  
                 // Création d'un tableau avec la liste des champs de l'instruction  
                 foreach($new_instruction->champs as $champ) {  
                     $valNewInstr[$champ] = "";  
                 }  
                 // Définition des valeurs de la nouvelle instruction  
                 $valNewInstr["evenement"] = $row['evenement_retour_signature'];  
                 $valNewInstr["destinataire"] = $this->valF['destinataire'];  
                 $valNewInstr["dossier"] = $this->valF['dossier'];  
                 $valNewInstr["date_evenement"] = $this->f->formatDate($this->valF['date_retour_signature']);  
                 $valNewInstr["date_envoi_signature"] = $this->f->formatDate($this->valF['date_envoi_signature']);  
                 $valNewInstr["date_retour_signature"] = $this->f->formatDate($this->valF['date_retour_signature']);  
                 $valNewInstr["date_envoi_rar"] = $this->f->formatDate($this->valF['date_envoi_rar']);  
                 $valNewInstr["date_retour_rar"] = $this->f->formatDate($this->valF['date_retour_rar']);  
                 $valNewInstr["date_envoi_controle_legalite"] = $this->f->formatDate($this->valF['date_envoi_controle_legalite']);  
                 $valNewInstr["date_retour_controle_legalite"] = $this->f->formatDate($this->valF['date_retour_controle_legalite']);  
                 $new_instruction->ajouter($valNewInstr,$db, $DEBUG);  
             }  
             // Si la date de retour AR est éditée on vérifie si il existe un événement automatique  
             if ($this->getVal('date_retour_rar') == "" AND  
                 $this->valF['date_retour_rar'] != "" AND  
                 $row['evenement_retour_ar'] != "" ) {  
                 $new_instruction = new instruction("]", $db, $DEBUG);  
                 // Création d'un tableau avec la liste des champs de l'instruction  
                 foreach($new_instruction->champs as $champ) {  
                     $valNewInstr[$champ] = "";  
                 }  
                 // Définition des valeurs de la nouvelle instruction  
                 $valNewInstr["evenement"] = $row['evenement_retour_ar'];  
                 $valNewInstr["destinataire"] = $this->valF['destinataire'];  
                 $valNewInstr["dossier"] = $this->valF['dossier'];  
                 $valNewInstr["date_evenement"] = $this->f->formatDate($this->valF['date_retour_rar']);  
                 $valNewInstr["date_envoi_signature"] = $this->f->formatDate($this->valF['date_envoi_signature']);  
                 $valNewInstr["date_retour_signature"] = $this->f->formatDate($this->valF['date_retour_signature']);  
                 $valNewInstr["date_envoi_rar"] = $this->f->formatDate($this->valF['date_envoi_rar']);  
                 $valNewInstr["date_retour_rar"] = $this->f->formatDate($this->valF['date_retour_rar']);  
                 $valNewInstr["date_envoi_controle_legalite"] = $this->f->formatDate($this->valF['date_envoi_controle_legalite']);  
                 $valNewInstr["date_retour_controle_legalite"] = $this->f->formatDate($this->valF['date_retour_controle_legalite']);  
                 $new_instruction->ajouter($valNewInstr,$db, $DEBUG);  
1434              }              }
1435                while ($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)) {
1436                    // Si la date de retour signature est éditée on vérifie si il existe un événement automatique
1437                    if ($this->getVal('date_retour_signature') == "" AND
1438                        $this->valF['date_retour_signature'] != "" AND
1439                        $row['evenement_retour_signature'] != "") {
1440                        $new_instruction = new instruction("]", $db, $DEBUG);
1441                        // Création d'un tableau avec la liste des champs de l'instruction
1442                        foreach($new_instruction->champs as $champ) {
1443                            $valNewInstr[$champ] = "";
1444                        }
1445                        // Définition des valeurs de la nouvelle instruction
1446                        $valNewInstr["evenement"] = $row['evenement_retour_signature'];
1447                        $valNewInstr["destinataire"] = $this->valF['destinataire'];
1448                        $valNewInstr["dossier"] = $this->valF['dossier'];
1449                        $valNewInstr["date_evenement"] = $this->f->formatDate($this->valF['date_retour_signature']);
1450                        $valNewInstr["date_envoi_signature"] = $this->f->formatDate($this->valF['date_envoi_signature']);
1451                        $valNewInstr["date_retour_signature"] = $this->f->formatDate($this->valF['date_retour_signature']);
1452                        $valNewInstr["date_envoi_rar"] = $this->f->formatDate($this->valF['date_envoi_rar']);
1453                        $valNewInstr["date_retour_rar"] = $this->f->formatDate($this->valF['date_retour_rar']);
1454                        $valNewInstr["date_envoi_controle_legalite"] = $this->f->formatDate($this->valF['date_envoi_controle_legalite']);
1455                        $valNewInstr["date_retour_controle_legalite"] = $this->f->formatDate($this->valF['date_retour_controle_legalite']);
1456                        $retour = $new_instruction->ajouter($valNewInstr,$db, $DEBUG);
1457                        
1458                        //Si une erreur s'est produite
1459                        if ($retour == false){
1460                            $this->correct = false ;
1461                            $this->msg .= $new_instruction->msg;
1462                            return false;
1463                        }
1464                    }
1465                    // Si la date de retour AR est éditée on vérifie si il existe un événement automatique
1466                    if ($this->getVal('date_retour_rar') == "" AND
1467                        $this->valF['date_retour_rar'] != "" AND
1468                        $row['evenement_retour_ar'] != "" ) {
1469                        $new_instruction = new instruction("]", $db, $DEBUG);
1470                        // Création d'un tableau avec la liste des champs de l'instruction
1471                        foreach($new_instruction->champs as $champ) {
1472                            $valNewInstr[$champ] = "";
1473                        }
1474                        // Définition des valeurs de la nouvelle instruction
1475                        $valNewInstr["evenement"] = $row['evenement_retour_ar'];
1476                        $valNewInstr["destinataire"] = $this->valF['destinataire'];
1477                        $valNewInstr["dossier"] = $this->valF['dossier'];
1478                        $valNewInstr["date_evenement"] = $this->f->formatDate($this->valF['date_retour_rar']);
1479                        $valNewInstr["date_envoi_signature"] = $this->f->formatDate($this->valF['date_envoi_signature']);
1480                        $valNewInstr["date_retour_signature"] = $this->f->formatDate($this->valF['date_retour_signature']);
1481                        $valNewInstr["date_envoi_rar"] = $this->f->formatDate($this->valF['date_envoi_rar']);
1482                        $valNewInstr["date_retour_rar"] = $this->f->formatDate($this->valF['date_retour_rar']);
1483                        $valNewInstr["date_envoi_controle_legalite"] = $this->f->formatDate($this->valF['date_envoi_controle_legalite']);
1484                        $valNewInstr["date_retour_controle_legalite"] = $this->f->formatDate($this->valF['date_retour_controle_legalite']);
1485                        $retour = $new_instruction->ajouter($valNewInstr,$db, $DEBUG);
1486                        
1487                        //Si une erreur s'est produite
1488                        if ($retour == false){
1489                            $this->correct = false ;
1490                            $this->msg .= $new_instruction->msg;
1491                            return false;
1492                        }
1493                    }
1494                }
1495            }
1496    
1497            //Récupération du type de l'événement
1498            $sql = "SELECT type
1499            FROM ".DB_PREFIXE."evenement
1500            WHERE evenement=".$this->valF['evenement'];
1501            $type_evmt = $db->getOne($sql);
1502            $this->addToLog("triggermodifierapres(): db->getone(\"".$sql."\");", VERBOSE_MODE);
1503            if (database::isError($type_evmt)) {
1504                die($type_evmt->getMessage());
1505          }          }
1506    
1507          /**          /**
# Line 1385  class instruction extends instruction_ge Line 1509  class instruction extends instruction_ge
1509           */           */
1510          // Si l'option référentiel arrêté est activé et l'événement est de type          // Si l'option référentiel arrêté est activé et l'événement est de type
1511          // arrêté          // arrêté
1512            
1513          if ($this->f->getParameter('option_referentiel_arrete') != "" AND          if ($this->f->getParameter('option_referentiel_arrete') != "" AND
1514              $type_evmt == "arrete") {              $type_evmt == "arrete") {
1515              if ($this->valF['date_retour_signature'] != $this->getVal('date_retour_signature')) {              if ($this->valF['date_retour_signature'] != $this->getVal('date_retour_signature')) {
# Line 1439  class instruction extends instruction_ge Line 1564  class instruction extends instruction_ge
1564            
1565                  $rowArrete = $resArrete->fetchRow(DB_FETCHMODE_ASSOC);                  $rowArrete = $resArrete->fetchRow(DB_FETCHMODE_ASSOC);
1566                  $msgenque->setArreteInfo($rowArrete);                  $msgenque->setArreteInfo($rowArrete);
1567                  $msgenque->enqueueMessage($msgenque::$ARRETE_ENVOI);                                  $return = $msgenque->enqueueMessage($msgenque::$ARRETE_ENVOI);
1568                    //Si une erreur s'est produite on arrête le traitement et on
1569                    //retourne une erreur
1570                    if ($return !== 0){
1571                        
1572                        //On supprime les messages précédents
1573                        $this->msg = '';
1574                        $this->addToMessage(_("Une erreur s'est produite lors de ".
1575                            "l'envoi du message au referentiel arrêté. Merci de ".
1576                            "contacter votre administrateur."));
1577                        //On ne valide pas le formulaire
1578                        $this->addToMessage("<br/>"._("SAISIE NON ENREGISTREE")."<br/>");
1579                        $this->correct = false;
1580                        return false;
1581                    }
1582                    else {
1583                        $this->addToMessage(_("Le message a ete transmis au ".
1584                            "referentiel arrêté."));
1585                    }
1586              }              }
1587          }          }
1588    
1589          // Mise à jour des données du dossier d'autorisation          // Mise à jour des données du dossier d'autorisation
1590          require_once "../obj/dossier_autorisation.class.php";          require_once "../obj/dossier_autorisation.class.php";
1591          $da = new dossier_autorisation($this->getNumDemandeAutorFromDossier($this->valF['dossier']), $this->db, DEBUG);          $da = new dossier_autorisation($this->getNumDemandeAutorFromDossier($this->valF['dossier']), $this->db, DEBUG);
1592          $da->majDossierAutorisation();          if($da->majDossierAutorisation() === false) {
1593                $this->addToMessage(_("Erreur lors de la mise a jour des donnees du dossier d'autorisation. Contactez votre administrateur."));
1594                $this->correct = false;
1595                return false;
1596            }
1597      }      }
1598    
1599      function triggersupprimer($id,&$db,$val,$DEBUG) {      function triggersupprimer($id,&$db,$val,$DEBUG) {
# Line 1572  class instruction extends instruction_ge Line 1719  class instruction extends instruction_ge
1719          // Mise à jour des données du dossier d'autorisation          // Mise à jour des données du dossier d'autorisation
1720          require_once "../obj/dossier_autorisation.class.php";          require_once "../obj/dossier_autorisation.class.php";
1721          $da = new dossier_autorisation($this->getNumDemandeAutorFromDossier($val["dossier"]), $this->db, DEBUG);          $da = new dossier_autorisation($this->getNumDemandeAutorFromDossier($val["dossier"]), $this->db, DEBUG);
1722          $da->majDossierAutorisation();          if($da->majDossierAutorisation() === false) {
1723                $this->addToMessage(_("Erreur lors de la mise a jour des donnees du dossier d'autorisation. Contactez votre administrateur."));
1724                $this->correct = false;
1725                return false;
1726            }
1727      }      }
1728    
1729      // Vérifie la restriction sur l'événement      // Vérifie la restriction sur l'événement
# Line 1580  class instruction extends instruction_ge Line 1731  class instruction extends instruction_ge
1731          parent::verifier($val, $db, $DEBUG);          parent::verifier($val, $db, $DEBUG);
1732    
1733          if ( isset($val['evenement']) && is_numeric($val['evenement'])){          if ( isset($val['evenement']) && is_numeric($val['evenement'])){
1734              //Récupère la restriction              $restriction = $this->get_restriction($val['evenement']);
             $sql= "SELECT  
                       restriction  
                   FROM  
                       ".DB_PREFIXE."evenement  
                   WHERE  
                       evenement =".$val['evenement'];  
       
             $res = $db->query($sql);  
             $this->addToLog("verifier(): db->query(\"".$sql."\");", VERBOSE_MODE);  
             if (database::isError($res)) {  
                 die($res->getMessage());  
             }          
             $row=& $res->fetchRow(DB_FETCHMODE_ASSOC);  
1735            
1736              //Test qu'une restriction est présente              //Test qu'une restriction est présente
1737              if ( isset($row['restriction']) && $row['restriction'] != "" ){              if ($restriction != "" ){
   
                 $restriction = $row['restriction'];  
1738                                    
1739                  //Test si la restriction est valide                  //Test si la restriction est valide
1740                  if ( !$this->restrictionIsValid($restriction) ){                  if ( !$this->restrictionIsValid($restriction) ){
1741                                            
                     $this->correct=false;  
1742                      $this->addToMessage(_("Restriction non valide"));                      $this->addToMessage(_("Restriction non valide"));
1743                  }  
1744                  else {                      // Si l'événement courant est un événement retour
1745                                            // alors la restriction est appliquée
1746                      $this->correct = true;                      if(!$this->is_evenement_retour($val['evenement'])) {
1747                            $this->correct = false;
1748                            return false;
1749                        }
1750                  }                  }
1751    
1752                  // Liste des opérateurs possible                  // Liste des opérateurs possible
# Line 1763  class instruction extends instruction_ge Line 1901  class instruction extends instruction_ge
1901                  return -1;                  return -1;
1902              }              }
1903          }          }
   
1904          //Mise à jour des données          //Mise à jour des données
1905          if ( $uid != '' && $uid != 'OP_FAILURE' ){          if ( $uid != '' && $uid != 'OP_FAILURE' ){
1906              // Logger              // Logger

Legend:
Removed from v.2792  
changed lines
  Added in v.2905

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26