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

Contents of /trunk/app/affichage_reglementaire_registre.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1467 - (show annotations)
Sun Mar 17 19:28:53 2013 UTC (11 years, 10 months ago) by fmichon
File size: 6320 byte(s)
Mise en cohérence de l'interface + Suppression du code inutile + Optimisation du traitement en supprimant les requêtes inutiles + Ajout de la confirmation par l'utilisateur avant le traitement

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 // Si un affichage réglementaire des dossiers est demandé (appel en ajax)
20 if (isset($_GET['update'])) {
21 // Désactivation des logs car appel en ajax
22 $f->disableLog();
23 // Récupération de la liste des dossiers d'instruction dont l'état est
24 // "encours". Une jointure avec la table instruction permet de savoir si le
25 // dossier a déjà été affiché ou non en récupérant l'id de l'événement qui
26 // représente l'attestion de l'affichage réglementaire dans le paramétrage.
27 $sql = "SELECT dossier.dossier, instruction.instruction
28 FROM
29 ".DB_PREFIXE."dossier
30 LEFT JOIN ".DB_PREFIXE."instruction
31 ON dossier.dossier=instruction.dossier
32 AND instruction.evenement=".$f->getParameter('affichage_obligatoire')."
33 WHERE
34 (select
35 e.statut
36 from
37 ".DB_PREFIXE."etat e
38 where
39 e.etat = dossier.etat
40 ) = 'encours'";
41 $res = $f->db->query($sql);
42 $f->addToLog("app/affichage_reglementaire_registre.php: db->query(\"".$sql."\");", VERBOSE_MODE);
43 $f->isDatabaseError($res);
44 // Boucle sur les dossiers
45 while ($row =& $res->fetchRow(DB_FETCHMODE_ASSOC)) {
46 // Si aucune instruction n'a d'événement de type "affichage_obligatoire"
47 // on créé une nouvelle instruction avec cet événement.
48 if ($row["instruction"] == "") {
49 // Récupération de l'identifiant de la lettretype correspondant à
50 // l'événement qui représente l'attestion de l'affichage
51 // réglementaire dans le paramétrage.
52 $sql = "SELECT
53 lettretype
54 FROM
55 ".DB_PREFIXE."evenement
56 WHERE
57 evenement = ".$f->getParameter('affichage_obligatoire');
58 $lettretype = $f->db->getone($sql);
59 $f->addToLog("app/affichage_reglementaire_registre.php: db->getone(\"".$sql."\");", VERBOSE_MODE);
60 $f->isDatabaseError($lettretype);
61 // Insertion de l'étape d'instruction
62 $valF = array (
63 "instruction" => $f->db->nextId(DB_PREFIXE."instruction"),
64 "destinataire" => $row['dossier'],
65 "date_evenement" =>date("Y-m-d"),
66 "evenement" =>$f->getParameter('affichage_obligatoire'),
67 "lettretype" =>$lettretype,
68 "complement" => "","complement2" =>"",
69 "dossier" =>$row['dossier'],"action" =>"initialisation",
70 "delai" => "2","etat" =>"notifier",
71 "accord_tacite" =>"Oui","delai_notification" =>"1",
72 "archive_delai" => "0","archive_date_complet" =>NULL,
73 "archive_date_rejet" =>NULL,"archive_date_limite" =>NULL,
74 "archive_date_notification_delai" => NULL,
75 "archive_accord_tacite" =>"Non","archive_etat" =>"initialiser",
76 "archive_date_decision" =>NULL, "archive_avis" => "",
77 "archive_date_validite" =>NULL,"archive_date_achevement" =>NULL,
78 "archive_date_chantier" =>NULL, "archive_date_conformite" => NULL,
79 "complement3" =>"","complement4" =>"",
80 "complement5" =>"", "complement6" => "",
81 "complement7" =>"","complement8" =>"",
82 "complement9" =>"", "complement10" => "",
83 "complement11" =>"","complement12" =>"",
84 "complement13" =>"", "complement14" => "",
85 "complement15" =>"","avis_decision" =>NULL
86 );
87 $resInsertInstr = $f->db->autoExecute(DB_PREFIXE."instruction", $valF, DB_AUTOQUERY_INSERT);
88 $f->addToLog("app/affichage_reglementaire_registre.php: db->autoexecute(\"".DB_PREFIXE."instruction\", ".print_r($valF, true).", DB_AUTOQUERY_INSERT);", VERBOSE_MODE);
89 $f->isDatabaseError($resInsertInstr);
90 }
91 }
92 } else { // Sinon affichage standard
93 // Affichage de la structure de la page
94 $f->setFlag(NULL);
95 $f->display();
96 // Ouverture de la balise - Conteneur d'onglets
97 echo "<div id=\"formulaire\">\n\n";
98 // Affichage de la liste des onglets
99 $f->layout->display_tab_lien_onglet1(_("imprimer le registre d'affichage reglementaire"));
100 // Ouverture de la balise - Onglet 1
101 echo "\t<div id=\"tabs-1\">\n\n";
102 // Affichage de la description de l'écran
103 $f->displayDescription(_("Cet ecran permet d'imprimer le registre d'affichage ".
104 "reglementaire des dossiers d'instruction en cours. ".
105 "La validation de ce traitement ajoute sur chacun des ".
106 "dossiers d'instruction concernes la possibilite ".
107 "d'imprimer une attestation d'affichage."));
108 // Ouverture du formulaire
109 echo "\t<form";
110 echo " method=\"post\"";
111 echo " id=\"affichage_reglementaire_registre_form\"";
112 echo " action=\"#\"";
113 echo ">\n";
114 //
115 echo "<div id=\"msg\"></div>";
116 // Affichage du bouton
117 echo "\t<div class=\"formControls\">\n";
118 $f->layout->display_form_button(array("value" => _("Valider"), "onclick" => "affichage_reglementaire_registre(this); return false;", ));
119 echo "\t</div>\n";
120 // Fermeture du fomulaire
121 echo "\t</form>\n";
122 // Fermeture de la balise - Onglet 1
123 echo "\n\t</div>\n";
124 // Fermeture de la balise - Conteneur d'onglets
125 echo "</div>\n";
126 }
127
128 ?>

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26