/[openfoncier]/trunk/app/affichage_reglementaire_registre.php
ViewVC logotype

Annotation of /trunk/app/affichage_reglementaire_registre.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1635 - (hide annotations)
Mon Apr 8 17:34:25 2013 UTC (11 years, 9 months ago) by nhaye
File size: 7414 byte(s)
Amélioration du contrôle d'erreur sur le paramètre " affichage_obligatoire "

1 vpihour 1072 <?php
2     /**
3 fmichon 1467 * 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 vpihour 1072 *
10     * @package openfoncier
11     * @version SVN : $Id$
12     */
13 fmichon 1463
14 fmichon 1467 //
15 vpihour 1072 require_once "../obj/utils.class.php";
16 fmichon 1467 $f = new utils("nohtml", "affichage_reglementaire_registre",
17     _("guichet unique")." -> "._("affichage reglementaire")." -> "._("registre"));
18 vpihour 1072
19 nhaye 1635 /**
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 nhaye 1633 $aff_obli = $f->getParameter('affichage_obligatoire');
25 nhaye 1635 // 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 nhaye 1633
49 nhaye 1635 // Si un affichage réglementaire des dossiers est demandé (appel en ajax)
50     if (isset($_GET['update'])) {
51 fmichon 1467 // Désactivation des logs car appel en ajax
52 vpihour 1072 $f->disableLog();
53 fmichon 1467 // 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 vpihour 1072 FROM
59     ".DB_PREFIXE."dossier
60 fmichon 1467 LEFT JOIN ".DB_PREFIXE."instruction
61     ON dossier.dossier=instruction.dossier
62 nhaye 1633 AND instruction.evenement=".$aff_obli."
63 fmichon 1467 WHERE
64 vpihour 1072 (select
65     e.statut
66     from
67     ".DB_PREFIXE."etat e
68     where
69     e.etat = dossier.etat
70     ) = 'encours'";
71 fmichon 1467 $res = $f->db->query($sql);
72 fmichon 1463 $f->addToLog("app/affichage_reglementaire_registre.php: db->query(\"".$sql."\");", VERBOSE_MODE);
73 vpihour 1072 $f->isDatabaseError($res);
74 fmichon 1467 // 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 vpihour 1072 $sql = "SELECT
83     lettretype
84     FROM
85     ".DB_PREFIXE."evenement
86     WHERE
87 nhaye 1633 evenement = ".$aff_obli;
88 fmichon 1467 $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 vpihour 1072 $valF = array (
93     "instruction" => $f->db->nextId(DB_PREFIXE."instruction"),
94     "destinataire" => $row['dossier'],
95 vpihour 1127 "date_evenement" =>date("Y-m-d"),
96 nhaye 1633 "evenement" =>$aff_obli,
97 fmichon 1467 "lettretype" =>$lettretype,
98 vpihour 1072 "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 nhaye 1571 "archive_date_dernier_depot" => NULL,
110 vpihour 1072 "complement3" =>"","complement4" =>"",
111     "complement5" =>"", "complement6" => "",
112     "complement7" =>"","complement8" =>"",
113     "complement9" =>"", "complement10" => "",
114     "complement11" =>"","complement12" =>"",
115     "complement13" =>"", "complement14" => "",
116     "complement15" =>"","avis_decision" =>NULL
117     );
118 fmichon 1467 $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 vpihour 1072 }
122     }
123 fmichon 1467 } 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_onglet1(_("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 nhaye 1635 // 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 fmichon 1467 // 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 vpihour 1072 }
158 fmichon 1467
159     ?>

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26