/[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 2644 by nhaye, Fri Dec 27 16:28:38 2013 UTC revision 2806 by nhaye, Tue Mar 11 15:20:11 2014 UTC
# Line 12  Line 12 
12   *     var $idxformulaire;   *     var $idxformulaire;
13   * - modification des données dans dossier trigger avant   * - modification des données dans dossier trigger avant
14   * [modify dossier data with trigger function]   * [modify dossier data with trigger function]
15   * - function moisdate : pour ajouter des mois a une date   * - function mois_date : pour ajouter des mois a une date
16   *   [add months (delay) and calculation final date]   *   [add months (delay) and calculation final date]
17   * - voir script_lang.js : bible ...   * - voir script_lang.js : bible ...
18   *   *
# Line 347  class instruction extends instruction_ge Line 347  class instruction extends instruction_ge
347              $form->setType('date_retour_controle_legalite','datedisabled');              $form->setType('date_retour_controle_legalite','datedisabled');
348              $form->setType('date_finalisation_courrier','datedisabled');              $form->setType('date_finalisation_courrier','datedisabled');
349    
350              // 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');  
             }  
351    
352              if($maj==0){ // add              if($maj==0){ // add
353                  $form->setType('instruction', 'hiddenstatic');                  $form->setType('instruction', 'hidden');
354                    $form->setType('lettretype', 'hidden');
355                  $form->setType('evenement', 'select');                  $form->setType('evenement', 'select');
356                  $form->setType('date_evenement', 'date2');                  $form->setType('date_evenement', 'date2');
357              }else{ // modify              }else{ // modify
# Line 365  class instruction extends instruction_ge Line 361  class instruction extends instruction_ge
361                  $form->setType('date_evenement', 'date2');                  $form->setType('date_evenement', 'date2');
362                  // necessaire pour calcul de date en modification                  // necessaire pour calcul de date en modification
363                  //$form->setType('delai', 'hiddenstatic');                  //$form->setType('delai', 'hiddenstatic');
364                    // l'administrateur peut modifier les champs de retour de date
365                    if ($this->f->user_is_admin == true) {
366                        $form->setType('date_retour_signature','date');
367                        $form->setType('date_retour_rar','date');
368                        $form->setType('date_retour_controle_legalite','date');
369                    }
370              }              }
371          } elseif($maj==2){          } elseif($maj==2){
372              $form->setType('dossier', 'hidden');              $form->setType('dossier', 'hidden');
# Line 835  class instruction extends instruction_ge Line 837  class instruction extends instruction_ge
837          // Booléen retourné          // Booléen retourné
838          $res_bool = true;          $res_bool = true;
839    
840          // Si le tableau n'est pas vide          // S'il y a un comparateur
841          if (count($tabRestriction) > 0) {          if (in_array(">=", $tabRestriction)
842                || in_array("<=", $tabRestriction)) {
843    
844              // Boucle dans le tableau pour récupérer seulement les valeurs              // Si le tableau n'est pas vide
845              foreach ($tabRestriction as $key => $value) {              if (count($tabRestriction) > 0) {
846                    
847                  //                  // Boucle dans le tableau pour récupérer seulement les valeurs
848                  if (!in_array($value, $operateurs)) {                  foreach ($tabRestriction as $key => $value) {
849                      if ($this->getRestrictionValue($value) != false) {                      
850                          $res[] = $this->getRestrictionValue($value);                      //
851                      } else {                      if (!in_array($value, $operateurs)) {
852                          return false;                          if ($this->getRestrictionValue($value) != false) {
853                                $res[] = $this->getRestrictionValue($value);
854                            } else {
855                                // Message d'erreur
856                                $error_message = sprintf(_("Le champ %s de l'instruction %s est vide"), "<span class='bold'>".$value."</span>", "<span class='bold'>".$this->valF["instruction"]."</span>");
857                                $this->addToMessage($error_message);
858                                // Arrête le traitement
859                                return false;
860                            }
861                      }                      }
862                  }                  }
             }  
863    
864              // Boucle dans le tableau                  // Boucle dans le tableau
865              // commence à 1 car le 0 doit rester inchangé tout au long du                  // commence à 1 car le 0 doit rester inchangé tout au long du
866              // traitement                  // traitement
867              for ($i = 1; $i<count($tabRestriction); $i++) {                  for ($i = 1; $i<count($tabRestriction); $i++) {
868                                        
869                  // Récupère le comparateur                      // Récupère le comparateur
870                  if ($tabRestriction[$i] === ">="                      if ($tabRestriction[$i] === ">="
871                      || $tabRestriction[$i] === "<=") {                          || $tabRestriction[$i] === "<=") {
872                      $comparateur = $tabRestriction[$i];                          $comparateur = $tabRestriction[$i];
873                  }                      }
874    
875                  // Si l'opérateur qui suit est un "+"                      // Si l'opérateur qui suit est un "+"
876                  if ($tabRestriction[$i] === "+") {                      if ($tabRestriction[$i] === "+") {
877                      $dateDep = strtotime($res[$j]);                          $dateDep = $res[$j];
878                      unset($res[$j]);$j++;                          unset($res[$j]);$j++;
879                      $duree = $res[$j];                          $duree = $res[$j];
880                      unset($res[$j]);                          unset($res[$j]);
881                      $res[$j] = date('Y-m-d',                          $res[$j] = $this->f->mois_date($dateDep, $duree, "+");
882                          strtotime('+'.$duree.' month', $dateDep));                      }
883                  }  
884                        // Si l'opérateur qui suit est un "-"
885                  // Si l'opérateur qui suit est un "-"                      if ($tabRestriction[$i] === "-") {
886                  if ($tabRestriction[$i] === "-") {                          $dateDep = $res[$j];
887                      $dateDep = strtotime($res[$j]);                          unset($res[$j]);$j++;
888                      unset($res[$j]);$j++;                          $duree = $res[$j];
889                      $duree = $res[$j];                          unset($res[$j]);
890                      unset($res[$j]);                          $res[$j] = $this->f->mois_date($dateDep, $duree, "-");
891                      $res[$j] = date('Y-m-d',                      }
                         strtotime('-'.$duree.' month', $dateDep));  
892                  }                  }
893                    
894              }              }
               
         }  
895    
896          // Si les tableau des résultats n'est pas vide              // Si les tableau des résultats n'est pas vide
897          if (count($res) > 0) {              if (count($res) > 0) {
             //  
             $res_bool = false;  
             // Effectue le test  
             if ($comparateur === ">=") {  
898                  //                  //
899                  if (strtotime($res[0]) >= strtotime($res[$j])) {                  $res_bool = false;
900                      $res_bool = true;                  // Effectue le test
901                    if ($comparateur === ">=") {
902                        //
903                        if (strtotime($res[0]) >= strtotime($res[$j])) {
904                            $res_bool = true;
905                        }
906                  }                  }
907              }                  if ($comparateur === "<=") {
             if ($comparateur === "<=") {  
908    
909                  if (strtotime($res[0]) <= strtotime($res[$j])) {                      if (strtotime($res[0]) <= strtotime($res[$j])) {
910                      $res_bool = true;                          $res_bool = true;
911                        }
912                  }                  }
913              }              }
914            // Sinon une erreur s'affiche
915            } else {
916    
917                // Message d'erreur
918                $error_message = _("La restriction est sans comparateur");
919                $this->addToMessage($error_message);
920                // Arrête le traitement
921                return false;
922          }          }
923                    
924          return $res_bool;          return $res_bool;
# Line 933  class instruction extends instruction_ge Line 950  class instruction extends instruction_ge
950          // Retourne la valeur du champ          // Retourne la valeur du champ
951          return $return;          return $return;
952      }      }
953        
954      function regle($regle){      /**
955         * Calcul des règle d'action.
956         * @param string $rule      Règle d'action
957         * @param string $rule_name Nom de la règle
958         * @param string $type      Type de la règle
959         *
960         * @return mixed            Résultat de la règle
961         */
962        function regle($rule, $rule_name, $type = null) {
963    
964          // Supprime tous les espaces de la chaîne de caractère          // Supprime tous les espaces de la chaîne de caractère
965          $regle = str_replace(' ', '', $regle);          $rule = str_replace(' ', '', $rule);
966          // Coupe la chaîne au niveau des "+"          // Coupe la chaîne au niveau de l'opérateur
967          $temp = explode ("+",$regle);          $operands = explode ("+", $rule);
968          //echo '|'.$regle;          // Nombre d'opérande
969          // cas rejet          $nb_operands = count($operands);
970          if($regle=="null") // 1 dimension -> null  
971            // Règle à null
972            if ($rule == "null") {
973              return null;              return null;
         if(sizeof($temp)==1) // 1 dimension  
             if($temp[0]=="archive_date_depot") // initialisation avec le depot  
                 return $this->$regle;  
             else // cas general  
                 return $this->valF[$regle];  
         if(sizeof($temp)==2){ // 2 dimensions  
             if($temp[0]=="archive_date_depot") //initialisation avec le depot  
                 if(is_numeric($temp[1]))  
                     return  $this->moisdate($this->$temp[0], $temp[1]);    
                 else  
                     return  $this->moisdate($this->$temp[0], $this->valF[$temp[1]]);  
             if($temp[0]=="archive_delai") // majoration de delai  
                 return  $this->valF[$temp[0]]+$this->valF[$temp[1]];  
             // cas general 2 dimensions  
             if(is_numeric($temp[1]))  
                 return $this->moisdate($this->valF[$temp[0]], $temp[1]);  
             else                
                return  $this->moisdate($this->valF[$temp[0]], $this->valF[$temp[1]]);  
         }  
         if(sizeof($temp)==3){ // 3 dimensions  
             // cas date de validite de sursis  
             if(is_numeric($temp[1]))  
                 $temp1 = $this->moisdate($this->valF[$temp[0]], $temp[1]);  
             else                
                 $temp1 = $this->moisdate($this->valF[$temp[0]], $this->valF[$temp[1]]);  
             if(is_numeric($temp[2]))  
                 return $this->moisdate($temp1, $temp[2]);  
             else  
                 return $this->moisdate($temp1, $this->valF[$temp[2]]);  
974          }          }
975    
976            // Si c'est une règle spécifique
977            if ($rule_name == "regle_autorite_competente"
978                || $rule_name == "regle_etat"
979                || $rule_name == "regle_accord_tacite"
980                || $rule_name == "regle_avis") {
981                //
982                return $this->valF[$rule];
983            }
984    
985            // Tableau des champs de type date
986            $rule_type_date = array(
987                "regle_date_limite",
988                "regle_date_notification_delai",
989                "regle_date_complet",
990                "regle_date_validite",
991                "regle_date_decision",
992                "regle_date_chantier",
993                "regle_date_achevement",
994                "regle_date_conformite",
995                "regle_date_rejet",
996                "regle_date_dernier_depot",
997                "regle_date_limite_incompletude",
998            );
999            // Tableau des champs de type numérique
1000            $rule_type_numeric = array(
1001                "regle_delai",
1002                "regle_delai_incompletude",
1003            );
1004    
1005            // Définit le type du champ
1006            if (in_array($rule_name, $rule_type_date) == true) {
1007                $type = "date";
1008            }
1009            if (in_array($rule_name, $rule_type_numeric) == true) {
1010                $type = "numeric";
1011            }
1012    
1013            // Initialisation des variables
1014            $key_date = 0;
1015            $total_numeric = 0;
1016    
1017            // Pour chaque opérande
1018            foreach ($operands as $key => $operand) {
1019    
1020                // Si c'est une règle de type date
1021                if ($type == 'date') {
1022                    // Vérifie si au moins une des opérandes est une date
1023                    if (!is_numeric($operand)
1024                        && isset($this->valF[$operand])
1025                        && $this->f->check_date($this->valF[$operand]) == true) {
1026                        // Récupère la position de la date
1027                        $key_date = $key;
1028                    }
1029                    // Les autres opérandes doivent être que des numériques
1030                    if (is_numeric($operand) == true) {
1031                        // Ajoute l'opérande au total
1032                        $total_numeric += $operand;
1033                    }
1034                    if (!is_numeric($operand)
1035                        && isset($this->valF[$operand])
1036                        && is_numeric($this->valF[$operand]) == true) {
1037                        // Ajoute l'opérande au total
1038                        $total_numeric += $this->valF[$operand];
1039                    }
1040                }
1041    
1042                // Si c'est une règle de type numérique
1043                if ($type == 'numeric') {
1044                    // Les opérandes doivent être que des numériques
1045                    if (is_numeric($operand) == true) {
1046                        // Ajoute l'opérande au total
1047                        $total_numeric += $operand;
1048                    }
1049                    if (!is_numeric($operand)
1050                        && isset($this->valF[$operand])
1051                        && is_numeric($this->valF[$operand]) == true) {
1052                        // Ajoute l'opérande au total
1053                        $total_numeric += $this->valF[$operand];
1054                    }
1055                }
1056            }
1057    
1058            // Résultat pour une règle de type date
1059            if ($type == 'date') {
1060                // Retourne le calcul de la date
1061                return $this->f->mois_date($this->valF[$operands[$key_date]],
1062                    $total_numeric, "+");
1063            }
1064    
1065            // Résultat pour une règle de type numérique
1066            if ($type == 'numeric') {
1067                // Retourne le calcul
1068                return $total_numeric;
1069            }
1070            
1071      }      }
       
       
1072    
1073      function triggerajouterapres($id,&$db,$val,$DEBUG) {      function triggerajouterapres($id,&$db,$val,$DEBUG) {
1074          /**          /**
# Line 1028  class instruction extends instruction_ge Line 1121  class instruction extends instruction_ge
1121    
1122              // pour chacune des regles, on applique la regle              // pour chacune des regles, on applique la regle
1123              if($row['regle_delai']!=''){              if($row['regle_delai']!=''){
1124                  $valF['delai'] = $this->regle($row['regle_delai']);                  $valF['delai'] = $this->regle($row['regle_delai'], 'regle_delai');
1125              }              }
1126              if($row['regle_accord_tacite']!=''){              if($row['regle_accord_tacite']!=''){
1127                  $valF['accord_tacite'] = $this->regle($row['regle_accord_tacite']);                  $valF['accord_tacite'] = $this->regle($row['regle_accord_tacite'], 'regle_accord_tacite');
1128              }              }
1129              if($row['regle_avis']!=''){              if($row['regle_avis']!=''){
1130                  $valF['avis_decision'] = $this->regle($row['regle_avis']);                  $valF['avis_decision'] = $this->regle($row['regle_avis'], 'regle_avis');
1131              }              }
1132              if($row['regle_date_limite']!=''){              if($row['regle_date_limite']!=''){
1133                  $valF['date_limite']= $this->regle($row['regle_date_limite']);                  $valF['date_limite']= $this->regle($row['regle_date_limite'], 'regle_date_limite');
1134              }              }
1135              if($row['regle_date_complet']!=''){              if($row['regle_date_complet']!=''){
1136                  $valF['date_complet']= $this->regle($row['regle_date_complet']);                  $valF['date_complet']= $this->regle($row['regle_date_complet'], 'regle_date_complet');
1137              }              }
1138              if($row['regle_date_dernier_depot']!=''){              if($row['regle_date_dernier_depot']!=''){
1139                  $valF['date_dernier_depot']= $this->regle($row['regle_date_dernier_depot']);                  $valF['date_dernier_depot']= $this->regle($row['regle_date_dernier_depot'], 'regle_date_dernier_depot');
1140              }              }
1141              if($row['regle_date_notification_delai']!=''){              if($row['regle_date_notification_delai']!=''){
1142                  $valF['date_notification_delai']= $this->regle($row['regle_date_notification_delai']);                  $valF['date_notification_delai']= $this->regle($row['regle_date_notification_delai'], 'regle_date_notification_delai');
1143              }              }
1144              if($row['regle_date_decision']!=''){              if($row['regle_date_decision']!=''){
1145                  $valF['date_decision']= $this->regle($row['regle_date_decision']);                  $valF['date_decision']= $this->regle($row['regle_date_decision'], 'regle_date_decision');
1146              }              }
1147              if($row['regle_date_rejet']!=''){              if($row['regle_date_rejet']!=''){
1148                  $valF['date_rejet']= $this->regle($row['regle_date_rejet']);                  $valF['date_rejet']= $this->regle($row['regle_date_rejet'], 'regle_date_rejet');
1149              }              }
1150              if($row['regle_date_validite']!=''){              if($row['regle_date_validite']!=''){
1151                  $valF['date_validite']= $this->regle($row['regle_date_validite']);                  $valF['date_validite']= $this->regle($row['regle_date_validite'], 'regle_date_validite');
1152              }              }
1153              if($row['regle_date_chantier']!=''){              if($row['regle_date_chantier']!=''){
1154                  $valF['date_chantier']= $this->regle($row['regle_date_chantier']);                  $valF['date_chantier']= $this->regle($row['regle_date_chantier'], 'regle_date_chantier');
1155              }              }
1156              if($row['regle_date_achevement']!=''){              if($row['regle_date_achevement']!=''){
1157                  $valF['date_achevement']= $this->regle($row['regle_date_achevement']);                  $valF['date_achevement']= $this->regle($row['regle_date_achevement'], 'regle_date_achevement');
1158              }              }
1159              if($row['regle_date_conformite']!=''){              if($row['regle_date_conformite']!=''){
1160                  $valF['date_conformite']= $this->regle($row['regle_date_conformite']);                  $valF['date_conformite']= $this->regle($row['regle_date_conformite'], 'regle_date_conformite');
1161              }              }
1162              if($row['regle_date_limite_incompletude']!=''){              if($row['regle_date_limite_incompletude']!=''){
1163                  $valF['date_limite_incompletude']= $this->regle($row['regle_date_limite_incompletude']);                  $valF['date_limite_incompletude']= $this->regle($row['regle_date_limite_incompletude'], 'regle_date_limite_incompletude');
1164              }              }
1165              if($row['regle_delai_incompletude']!=''){              if($row['regle_delai_incompletude']!=''){
1166                  $valF['delai_incompletude']= $this->regle($row['regle_delai_incompletude']);                  $valF['delai_incompletude']= $this->regle($row['regle_delai_incompletude'], 'regle_delai_incompletude');
1167              }              }
1168              if($row['regle_autorite_competente']!=''){              if($row['regle_autorite_competente']!=''){
1169                  $valF['autorite_competente']= $this->regle($row['regle_autorite_competente']);                  $valF['autorite_competente']= $this->regle($row['regle_autorite_competente'], 'regle_autorite_competente');
1170              }              }
1171              if($row['regle_etat']!=''){              if($row['regle_etat']!=''){
1172                  // Si on est dans le cas général ou qu'on est en incomplétude et                  // Si on est dans le cas général ou qu'on est en incomplétude et
1173                  // qu'on a un événement de type incomplétude alors : on stocke                  // qu'on a un événement de type incomplétude alors : on stocke
1174                  // l'état dans la variable courante                  // l'état dans la variable courante
1175                  if ($incompletude == FALSE OR $this->valEvenement['type'] == "incompletude") {                  if ($incompletude == FALSE OR $this->valEvenement['type'] == "incompletude") {
1176                      $valF['etat'] = $this->regle($row['regle_etat']);                      $valF['etat'] = $this->regle($row['regle_etat'], 'regle_etat');
1177                  } else {                  } else {
1178                      $valF['etat_pendant_incompletude'] = $this->regle($row['regle_etat']);                      $valF['etat_pendant_incompletude'] = $this->regle($row['regle_etat'], 'regle_etat');
1179                  }                  }
1180              }              }
1181              if($this->valEvenement['evenement_suivant_tacite'] != '') {              if($this->valEvenement['evenement_suivant_tacite'] != '') {
# Line 1158  class instruction extends instruction_ge Line 1251  class instruction extends instruction_ge
1251          // Mise à jour des données du dossier d'autorisation          // Mise à jour des données du dossier d'autorisation
1252          require_once "../obj/dossier_autorisation.class.php";          require_once "../obj/dossier_autorisation.class.php";
1253          $da = new dossier_autorisation($this->getNumDemandeAutorFromDossier($this->valF['dossier']), $this->db, DEBUG);          $da = new dossier_autorisation($this->getNumDemandeAutorFromDossier($this->valF['dossier']), $this->db, DEBUG);
1254          $da->majDossierAutorisation();          if($da->majDossierAutorisation() === false) {
1255                $this->addToMessage(_("Erreur lors de la mise a jour des donnees techniques. Contactez votre administrateur."));
1256                $this->correct = false;
1257                return false;
1258            }
1259      }          }    
1260    
1261      function triggermodifierapres($id,&$db,$val,$DEBUG) {      function triggermodifierapres($id,&$db,$val,$DEBUG) {
# Line 1191  class instruction extends instruction_ge Line 1288  class instruction extends instruction_ge
1288          while ($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)){          while ($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)){
1289              // application des regles sur le courrier + delai              // application des regles sur le courrier + delai
1290              if(preg_match("/date_evenement/",$row['regle_date_limite'])){              if(preg_match("/date_evenement/",$row['regle_date_limite'])){
1291                  $valF['date_limite']= $this->regle($row['regle_date_limite']);                  $valF['date_limite']= $this->regle($row['regle_date_limite'], 'regle_date_limite');
1292              }              }
1293              if(preg_match("/date_evenement/",$row['regle_date_complet'])){              if(preg_match("/date_evenement/",$row['regle_date_complet'])){
1294                  $valF['date_complet']= $this->regle($row['regle_date_complet']);                  $valF['date_complet']= $this->regle($row['regle_date_complet'], 'regle_date_complet');
1295              }              }
1296              if(preg_match("/date_evenement/",$row['regle_date_dernier_depot'])){              if(preg_match("/date_evenement/",$row['regle_date_dernier_depot'])){
1297                  $valF['date_dernier_depot']= $this->regle($row['regle_date_dernier_depot']);                  $valF['date_dernier_depot']= $this->regle($row['regle_date_dernier_depot'], 'regle_date_dernier_depot');
1298              }              }
1299              if(preg_match("/date_evenement/",$row['regle_date_notification_delai'])){              if(preg_match("/date_evenement/",$row['regle_date_notification_delai'])){
1300                  $valF['date_notification_delai']= $this->regle($row['regle_date_notification_delai']);                  $valF['date_notification_delai']= $this->regle($row['regle_date_notification_delai'], 'regle_date_notification_delai');
1301              }              }
1302              if(preg_match("/date_evenement/",$row['regle_date_decision'])){              if(preg_match("/date_evenement/",$row['regle_date_decision'])){
1303                  $valF['date_decision']= $this->regle($row['regle_date_decision']);                  $valF['date_decision']= $this->regle($row['regle_date_decision'], 'regle_date_decision');
1304              }              }
1305              if(preg_match("/date_evenement/",$row['regle_date_rejet'])){              if(preg_match("/date_evenement/",$row['regle_date_rejet'])){
1306                  $valF['date_rejet']= $this->regle($row['regle_date_rejet']);                  $valF['date_rejet']= $this->regle($row['regle_date_rejet'], 'regle_date_rejet');
1307              }              }
1308              if(preg_match("/date_evenement/",$row['regle_date_validite'])){              if(preg_match("/date_evenement/",$row['regle_date_validite'])){
1309                  $valF['date_validite']= $this->regle($row['regle_date_validite']);                  $valF['date_validite']= $this->regle($row['regle_date_validite'], 'regle_date_validite');
1310              }              }
1311              if(preg_match("/date_evenement/",$row['regle_date_chantier'])){              if(preg_match("/date_evenement/",$row['regle_date_chantier'])){
1312                  $valF['date_chantier']= $this->regle($row['regle_date_chantier']);                  $valF['date_chantier']= $this->regle($row['regle_date_chantier'], 'regle_date_chantier');
1313              }              }
1314              if(preg_match("/date_evenement/",$row['regle_date_achevement'])){              if(preg_match("/date_evenement/",$row['regle_date_achevement'])){
1315                  $valF['date_achevement']= $this->regle($row['regle_date_achevement']);                  $valF['date_achevement']= $this->regle($row['regle_date_achevement'], 'regle_date_achevement');
1316              }              }
1317              if(preg_match("/date_evenement/",$row['regle_date_conformite'])){              if(preg_match("/date_evenement/",$row['regle_date_conformite'])){
1318                  $valF['date_conformite']= $this->regle($row['regle_date_conformite']);                  $valF['date_conformite']= $this->regle($row['regle_date_conformite'], 'regle_date_conformite');
1319              }              }
1320          }          }
1321          // Si des valeurs ont été calculées alors on met à jour l'enregistrement          // Si des valeurs ont été calculées alors on met à jour l'enregistrement
# Line 1256  class instruction extends instruction_ge Line 1353  class instruction extends instruction_ge
1353                  $valNewInstr["evenement"] = $row['evenement_retour_signature'];                  $valNewInstr["evenement"] = $row['evenement_retour_signature'];
1354                  $valNewInstr["destinataire"] = $this->valF['destinataire'];                  $valNewInstr["destinataire"] = $this->valF['destinataire'];
1355                  $valNewInstr["dossier"] = $this->valF['dossier'];                  $valNewInstr["dossier"] = $this->valF['dossier'];
1356                  $valNewInstr["date_evenement"] = date("d/m/Y");                  $valNewInstr["date_evenement"] = $this->f->formatDate($this->valF['date_retour_signature']);
1357                  $valNewInstr["date_envoi_signature"] = $this->f->formatDate($this->valF['date_envoi_signature']);                  $valNewInstr["date_envoi_signature"] = $this->f->formatDate($this->valF['date_envoi_signature']);
1358                  $valNewInstr["date_retour_signature"] = $this->f->formatDate($this->valF['date_retour_signature']);                  $valNewInstr["date_retour_signature"] = $this->f->formatDate($this->valF['date_retour_signature']);
1359                  $valNewInstr["date_envoi_rar"] = $this->f->formatDate($this->valF['date_envoi_rar']);                  $valNewInstr["date_envoi_rar"] = $this->f->formatDate($this->valF['date_envoi_rar']);
# Line 1278  class instruction extends instruction_ge Line 1375  class instruction extends instruction_ge
1375                  $valNewInstr["evenement"] = $row['evenement_retour_ar'];                  $valNewInstr["evenement"] = $row['evenement_retour_ar'];
1376                  $valNewInstr["destinataire"] = $this->valF['destinataire'];                  $valNewInstr["destinataire"] = $this->valF['destinataire'];
1377                  $valNewInstr["dossier"] = $this->valF['dossier'];                  $valNewInstr["dossier"] = $this->valF['dossier'];
1378                  $valNewInstr["date_evenement"] = date("d/m/Y");                  $valNewInstr["date_evenement"] = $this->f->formatDate($this->valF['date_retour_rar']);
1379                  $valNewInstr["date_envoi_signature"] = $this->f->formatDate($this->valF['date_envoi_signature']);                  $valNewInstr["date_envoi_signature"] = $this->f->formatDate($this->valF['date_envoi_signature']);
1380                  $valNewInstr["date_retour_signature"] = $this->f->formatDate($this->valF['date_retour_signature']);                  $valNewInstr["date_retour_signature"] = $this->f->formatDate($this->valF['date_retour_signature']);
1381                  $valNewInstr["date_envoi_rar"] = $this->f->formatDate($this->valF['date_envoi_rar']);                  $valNewInstr["date_envoi_rar"] = $this->f->formatDate($this->valF['date_envoi_rar']);
# Line 1355  class instruction extends instruction_ge Line 1452  class instruction extends instruction_ge
1452          // Mise à jour des données du dossier d'autorisation          // Mise à jour des données du dossier d'autorisation
1453          require_once "../obj/dossier_autorisation.class.php";          require_once "../obj/dossier_autorisation.class.php";
1454          $da = new dossier_autorisation($this->getNumDemandeAutorFromDossier($this->valF['dossier']), $this->db, DEBUG);          $da = new dossier_autorisation($this->getNumDemandeAutorFromDossier($this->valF['dossier']), $this->db, DEBUG);
1455          $da->majDossierAutorisation();          if($da->majDossierAutorisation() === false) {
1456                $this->addToMessage(_("Erreur lors de la mise a jour des donnees techniques. Contactez votre administrateur."));
1457                $this->correct = false;
1458                return false;
1459            }
1460      }      }
1461    
1462      function triggersupprimer($id,&$db,$val,$DEBUG) {      function triggersupprimer($id,&$db,$val,$DEBUG) {
# Line 1481  class instruction extends instruction_ge Line 1582  class instruction extends instruction_ge
1582          // Mise à jour des données du dossier d'autorisation          // Mise à jour des données du dossier d'autorisation
1583          require_once "../obj/dossier_autorisation.class.php";          require_once "../obj/dossier_autorisation.class.php";
1584          $da = new dossier_autorisation($this->getNumDemandeAutorFromDossier($val["dossier"]), $this->db, DEBUG);          $da = new dossier_autorisation($this->getNumDemandeAutorFromDossier($val["dossier"]), $this->db, DEBUG);
1585          $da->majDossierAutorisation();          if($da->majDossierAutorisation() === false) {
1586      }              $this->addToMessage(_("Erreur lors de la mise a jour des donnees techniques. Contactez votre administrateur."));
1587                $this->correct = false;
1588      // =============================================              return false;
1589      // calcul de date avec ajout de mois (delais)          }
     // [add months (delay) and calculation final date]  
     // LIMITE DE LA FONCTION si delai >24 MOIS  
     // [limit : delay < 24 month]  
     // =============================================  
     function moisdate($date,$delaimois) {  
        $temp = explode("-" , $date);  
        $jour = (int) $temp[2];  
        $mois = (int) $temp[1];  
        $annee = (int) $temp[0];  
        // calcul si delai superieur à 12 (limite 24) [delay > 24 month]  
        if($delaimois>=12){  
            $delaimois=$delaimois-12;  
            $annee=$annee+1;  
        }  
        if($delaimois>=12){  
            $delaimois=$delaimois-12;  
            $annee=$annee+1;  
        }  
        // mois  
        $mois=$mois+$delaimois;  
        // calcul mois annee  [calculation number of years if > 12 month]  
        // nb de mois > à 12  
        if ($mois>12){  
            $mois=$mois-12;  
            $annee=$annee+1;  
        }  
        // Calcul du nombre de jours dans le mois sélectionné [calculation number of days]  
         switch($mois) {  
             case "2":  
               if ($annee % 4 == 0 && $annee % 100 != 0 || $annee % 400 == 0)  
                   $jourmax = 29;  
               else  
                   $jourmax = 28;  
             break;  
             case "4":  
             case "6":  
             case "9":  
             case "11":  
              $jourmax = 30;  
              break;  
             default:  
              $jourmax = 31;  
         }  
         if ($jour > $jourmax)  
            $jour = $jourmax;  
     //$dateretour=$annee."-".$mois."-".$jour;  
     return $annee."-".$mois."-".$jour ;  
1590      }      }
1591    
1592      // Vérifie la restriction sur l'événement      // Vérifie la restriction sur l'événement
# Line 1725  class instruction extends instruction_ge Line 1779  class instruction extends instruction_ge
1779          }          }
1780    
1781          //Mise à jour des données          //Mise à jour des données
1782          if ( $uid != '' || $uid == 'OP_FAILURE' ){          if ( $uid != '' && $uid != 'OP_FAILURE' ){
1783              // Logger              // Logger
1784              $this->addToLog("finaliser() - begin", EXTRA_VERBOSE_MODE);              $this->addToLog("finaliser() - begin", EXTRA_VERBOSE_MODE);
1785              // Recuperation de la valeur de la cle primaire de l'objet              // Recuperation de la valeur de la cle primaire de l'objet

Legend:
Removed from v.2644  
changed lines
  Added in v.2806

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26