/[openfoncier]/trunk/obj/demande.class.php
ViewVC logotype

Annotation of /trunk/obj/demande.class.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 828 - (hide annotations)
Fri Nov 23 17:50:13 2012 UTC (12 years, 2 months ago) by nhaye
File size: 11554 byte(s)
Modification de l'ajout de petitionnaires et delegataire dans une demande.
Ajout de bouton ouvrant des overlay permettant l'ajouts des demandeurs
Implémentation de la recupération des données lors de l'ouverture du formulaire
Corrections concernant le formulaire des demandeurs pour l'affichage en overlay

1 vpihour 632 <?php
2     //$Id$
3     //gen openMairie le 08/11/2012 14:00
4    
5     require_once ("../gen/obj/demande.class.php");
6    
7     class demande extends demande_gen {
8    
9 nhaye 828 var $valIdDemandeur = array();
10 nhaye 807
11 vpihour 632 function demande($id,&$db,$debug) {
12     $this->constructeur($id,$db,$debug);
13     }// fin constructeur
14 vpihour 651
15 vpihour 799 /*
16     * La date du jour par défaut dans le champs date_demande
17     * Put the date of the day by default into the field date_demande
18     */
19 vpihour 635 function setVal(&$form, $maj, $validation, &$db) {
20     if($maj == 0) {
21     $form->setVal("date_demande",date('d/m/Y'));
22     }
23     }
24    
25 vpihour 799 /*
26     * Ajout du fielset
27     * Add fieldset
28     */
29 vpihour 635 function setLayout(&$form, $maj){
30     if ( $maj < 2 OR $maj == 3 ) {
31    
32     //Champs sur lequel s'ouvre le fieldset
33 nhaye 807 $form->setBloc('dossier_autorisation_type_detaille','D',"","dossier_type col_8");
34    
35     $form->setFieldset('dossier_autorisation_type_detaille','D'
36     ,_('Type de dossier/demande'));
37     $form->setFieldset('demande_type','F','');
38    
39     $form->setBloc('demande_type','F');
40    
41     $form->setBloc('date_demande','D',"","col_4 demande_hidden_bloc");
42     $form->setFieldset('date_demande','D',_('Date de la demande'));
43     $form->setFieldset('date_demande','F','');
44 vpihour 635 $form->setBloc('date_demande','F');
45    
46 nhaye 807 $form->setBloc('terrain_references_cadastrales','D',"",
47     "localisation col_12 demande_hidden_bloc");
48 vpihour 693 $form->setFieldset('terrain_references_cadastrales','D',_('Localisation du terrain'));
49     $form->setFieldset('terrain_superficie','F','');
50 vpihour 635 $form->setBloc('terrain_superficie','F');
51 vpihour 676
52 nhaye 807 $form->setBloc('nombre_lots','D',"","lots col_12 demande_hidden_bloc");
53 vpihour 693 $form->setFieldset('nombre_lots','D',_('Nombre de lots'));
54     $form->setFieldset('nombre_lots','F','');
55 vpihour 676 $form->setBloc('nombre_lots','F');
56 vpihour 635 }
57     }
58 vpihour 641
59 vpihour 799 /*
60     * Ajoute des actions sur les deux premiers select
61     * Add actions on the two first select
62     */
63 vpihour 641 function setOnchange(&$form,$maj){
64     parent::setOnchange($form,$maj);
65     $form->setOnchange("dossier_autorisation_type_detaille","changeDemandeType();");
66     $form->setOnchange("demande_type","showFormsDemande();");
67     }
68 vpihour 635
69 vpihour 799 /*
70     * Cache le champ terrain_references_cadastrales
71     * Hide the fiels terrain_references_cadastrales
72     */
73 vpihour 651 function setType(&$form,$maj) {
74     parent::setType($form,$maj);
75    
76 vpihour 689 $form->setType('dossier_instruction', 'hidden');
77     $form->setType('dossier_autorisation', 'hidden');
78 vpihour 651 }
79 vpihour 676
80 nhaye 807 /**
81 nhaye 828 * Ajout des délégataires et pétitionnaires
82 nhaye 807 **/
83 nhaye 828 function triggerAjouterApres($id, &$db, $val, $DEBUG){
84     $this->insertLinkDemandeDemandeur($db, $DEBUG);
85    
86     }
87     function triggerModifierApres($id, &$db, $val, $DEBUG){
88     $this->insertLinkDemandeDemandeur($db, $DEBUG);
89    
90     }
91    
92     /**
93     * Insertion des liens entre la demande et les demendeurs recement ajoutés
94     **/
95     function insertLinkDemandeDemandeur($db, $DEBUG) {
96     $postedValues=$this->getPostedValues();
97     //
98     require_once "../obj/lien_demande_demandeur.class.php";
99     $lien_demande_demandeur = new lien_demande_demandeur("]", $db, $DEBUG);
100     // Traitement du tableau des des valeurs postées
101     foreach ($postedValues as $type => $demandeur) {
102     // Liste des petitionnaires secondaires
103     if($type == "petitionnaire" AND count($postedValues["petitionnaire"]) > 0) {
104     foreach ($demandeur as $petitionnaire) {
105     // Enregistrement des liens demande petitionnaire
106     $lien = array('lien_demande_demandeur' => "",
107     'petitionnaire_principal' => "f",
108     'demande' => $this->valF['demande'],
109     'demandeur' => $petitionnaire);
110     $lien_demande_demandeur -> ajouter($lien, $db, $DEBUG);
111 nhaye 807 }
112 nhaye 828 } else {
113     // Enregistrement des liens demande, patitionnaire_principal/delegataire
114     $lien = array('lien_demande_demandeur' => "",
115     'petitionnaire_principal' =>
116     (($type == "petitionnaire_principal")? "t":"f" ),
117     'demande' => $this->valF['demande'],
118     'demandeur' => $demandeur);
119     $lien_demande_demandeur -> ajouter($lien, $db, $DEBUG);
120    
121 nhaye 807 }
122 nhaye 828 }
123     // Affichage du nombre de liaisons
124     if(count($postedValues) > 1) {
125     $this->addToMessage(count($postedValues)." "._("demandeurs ont ete ajoutes"));
126     } else {
127     $this->addToMessage(_("Un demandeur a ete ajoute"));
128     }
129    
130     }
131    
132     /**
133     * Methode de recupération des valeurs postées
134     **/
135     function getPostedValues() {
136     // Récupération des demandeurs dans POST
137     $values=array();
138     if (isset($_POST['petitionnaire_principal']) OR
139     isset($_POST['delegataire']) OR
140     isset($_POST['petitionnaire'])) {
141     if( isset($_POST['petitionnaire_principal']) AND
142     !empty($_POST['petitionnaire_principal'])) {
143     $values['petitionnaire_principal'] = $_POST['petitionnaire_principal'];
144 nhaye 807 }
145 nhaye 828 if( isset($_POST['delegataire']) AND
146     !empty($_POST['delegataire'])) {
147     $values['delegataire'] = $_POST['delegataire'];
148     }
149     if( isset($_POST['petitionnaire']) AND
150     !empty($_POST['petitionnaire'])) {
151     $values['petitionnaire'] = $_POST['petitionnaire'];
152     }
153 nhaye 807 }
154 nhaye 828 return $values;
155 vpihour 676 }
156 nhaye 828 /**
157     * Méthode permettant de récupérer les id des demandeur lié à la demande
158     **/
159     function setValIdDemandeur() {
160     // Récupération des demandeurs de la base
161     $sql = "SELECT demandeur.demandeur,
162     demandeur.type_demandeur,
163     lien_demande_demandeur.petitionnaire_principal
164     FROM ".DB_PREFIXE."lien_demande_demandeur
165     INNER JOIN ".DB_PREFIXE."demandeur
166     ON demandeur.demandeur=lien_demande_demandeur.demandeur
167     WHERE demande = ".$this->val[array_search('demande', $this->champs)];
168     $res = $this->f->db->query($sql);
169     $this->f->addToLog("setValIdDemandeur() : ".$sql);
170     $this->f->isDatabaseError($res);
171     // Stoquage du résultat dans un tableau
172     while ($row=& $res->fetchRow(DB_FETCHMODE_ASSOC)){
173     if ($row['petitionnaire_principal'] == 't' AND
174     $row['type_demandeur']=="petitionnaire") {
175     $this->valIdDemandeur['petitionnaire_principal']=$row['demandeur'];
176     } elseif ($row['petitionnaire_principal'] == 'f' AND
177     $row['type_demandeur']=="petitionnaire"){
178     $this->valIdDemandeur['petitionnaire'][]=$row['demandeur'];
179     } elseif ($row['type_demandeur']=="delegataire"){
180     $this->valIdDemandeur['delegataire']=$row['demandeur'];
181     }
182     }
183     // Demandeurs de la base ÉCRASÉS dans le tableau par ceux du POST
184     $this->valIdDemandeur = array_merge($this->valIdDemandeur, $this->getPostedValues());
185     }
186 nhaye 807
187     /**
188     * Ajout de la liste des demandeurs
189     */
190     function formSpecificContent($maj) {
191 nhaye 828 $this->setValIdDemandeur();
192 nhaye 807 // Conteneur de la listes des demandeurs
193 nhaye 808 echo "<div class=\"demande_hidden_bloc col_12\">";
194 nhaye 807 echo "<fieldset class=\"cadre ui-corner-all ui-widget-content\">";
195     echo " <legend class=\"ui-corner-all ui-widget-content ui-state-active\">"
196     ._("Petitionnaire")."</legend>";
197     // Si des demandeurs sont liés à la demande
198 nhaye 828 require_once "../obj/petitionnaire.class.php";
199     require_once "../obj/delegataire.class.php";
200 nhaye 807
201 nhaye 828 // Affichage du bloc pétitionnaire principal / délégataire
202     echo "<div id=\"petitionnaire_principal_delegataire\">";
203     // Affichage de la synthèse
204     if (isset ($this->valIdDemandeur["petitionnaire_principal"]) AND
205     !empty($this->valIdDemandeur["petitionnaire_principal"])) {
206     $demandeur = new petitionnaire(
207     $this->valIdDemandeur["petitionnaire_principal"],
208     $this->f->db,false);
209     $demandeur -> afficherSynthese("petitionnaire_principal");
210     $demandeur -> __destruct();
211 nhaye 807 } else {
212 nhaye 828 // Si en édition de formulaire
213     if($maj < 2 AND $this->correct != true) {
214     // Bouton d'ajout du pétitionnaire principal
215     echo "<input id=\"add_petitionnaire_principal\"
216     class=\"ui-button ui-widget ui-state-default ui-corner-all\"
217     type=\"button\" value=\""._("Saisir le petitionnaire principal")."\"/>";
218     }
219 nhaye 807 }
220 nhaye 828 // Affichage de la synthèse
221     if (isset ($this->valIdDemandeur["delegataire"]) AND
222     !empty($this->valIdDemandeur["delegataire"])) {
223     echo " <span class=\"om-icon om-icon-16 om-icon-fix arrow-right-16\">></span> ";
224     $demandeur = new delegataire($this->valIdDemandeur["delegataire"],
225     $this->f->db,false);
226     $demandeur -> afficherSynthese("delegataire");
227     $demandeur -> __destruct();
228     } else {
229     if($maj < 2 AND $this->correct != true AND
230     isset ($this->valIdDemandeur["petitionnaire_principal"]) AND
231     !empty($this->valIdDemandeur["petitionnaire_principal"])) {
232     echo " <span class=\"om-icon om-icon-16 om-icon-fix arrow-right-16\">></span> ";
233     // Bouton d'ajout du pétitionnaire principal
234     echo "<input id=\"add_delegataire\"
235     class=\"ui-button ui-widget ui-state-default ui-corner-all\"
236     type=\"button\" value=\""._("Saisir le delegataire")."\"/>";
237     }
238     }
239     echo "</div>";
240    
241     // Bloc des pétitionnaires secondaires
242     echo "<div id=\"listePetitionnaires\">";
243    
244     // Affichage de la synthèse
245     if (isset ($this->valIdDemandeur["petitionnaire"]) AND
246     !empty($this->valIdDemandeur["petitionnaire"])) {
247    
248     foreach ($this->valIdDemandeur["petitionnaire"] as $petitionnaire) {
249     $demandeur = new petitionnaire($petitionnaire,
250     $this->f->db,false);
251     $demandeur -> afficherSynthese("petitionnaire");
252     $demandeur -> __destruct();
253     }
254    
255     }
256     if ($maj < 2 AND $this->correct != true AND
257     isset ($this->valIdDemandeur["petitionnaire_principal"]) AND
258     !empty($this->valIdDemandeur["petitionnaire_principal"])) {
259     echo "<input id=\"add_petitionnaire\"
260     class=\"ui-button ui-widget ui-state-default ui-corner-all\"
261     type=\"button\" value=\""._("Ajouter un petitionnaire")."\"/>";
262     }
263     echo "</div>";
264 nhaye 807 echo "</fieldset>";
265     echo "</div>";
266     }
267    
268 vpihour 632 }// fin classe
269     ?>

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26