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 |
|
|
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 |
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'); |
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 |
// |
// |
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 |
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 |
|
// les administrateurs technique et fonctionnel peuvent |
374 |
|
// modifier tous les champs de date |
375 |
|
if ($this->f->isAccredited("instruction_modification_dates")) { |
376 |
|
$form->setType('date_envoi_signature', 'date'); |
377 |
|
$form->setType('date_retour_signature', 'date'); |
378 |
|
$form->setType('date_envoi_rar', 'date'); |
379 |
|
$form->setType('date_retour_rar', 'date'); |
380 |
|
$form->setType('date_envoi_controle_legalite', 'date'); |
381 |
|
$form->setType('date_retour_controle_legalite', 'date'); |
382 |
|
$form->setType('date_finalisation_courrier', 'date'); |
383 |
|
} |
384 |
} |
} |
385 |
} elseif($maj==2){ |
} elseif($maj==2){ |
386 |
$form->setType('dossier', 'hidden'); |
$form->setType('dossier', 'hidden'); |
405 |
//date_retour_controle_legalite si ce n'est pas un arrêté |
//date_retour_controle_legalite si ce n'est pas un arrêté |
406 |
if ( !is_numeric($this->getVal("avis_decision"))){ |
if ( !is_numeric($this->getVal("avis_decision"))){ |
407 |
|
|
408 |
$form->setType("date_envoi_controle_legalite", "hidden"); |
$form->setType("date_envoi_controle_legalite", "hiddendate"); |
409 |
$form->setType("date_retour_controle_legalite", "hidden"); |
$form->setType("date_retour_controle_legalite", "hiddendate"); |
410 |
} |
} |
411 |
} |
} |
412 |
|
|
460 |
// du dossier d'instruction en cours |
// du dossier d'instruction en cours |
461 |
$sql = "SELECT |
$sql = "SELECT |
462 |
evenement.evenement, |
evenement.evenement, |
463 |
CONCAT(evenement.libelle, ' ['||evenement.action||']') as lib |
evenement.libelle as lib |
464 |
FROM ".DB_PREFIXE."dossier |
FROM ".DB_PREFIXE."dossier |
465 |
INNER JOIN ".DB_PREFIXE."lien_dossier_instruction_type_evenement |
INNER JOIN ".DB_PREFIXE."lien_dossier_instruction_type_evenement |
466 |
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 |
488 |
$form->setSelect("evenement", $contenu); |
$form->setSelect("evenement", $contenu); |
489 |
} else { |
} else { |
490 |
$sql = "SELECT |
$sql = "SELECT |
491 |
CONCAT(evenement.libelle, ' ['||evenement.action||']') as lib |
evenement.libelle as lib |
492 |
FROM ".DB_PREFIXE."evenement |
FROM ".DB_PREFIXE."evenement |
493 |
WHERE evenement.evenement=".$this->getVal("evenement").""; |
WHERE evenement.evenement=".$this->getVal("evenement").""; |
494 |
$res = $db->getone($sql); |
$res = $db->getone($sql); |
782 |
$this->valF['autorite_competente']=$row['autorite_competente']; |
$this->valF['autorite_competente']=$row['autorite_competente']; |
783 |
} |
} |
784 |
// Récupération de la valeur de la lettre type |
// Récupération de la valeur de la lettre type |
785 |
// 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 |
|
|
} |
|
786 |
} |
} |
787 |
// 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 |
788 |
$sql = "SELECT * FROM ".DB_PREFIXE."dossier |
$sql = "SELECT * FROM ".DB_PREFIXE."dossier |
821 |
// Test si une restriction est valide |
// Test si une restriction est valide |
822 |
// return boolean |
// return boolean |
823 |
function restrictionIsValid($restriction){ |
function restrictionIsValid($restriction){ |
824 |
|
if($this->restriction_valid != null) { |
825 |
|
return $this->restriction_valid; |
826 |
|
} |
827 |
// Liste des opérateurs possible |
// Liste des opérateurs possible |
828 |
$operateurs = array(">=", "<=", "+", "-"); |
$operateurs = array(">=", "<=", "+", "-"); |
829 |
// Liste des opérateurs avec espace |
// Liste des opérateurs avec espace |
937 |
} |
} |
938 |
|
|
939 |
/** |
/** |
940 |
|
* Permet de définir si l'événement passé en paramètre est un événement retour. |
941 |
|
* @param integer $evenement événement à tester |
942 |
|
* |
943 |
|
* @return boolean retourne true si événement retour sinon false |
944 |
|
*/ |
945 |
|
function is_evenement_retour($evenement) { |
946 |
|
if(empty($evenement) || !is_numeric($evenement)) { |
947 |
|
return ""; |
948 |
|
} |
949 |
|
$sql = "SELECT retour |
950 |
|
FROM ".DB_PREFIXE."evenement |
951 |
|
WHERE evenement = ".$evenement; |
952 |
|
$retour = $this->db->getOne($sql); |
953 |
|
$this->addToLog("verifier(): db->query(\"".$sql."\");", VERBOSE_MODE); |
954 |
|
if (database::isError($retour)) { |
955 |
|
die($retour->getMessage()); |
956 |
|
} |
957 |
|
if ($retour == 't') { |
958 |
|
return true; |
959 |
|
} else { |
960 |
|
return false; |
961 |
|
} |
962 |
|
} |
963 |
|
|
964 |
|
/** |
965 |
|
* Retourne le champ restriction de l'événement passé en paramètre. |
966 |
|
* |
967 |
|
* @param integer $evenement id de l'événement sur lequel récupérer la restriction |
968 |
|
* |
969 |
|
* @return string contenu du champ restriction |
970 |
|
*/ |
971 |
|
function get_restriction($evenement) { |
972 |
|
if(empty($evenement) || !is_numeric($evenement)) { |
973 |
|
return ""; |
974 |
|
} |
975 |
|
//Récupère la restriction |
976 |
|
$sql= "SELECT |
977 |
|
restriction |
978 |
|
FROM |
979 |
|
".DB_PREFIXE."evenement |
980 |
|
WHERE |
981 |
|
evenement =".$evenement; |
982 |
|
|
983 |
|
$restriction = $this->db->getOne($sql); |
984 |
|
$this->addToLog("verifier(): db->query(\"".$sql."\");", VERBOSE_MODE); |
985 |
|
if (database::isError($restriction)) { |
986 |
|
die($restriction->getMessage()); |
987 |
|
} |
988 |
|
return $restriction; |
989 |
|
} |
990 |
|
|
991 |
|
/** |
992 |
* Récupère la valeur du champ dans la restriction |
* Récupère la valeur du champ dans la restriction |
993 |
* @param string $restrictionValue Nom du champ |
* @param string $restrictionValue Nom du champ |
994 |
* @return mixed Valeur du champ |
* @return mixed Valeur du champ |
1300 |
$msgenque = new MessageEnqueuer(); |
$msgenque = new MessageEnqueuer(); |
1301 |
$msgenque->setDossierInstructionIdentifier($this->valF['dossier']); |
$msgenque->setDossierInstructionIdentifier($this->valF['dossier']); |
1302 |
$msgenque->setDecision($evenement_libelle); |
$msgenque->setDecision($evenement_libelle); |
1303 |
$msgenque->enqueueMessage($msgenque::$ERP_ARRETE_PC_EFFECTUE); |
$return = $msgenque->enqueueMessage($msgenque::$ERP_ARRETE_PC_EFFECTUE); |
1304 |
|
//Si une erreur s'est produite on arrête le traitement et on |
1305 |
|
//retourne une erreur |
1306 |
|
if ($return !== 0){ |
1307 |
|
|
1308 |
|
$this->addToMessage(_("Une erreur s'est produite lors de ". |
1309 |
|
"l'envoi du message au referentiel ERP. Merci de ". |
1310 |
|
"contacter votre administrateur")); |
1311 |
|
//On ne valide pas le formulaire |
1312 |
|
$this->addToMessage("<br/>"._("SAISIE NON ENREGISTREE")."<br/>"); |
1313 |
|
$this->correct = false; |
1314 |
|
return false; |
1315 |
|
} |
1316 |
|
else { |
1317 |
|
$this->addToMessage(_("Le message a ete transmis au ". |
1318 |
|
"referentiel ERP.")); |
1319 |
|
} |
1320 |
} |
} |
1321 |
if ($this->valF['evenement'] == |
if ($this->valF['evenement'] == |
1322 |
$this->f->getParameter('erp_evenement_refuser_dossier')) { |
$this->f->getParameter('erp_evenement_refuser_dossier')) { |
1323 |
$msgenque = new MessageEnqueuer(); |
$msgenque = new MessageEnqueuer(); |
1324 |
$msgenque->setDossierInstructionIdentifier($this->valF['dossier']); |
$msgenque->setDossierInstructionIdentifier($this->valF['dossier']); |
1325 |
$msgenque->enqueueMessage($msgenque::$ERP_DECISION_CONFORMITE_EFFECTUE); |
$return = $msgenque->enqueueMessage($msgenque::$ERP_DECISION_CONFORMITE_EFFECTUE); |
1326 |
|
//Si une erreur s'est produite on arrête le traitement et on |
1327 |
|
//retourne une erreur |
1328 |
|
if ($return !== 0){ |
1329 |
|
|
1330 |
|
$this->addToMessage(_("Une erreur s'est produite lors de ". |
1331 |
|
"l'envoi du message au referentiel ERP. Merci de ". |
1332 |
|
"contacter votre administrateur")); |
1333 |
|
//On ne valide pas le formulaire |
1334 |
|
$this->addToMessage("<br/>"._("SAISIE NON ENREGISTREE")."<br/>"); |
1335 |
|
$this->correct = false; |
1336 |
|
return false; |
1337 |
|
} |
1338 |
|
else { |
1339 |
|
$this->addToMessage(_("Le message a ete transmis au ". |
1340 |
|
"referentiel ERP.")); |
1341 |
|
} |
1342 |
} |
} |
1343 |
} |
} |
1344 |
} // fin de if ($this->f->getParameter('option_erp') != "") |
} // fin de if ($this->f->getParameter('option_erp') != "") |
1346 |
// Mise à jour des données du dossier d'autorisation |
// Mise à jour des données du dossier d'autorisation |
1347 |
require_once "../obj/dossier_autorisation.class.php"; |
require_once "../obj/dossier_autorisation.class.php"; |
1348 |
$da = new dossier_autorisation($this->getNumDemandeAutorFromDossier($this->valF['dossier']), $this->db, DEBUG); |
$da = new dossier_autorisation($this->getNumDemandeAutorFromDossier($this->valF['dossier']), $this->db, DEBUG); |
1349 |
$da->majDossierAutorisation(); |
if($da->majDossierAutorisation() === false) { |
1350 |
|
$this->addToMessage(_("Erreur lors de la mise a jour des donnees du dossier d'autorisation. Contactez votre administrateur.")); |
1351 |
|
$this->correct = false; |
1352 |
|
return false; |
1353 |
|
} |
1354 |
} |
} |
1355 |
|
|
1356 |
function triggermodifierapres($id,&$db,$val,$DEBUG) { |
function triggermodifierapres($id,&$db,$val,$DEBUG) { |
1426 |
$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')."]"); |
1427 |
} |
} |
1428 |
|
|
1429 |
// Récupération de tous les paramètres de l'événement sélectionné |
$restriction = $this->get_restriction($val['evenement']); |
1430 |
$sql = "SELECT * FROM ".DB_PREFIXE."evenement |
$this->restriction_valid = $this->restrictionIsValid($restriction); |
1431 |
WHERE evenement=".$this->valF['evenement']; |
|
1432 |
$res = $db->query($sql); |
if($restriction == "" || $this->restriction_valid ){ |
1433 |
$this->addToLog("triggermodifierapres(): db->query(\"".$sql."\");", VERBOSE_MODE); |
// Récupération de tous les paramètres de l'événement sélectionné |
1434 |
if (database::isError($res)) { |
$sql = "SELECT * FROM ".DB_PREFIXE."evenement |
1435 |
die($res->getMessage()); |
WHERE evenement=".$this->valF['evenement']; |
1436 |
} |
$res = $db->query($sql); |
1437 |
while ($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)) { |
$this->addToLog("triggermodifierapres(): db->query(\"".$sql."\");", VERBOSE_MODE); |
1438 |
// Si la date de retour signature est éditée on vérifie si il existe un événement automatique |
if (database::isError($res)) { |
1439 |
if ($this->getVal('date_retour_signature') == "" AND |
die($res->getMessage()); |
|
$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); |
|
1440 |
} |
} |
1441 |
|
while ($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)) { |
1442 |
|
// Si la date de retour signature est éditée on vérifie si il existe un événement automatique |
1443 |
|
if ($this->getVal('date_retour_signature') == "" AND |
1444 |
|
$this->valF['date_retour_signature'] != "" AND |
1445 |
|
$row['evenement_retour_signature'] != "") { |
1446 |
|
$new_instruction = new instruction("]", $db, $DEBUG); |
1447 |
|
// Création d'un tableau avec la liste des champs de l'instruction |
1448 |
|
foreach($new_instruction->champs as $champ) { |
1449 |
|
$valNewInstr[$champ] = ""; |
1450 |
|
} |
1451 |
|
// Définition des valeurs de la nouvelle instruction |
1452 |
|
$valNewInstr["evenement"] = $row['evenement_retour_signature']; |
1453 |
|
$valNewInstr["destinataire"] = $this->valF['destinataire']; |
1454 |
|
$valNewInstr["dossier"] = $this->valF['dossier']; |
1455 |
|
$valNewInstr["date_evenement"] = $this->f->formatDate($this->valF['date_retour_signature']); |
1456 |
|
$valNewInstr["date_envoi_signature"] = $this->f->formatDate($this->valF['date_envoi_signature']); |
1457 |
|
$valNewInstr["date_retour_signature"] = $this->f->formatDate($this->valF['date_retour_signature']); |
1458 |
|
$valNewInstr["date_envoi_rar"] = $this->f->formatDate($this->valF['date_envoi_rar']); |
1459 |
|
$valNewInstr["date_retour_rar"] = $this->f->formatDate($this->valF['date_retour_rar']); |
1460 |
|
$valNewInstr["date_envoi_controle_legalite"] = $this->f->formatDate($this->valF['date_envoi_controle_legalite']); |
1461 |
|
$valNewInstr["date_retour_controle_legalite"] = $this->f->formatDate($this->valF['date_retour_controle_legalite']); |
1462 |
|
$retour = $new_instruction->ajouter($valNewInstr,$db, $DEBUG); |
1463 |
|
|
1464 |
|
//Si une erreur s'est produite et qu'il s'agit d'un problème |
1465 |
|
//de restriction |
1466 |
|
if ($retour == false && !$new_instruction->restriction_valid){ |
1467 |
|
$this->msg .= $new_instruction->msg; |
1468 |
|
$this->addToLog("triggermodifierapres() : evenement retour ". |
1469 |
|
"instruction ".$this->valF[$this->clePrimaire]." : ". |
1470 |
|
$new_instruction->msg); |
1471 |
|
} |
1472 |
|
//Si une erreur s'est produite après le test de la restriction |
1473 |
|
elseif ($retour == false && $new_instruction->restriction_valid){ |
1474 |
|
$this->correct = false ; |
1475 |
|
$this->msg .= $new_instruction->msg; |
1476 |
|
return false; |
1477 |
|
} |
1478 |
|
} |
1479 |
|
// Si la date de retour AR est éditée on vérifie si il existe un événement automatique |
1480 |
|
if ($this->getVal('date_retour_rar') == "" AND |
1481 |
|
$this->valF['date_retour_rar'] != "" AND |
1482 |
|
$row['evenement_retour_ar'] != "" ) { |
1483 |
|
$new_instruction = new instruction("]", $db, $DEBUG); |
1484 |
|
// Création d'un tableau avec la liste des champs de l'instruction |
1485 |
|
foreach($new_instruction->champs as $champ) { |
1486 |
|
$valNewInstr[$champ] = ""; |
1487 |
|
} |
1488 |
|
// Définition des valeurs de la nouvelle instruction |
1489 |
|
$valNewInstr["evenement"] = $row['evenement_retour_ar']; |
1490 |
|
$valNewInstr["destinataire"] = $this->valF['destinataire']; |
1491 |
|
$valNewInstr["dossier"] = $this->valF['dossier']; |
1492 |
|
$valNewInstr["date_evenement"] = $this->f->formatDate($this->valF['date_retour_rar']); |
1493 |
|
$valNewInstr["date_envoi_signature"] = $this->f->formatDate($this->valF['date_envoi_signature']); |
1494 |
|
$valNewInstr["date_retour_signature"] = $this->f->formatDate($this->valF['date_retour_signature']); |
1495 |
|
$valNewInstr["date_envoi_rar"] = $this->f->formatDate($this->valF['date_envoi_rar']); |
1496 |
|
$valNewInstr["date_retour_rar"] = $this->f->formatDate($this->valF['date_retour_rar']); |
1497 |
|
$valNewInstr["date_envoi_controle_legalite"] = $this->f->formatDate($this->valF['date_envoi_controle_legalite']); |
1498 |
|
$valNewInstr["date_retour_controle_legalite"] = $this->f->formatDate($this->valF['date_retour_controle_legalite']); |
1499 |
|
$retour = $new_instruction->ajouter($valNewInstr,$db, $DEBUG); |
1500 |
|
|
1501 |
|
//Si une erreur s'est produite et qu'il s'agit d'un problème |
1502 |
|
//de restriction |
1503 |
|
if ($retour == false && !$new_instruction->restriction_valid){ |
1504 |
|
$this->msg .= $new_instruction->msg; |
1505 |
|
$this->addToLog("triggermodifierapres() : evenement retour ". |
1506 |
|
"instruction ".$this->valF[$this->clePrimaire]." : ". |
1507 |
|
$new_instruction->msg); |
1508 |
|
} |
1509 |
|
//Si une erreur s'est produite après le test de la restriction |
1510 |
|
elseif ($retour == false && $new_instruction->restriction_valid){ |
1511 |
|
$this->correct = false ; |
1512 |
|
$this->msg .= $new_instruction->msg; |
1513 |
|
return false; |
1514 |
|
} |
1515 |
|
} |
1516 |
|
} |
1517 |
|
} |
1518 |
|
|
1519 |
|
//Récupération du type de l'événement |
1520 |
|
$sql = "SELECT type |
1521 |
|
FROM ".DB_PREFIXE."evenement |
1522 |
|
WHERE evenement=".$this->valF['evenement']; |
1523 |
|
$type_evmt = $db->getOne($sql); |
1524 |
|
$this->addToLog("triggermodifierapres(): db->getone(\"".$sql."\");", VERBOSE_MODE); |
1525 |
|
if (database::isError($type_evmt)) { |
1526 |
|
die($type_evmt->getMessage()); |
1527 |
} |
} |
1528 |
|
|
1529 |
/** |
/** |
1531 |
*/ |
*/ |
1532 |
// 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 |
1533 |
// arrêté |
// arrêté |
1534 |
|
|
1535 |
if ($this->f->getParameter('option_referentiel_arrete') != "" AND |
if ($this->f->getParameter('option_referentiel_arrete') != "" AND |
1536 |
$type_evmt == "arrete") { |
$type_evmt == "arrete") { |
1537 |
if ($this->valF['date_retour_signature'] != $this->getVal('date_retour_signature')) { |
if ($this->valF['date_retour_signature'] != $this->getVal('date_retour_signature')) { |
1586 |
|
|
1587 |
$rowArrete = $resArrete->fetchRow(DB_FETCHMODE_ASSOC); |
$rowArrete = $resArrete->fetchRow(DB_FETCHMODE_ASSOC); |
1588 |
$msgenque->setArreteInfo($rowArrete); |
$msgenque->setArreteInfo($rowArrete); |
1589 |
$msgenque->enqueueMessage($msgenque::$ARRETE_ENVOI); |
$return = $msgenque->enqueueMessage($msgenque::$ARRETE_ENVOI); |
1590 |
|
//Si une erreur s'est produite on arrête le traitement et on |
1591 |
|
//retourne une erreur |
1592 |
|
if ($return !== 0){ |
1593 |
|
|
1594 |
|
//On supprime les messages précédents |
1595 |
|
$this->msg = ''; |
1596 |
|
$this->addToMessage(_("Une erreur s'est produite lors de ". |
1597 |
|
"l'envoi du message au referentiel arrêté. Merci de ". |
1598 |
|
"contacter votre administrateur.")); |
1599 |
|
//On ne valide pas le formulaire |
1600 |
|
$this->addToMessage("<br/>"._("SAISIE NON ENREGISTREE")."<br/>"); |
1601 |
|
$this->correct = false; |
1602 |
|
return false; |
1603 |
|
} |
1604 |
|
else { |
1605 |
|
$this->addToMessage(_("Le message a ete transmis au ". |
1606 |
|
"referentiel arrêté.")); |
1607 |
|
} |
1608 |
} |
} |
1609 |
} |
} |
1610 |
|
|
1611 |
// Mise à jour des données du dossier d'autorisation |
// Mise à jour des données du dossier d'autorisation |
1612 |
require_once "../obj/dossier_autorisation.class.php"; |
require_once "../obj/dossier_autorisation.class.php"; |
1613 |
$da = new dossier_autorisation($this->getNumDemandeAutorFromDossier($this->valF['dossier']), $this->db, DEBUG); |
$da = new dossier_autorisation($this->getNumDemandeAutorFromDossier($this->valF['dossier']), $this->db, DEBUG); |
1614 |
$da->majDossierAutorisation(); |
if($da->majDossierAutorisation() === false) { |
1615 |
|
$this->addToMessage(_("Erreur lors de la mise a jour des donnees du dossier d'autorisation. Contactez votre administrateur.")); |
1616 |
|
$this->correct = false; |
1617 |
|
return false; |
1618 |
|
} |
1619 |
} |
} |
1620 |
|
|
1621 |
function triggersupprimer($id,&$db,$val,$DEBUG) { |
function triggersupprimer($id,&$db,$val,$DEBUG) { |
1741 |
// Mise à jour des données du dossier d'autorisation |
// Mise à jour des données du dossier d'autorisation |
1742 |
require_once "../obj/dossier_autorisation.class.php"; |
require_once "../obj/dossier_autorisation.class.php"; |
1743 |
$da = new dossier_autorisation($this->getNumDemandeAutorFromDossier($val["dossier"]), $this->db, DEBUG); |
$da = new dossier_autorisation($this->getNumDemandeAutorFromDossier($val["dossier"]), $this->db, DEBUG); |
1744 |
$da->majDossierAutorisation(); |
if($da->majDossierAutorisation() === false) { |
1745 |
|
$this->addToMessage(_("Erreur lors de la mise a jour des donnees du dossier d'autorisation. Contactez votre administrateur.")); |
1746 |
|
$this->correct = false; |
1747 |
|
return false; |
1748 |
|
} |
1749 |
} |
} |
1750 |
|
|
1751 |
// Vérifie la restriction sur l'événement |
// Vérifie la restriction sur l'événement |
1753 |
parent::verifier($val, $db, $DEBUG); |
parent::verifier($val, $db, $DEBUG); |
1754 |
|
|
1755 |
if ( isset($val['evenement']) && is_numeric($val['evenement'])){ |
if ( isset($val['evenement']) && is_numeric($val['evenement'])){ |
1756 |
//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); |
|
1757 |
|
|
1758 |
//Test qu'une restriction est présente |
//Test qu'une restriction est présente |
1759 |
if ( isset($row['restriction']) && $row['restriction'] != "" ){ |
if ($restriction != "" ){ |
|
|
|
|
$restriction = $row['restriction']; |
|
1760 |
|
|
1761 |
//Test si la restriction est valide |
//Test si la restriction est valide |
1762 |
if ( !$this->restrictionIsValid($restriction) ){ |
$this->restriction_valid = $this->restrictionIsValid($restriction); |
1763 |
|
if ( !$this->restriction_valid ){ |
1764 |
|
|
|
$this->correct=false; |
|
1765 |
$this->addToMessage(_("Restriction non valide")); |
$this->addToMessage(_("Restriction non valide")); |
1766 |
} |
$this->correct = false; |
1767 |
else { |
return false; |
|
|
|
|
$this->correct = true; |
|
1768 |
} |
} |
1769 |
|
|
1770 |
// Liste des opérateurs possible |
// Liste des opérateurs possible |
1919 |
return -1; |
return -1; |
1920 |
} |
} |
1921 |
} |
} |
|
|
|
1922 |
//Mise à jour des données |
//Mise à jour des données |
1923 |
if ( $uid != '' && $uid != 'OP_FAILURE' ){ |
if ( $uid != '' && $uid != 'OP_FAILURE' ){ |
1924 |
// Logger |
// Logger |