1 |
<?php |
2 |
/** |
3 |
* Ce script permet de gérer le registre de l'affichage réglementaire : |
4 |
* - interface pour déclencher le traitement : lien vers une fonction javascript |
5 |
* qui permet l'appel en ajax du traitement et l'appel à l'édition, |
6 |
* - appel en ajax : traitement mise à jour de tous les dossiers en cours pour |
7 |
* ajouter une étape d'instruction qui correspond à l'événement attestation |
8 |
* d'affichage si l'élément n'en possède pas déjà un. |
9 |
* |
10 |
* @package openfoncier |
11 |
* @version SVN : $Id$ |
12 |
*/ |
13 |
|
14 |
// |
15 |
require_once "../obj/utils.class.php"; |
16 |
$f = new utils("nohtml", "affichage_reglementaire_registre", |
17 |
_("guichet unique")." -> "._("affichage reglementaire")." -> "._("registre")); |
18 |
|
19 |
/** |
20 |
* Gestion des erreurs : vérification du paramétrage |
21 |
*/ |
22 |
$erreur = false; |
23 |
// Récupération de l'événement correspondant à l'instruction à insérer pour chaque dossier du registre |
24 |
$aff_obli = $f->getParameter('affichage_obligatoire'); |
25 |
// Si le paramétrage est vide ou pas numérique |
26 |
if ($aff_obli == "" or !is_numeric($aff_obli)) { |
27 |
$erreur = true; |
28 |
} else { |
29 |
// Vérification de l'existance de l'événement |
30 |
$sql_verif = "SELECT count(*) FROM ".DB_PREFIXE."evenement WHERE evenement = ".$aff_obli; |
31 |
$res_verif = $f->db->getOne($sql_verif); |
32 |
$f->addToLog("app/affichage_reglementaire_registre.php: db->getOne(\"".$sql_verif."\");", VERBOSE_MODE); |
33 |
$f->isDatabaseError($res_verif); |
34 |
// Si pas de correspondance d'événement dans la base |
35 |
if ($res_verif === '0') { |
36 |
$erreur = true; |
37 |
} |
38 |
} |
39 |
// Affichage d'un message si en erreur |
40 |
if ($erreur == true) { |
41 |
// Affichage de la structure de la page |
42 |
$f->setFlag(NULL); |
43 |
$f->display(); |
44 |
// Affichage de l'erreur et arrêt du script |
45 |
$f->displayMessage("error", _("Erreur de parametrage. Contactez votre administrateur.")); |
46 |
die(); |
47 |
} |
48 |
|
49 |
// Si un affichage réglementaire des dossiers est demandé (appel en ajax) |
50 |
if (isset($_GET['update'])) { |
51 |
// Désactivation des logs car appel en ajax |
52 |
$f->disableLog(); |
53 |
// Récupération de la liste des dossiers d'instruction dont l'état est |
54 |
// "encours". Une jointure avec la table instruction permet de savoir si le |
55 |
// dossier a déjà été affiché ou non en récupérant l'id de l'événement qui |
56 |
// représente l'attestion de l'affichage réglementaire dans le paramétrage. |
57 |
$sql = "SELECT dossier.dossier, instruction.instruction |
58 |
FROM |
59 |
".DB_PREFIXE."dossier |
60 |
LEFT JOIN ".DB_PREFIXE."instruction |
61 |
ON dossier.dossier=instruction.dossier |
62 |
AND instruction.evenement=".$aff_obli." |
63 |
WHERE |
64 |
(select |
65 |
e.statut |
66 |
from |
67 |
".DB_PREFIXE."etat e |
68 |
where |
69 |
e.etat = dossier.etat |
70 |
) = 'encours'"; |
71 |
$res = $f->db->query($sql); |
72 |
$f->addToLog("app/affichage_reglementaire_registre.php: db->query(\"".$sql."\");", VERBOSE_MODE); |
73 |
$f->isDatabaseError($res); |
74 |
// Boucle sur les dossiers |
75 |
while ($row =& $res->fetchRow(DB_FETCHMODE_ASSOC)) { |
76 |
// Si aucune instruction n'a d'événement de type "affichage_obligatoire" |
77 |
// on créé une nouvelle instruction avec cet événement. |
78 |
if ($row["instruction"] == "") { |
79 |
// Récupération de l'identifiant de la lettretype correspondant à |
80 |
// l'événement qui représente l'attestion de l'affichage |
81 |
// réglementaire dans le paramétrage. |
82 |
$sql = "SELECT |
83 |
lettretype |
84 |
FROM |
85 |
".DB_PREFIXE."evenement |
86 |
WHERE |
87 |
evenement = ".$aff_obli; |
88 |
$lettretype = $f->db->getone($sql); |
89 |
$f->addToLog("app/affichage_reglementaire_registre.php: db->getone(\"".$sql."\");", VERBOSE_MODE); |
90 |
$f->isDatabaseError($lettretype); |
91 |
// Insertion de l'étape d'instruction |
92 |
$valF = array ( |
93 |
"instruction" => $f->db->nextId(DB_PREFIXE."instruction"), |
94 |
"destinataire" => $row['dossier'], |
95 |
"date_evenement" =>date("Y-m-d"), |
96 |
"evenement" =>$aff_obli, |
97 |
"lettretype" =>$lettretype, |
98 |
"complement" => "","complement2" =>"", |
99 |
"dossier" =>$row['dossier'],"action" =>"initialisation", |
100 |
"delai" => "2","etat" =>"notifier", |
101 |
"accord_tacite" =>"Oui","delai_notification" =>"1", |
102 |
"archive_delai" => "0","archive_date_complet" =>NULL, |
103 |
"archive_date_rejet" =>NULL,"archive_date_limite" =>NULL, |
104 |
"archive_date_notification_delai" => NULL, |
105 |
"archive_accord_tacite" =>"Non","archive_etat" =>"initialiser", |
106 |
"archive_date_decision" =>NULL, "archive_avis" => "", |
107 |
"archive_date_validite" =>NULL,"archive_date_achevement" =>NULL, |
108 |
"archive_date_chantier" =>NULL, "archive_date_conformite" => NULL, |
109 |
"archive_date_dernier_depot" => NULL, |
110 |
"complement3" =>"","complement4" =>"", |
111 |
"complement5" =>"", "complement6" => "", |
112 |
"complement7" =>"","complement8" =>"", |
113 |
"complement9" =>"", "complement10" => "", |
114 |
"complement11" =>"","complement12" =>"", |
115 |
"complement13" =>"", "complement14" => "", |
116 |
"complement15" =>"","avis_decision" =>NULL |
117 |
); |
118 |
$resInsertInstr = $f->db->autoExecute(DB_PREFIXE."instruction", $valF, DB_AUTOQUERY_INSERT); |
119 |
$f->addToLog("app/affichage_reglementaire_registre.php: db->autoexecute(\"".DB_PREFIXE."instruction\", ".print_r($valF, true).", DB_AUTOQUERY_INSERT);", VERBOSE_MODE); |
120 |
$f->isDatabaseError($resInsertInstr); |
121 |
} |
122 |
} |
123 |
} else { // Sinon affichage standard |
124 |
// Affichage de la structure de la page |
125 |
$f->setFlag(NULL); |
126 |
$f->display(); |
127 |
// Ouverture de la balise - Conteneur d'onglets |
128 |
echo "<div id=\"formulaire\">\n\n"; |
129 |
// Affichage de la liste des onglets |
130 |
$f->layout->display_tab_lien_onglet_un(_("imprimer le registre d'affichage reglementaire")); |
131 |
// Ouverture de la balise - Onglet 1 |
132 |
echo "\t<div id=\"tabs-1\">\n\n"; |
133 |
// Affichage de la description de l'écran |
134 |
$f->displayDescription(_("Cet ecran permet d'imprimer le registre d'affichage ". |
135 |
"reglementaire des dossiers d'instruction en cours. ". |
136 |
"La validation de ce traitement ajoute sur chacun des ". |
137 |
"dossiers d'instruction concernes la possibilite ". |
138 |
"d'imprimer une attestation d'affichage.")); |
139 |
// Ouverture du formulaire |
140 |
echo "\t<form"; |
141 |
echo " method=\"post\""; |
142 |
echo " id=\"affichage_reglementaire_registre_form\""; |
143 |
echo " action=\"#\""; |
144 |
echo ">\n"; |
145 |
// |
146 |
echo "<div id=\"msg\"></div>"; |
147 |
// Affichage du bouton |
148 |
echo "\t<div class=\"formControls\">\n"; |
149 |
$f->layout->display_form_button(array("value" => _("Valider"), "onclick" => "affichage_reglementaire_registre(this); return false;", )); |
150 |
echo "\t</div>\n"; |
151 |
// Fermeture du fomulaire |
152 |
echo "\t</form>\n"; |
153 |
// Fermeture de la balise - Onglet 1 |
154 |
echo "\n\t</div>\n"; |
155 |
// Fermeture de la balise - Conteneur d'onglets |
156 |
echo "</div>\n"; |
157 |
} |
158 |
|
159 |
?> |