/[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 2337 - (show annotations)
Fri Sep 20 16:09:41 2013 UTC (11 years, 4 months ago) by vpihour
File size: 6122 byte(s)
correction de la modification de certains paramètres

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('id_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 // Instanciation d'instruction pour ajout
80 require_once '../obj/instruction.class.php';
81 $instr = new instruction(']', $f->db, DEBUG);
82 // Création d'un tableau avec la liste des champs de l'instruction
83 foreach($instr->champs as $champ) {
84 $valF[$champ] = "";
85 }
86 $valF["destinataire"] = $row['dossier'];
87 $valF["date_evenement"] = date("d/m/Y");
88 $valF["evenement"] = $aff_obli;
89 $valF["dossier"] = $row['dossier'];
90
91 // Définition des valeurs de la nouvelle instruction
92 $instr->valF = array();
93 // Insertion dans la base
94 $res_ajout = $instr->ajouter($valF, $f->db, DEBUG);
95 $f->addToLog("app/affichage_reglementaire_registre.php: db->autoexecute(\"".DB_PREFIXE."instruction\", ".print_r($valF, true).", DB_AUTOQUERY_INSERT);", VERBOSE_MODE);
96 $f->isDatabaseError($res_ajout);
97
98 //Finalisation du document
99 $_GET['obj']='instruction';
100 $_GET['idx']=$instr->valF[$instr->clePrimaire];
101 $instr = new instruction($_GET['idx'],$f->db,DEBUG);
102 $instr->finaliser('', 1, '', '');
103 }
104 }
105 } else { // Sinon affichage standard
106 // Affichage de la structure de la page
107 $f->setFlag(NULL);
108 $f->display();
109 // Ouverture de la balise - Conteneur d'onglets
110 echo "<div id=\"formulaire\">\n\n";
111 // Affichage de la liste des onglets
112 $f->layout->display_tab_lien_onglet_un(_("imprimer le registre d'affichage reglementaire"));
113 // Ouverture de la balise - Onglet 1
114 echo "\t<div id=\"tabs-1\">\n\n";
115 // Affichage de la description de l'écran
116 $f->displayDescription(_("Cet ecran permet d'imprimer le registre d'affichage ".
117 "reglementaire des dossiers d'instruction en cours. ".
118 "La validation de ce traitement ajoute sur chacun des ".
119 "dossiers d'instruction concernes la possibilite ".
120 "d'imprimer une attestation d'affichage."));
121 // Ouverture du formulaire
122 echo "\t<form";
123 echo " method=\"post\"";
124 echo " id=\"affichage_reglementaire_registre_form\"";
125 echo " action=\"#\"";
126 echo ">\n";
127 //
128 echo "<div id=\"msg\"></div>";
129 // Affichage du bouton
130 echo "\t<div class=\"formControls\">\n";
131 $f->layout->display_form_button(array("value" => _("Valider"), "onclick" => "affichage_reglementaire_registre(this); return false;", ));
132 echo "\t</div>\n";
133 // Fermeture du fomulaire
134 echo "\t</form>\n";
135 // Fermeture de la balise - Onglet 1
136 echo "\n\t</div>\n";
137 // Fermeture de la balise - Conteneur d'onglets
138 echo "</div>\n";
139 }
140
141 ?>

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26