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

Contents of /trunk/obj/demandeur.class.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1456 - (show annotations)
Fri Mar 15 17:53:43 2013 UTC (11 years, 10 months ago) by vpihour
File size: 15311 byte(s)
Correction d'un bug lors de la saisie d'une demandeur de type 'personne morale' dans une demande

1 <?php
2 //$Id$
3 //gen openMairie le 08/11/2012 14:59
4
5 require_once ("../gen/obj/demandeur.class.php");
6
7 class demandeur extends demandeur_gen {
8
9 var $required_tag = array("particulier_nom",
10 "personne_morale_denomination",
11 "personne_morale_raison_sociale");
12 function demandeur($id,&$db,$debug) {
13 $this->constructeur($id,$db,$debug);
14 }// fin constructeur
15
16 /*
17 * Pays par défaut : France
18 */
19 function setVal(&$form, $maj, $validation, &$db) {
20 if($maj == 0) {
21 $form->setVal("pays",'France');
22 }
23 }
24
25 /*
26 * Pays par défaut : France
27 */
28 function setValSousFormulaire(&$form, $maj, $validation, &$db) {
29 if($maj == 0) {
30 $form->setVal("pays",'France');
31 }
32 }
33
34 /**
35 * Surcharge de la méthode de vérification
36 **/
37 function verifier($val, &$db, $DEBUG) {
38 parent::verifier($val, $db, $DEBUG);
39 // le nom du particulier est obligatoire
40 if($this->valF['qualite'] == "particulier" AND $this->valF['particulier_nom'] == "") {
41 $this->correct = false;
42 $this->addToMessage(_("Le champ")." <span class=\"bold\">".
43 _("particulier_nom")."</span> "._("est obligatoire."));
44 }
45
46 // la dénomination ou la raison sociale est obligatoire pour une personne morale
47 if($this->valF['qualite'] == "personne_morale"
48 AND $this->valF['personne_morale_denomination'] == ""
49 AND $this->valF['personne_morale_raison_sociale'] == "") {
50 $this->correct = false;
51 $this->addToMessage(_("Un des champs")." <span class=\"bold\">".
52 _("personne_morale_denomination")."</span> ou <span class=\"bold\">".
53 _("personne_morale_raison_sociale")."</span> "._("doit etre rempli."));
54 }
55
56 }
57
58 /*
59 * Select pour les champs qualite et type_demandeur
60 */
61 function setType(&$form,$maj) {
62 parent::setType($form,$maj);
63 if ($maj < 2) { //ajouter et modifier
64
65 $form->setType('type_demandeur', 'select');
66 $form->setType('qualite', 'select');
67 if($maj == 0 AND $this->getParameter("idx_demandeur") != "") {
68 $form->setType('frequent','hidden');
69 $form->setType('qualite','selectdisabled');
70 $form->setType('particulier_nom','textdisabled');
71 $form->setType('particulier_prenom','textdisabled');
72 $form->setType('particulier_date_naissance','datedisabled');
73 $form->setType('particulier_commune_naissance','textdisabled');
74 $form->setType('particulier_departement_naissance','textdisabled');
75 $form->setType('personne_morale_denomination','textdisabled');
76 $form->setType('personne_morale_raison_sociale','textdisabled');
77 $form->setType('personne_morale_siret','textdisabled');
78 $form->setType('personne_morale_categorie_juridique','textdisabled');
79 $form->setType('personne_morale_nom','textdisabled');
80 $form->setType('personne_morale_prenom','textdisabled');
81 $form->setType('particulier_civilite','selectdisabled');
82 $form->setType('personne_morale_civilite','selectdisabled');
83 $form->setType('telephone_fixe','textdisabled');
84 $form->setType('telephone_mobile','textdisabled');
85 $form->setType('indicatif','textdisabled');
86 $form->setType('courriel','textdisabled');
87
88 }
89 // Champs disabled pour la modif de petitionnaires frequents
90 // Solution temporaire
91 if ($maj==1){ //modifier
92 if($this->getVal('frequent') == 't') {
93 $form->setType('qualite','selecthiddenstatic');
94 $form->setType('particulier_nom','static');
95 $form->setType('particulier_prenom','static');
96 $form->setType('particulier_date_naissance','datestatic');
97 $form->setType('particulier_commune_naissance','static');
98 $form->setType('particulier_departement_naissance','static');
99 $form->setType('personne_morale_denomination','static');
100 $form->setType('personne_morale_raison_sociale','static');
101 $form->setType('personne_morale_siret','static');
102 $form->setType('personne_morale_categorie_juridique','static');
103 $form->setType('personne_morale_nom','static');
104 $form->setType('personne_morale_prenom','static');
105 $form->setType('numero','static');
106 $form->setType('voie','static');
107 $form->setType('complement','static');
108 $form->setType('lieu_dit','static');
109 $form->setType('localite','static');
110 $form->setType('code_postal','static');
111 $form->setType('bp','static');
112 $form->setType('cedex','static');
113 $form->setType('pays','static');
114 $form->setType('division_territoriale','static');
115 $form->setType('telephone_fixe','static');
116 $form->setType('telephone_mobile','static');
117 $form->setType('indicatif','static');
118 $form->setType('courriel','static');
119 $form->setType('notification','checkboxstatic');
120 $form->setType('frequent','checkboxstatic');
121 $form->setType('particulier_civilite','selecthiddenstatic');
122 $form->setType('personne_morale_civilite','selecthiddenstatic');
123 }
124 }// fin modifier
125 }
126 $form->setType('demandeur', 'hidden');
127
128 }
129
130 /*
131 * Select pour le type_demandeur et qualite
132 */
133 function setSelect(&$form, $maj,&$db,$debug) {
134 parent::setSelect($form, $maj,$db,$debug);
135
136 /*Lors d'un ajout ou d'une modification*/
137 if( $maj < 2 ){
138
139 /* type_demandeur*/
140 $contenu=array();
141
142 $contenu[0][0]="";
143 $contenu[1][0]=_('choisir')." "._('type_demandeur');
144 $contenu[0][1]="petitionnaire";
145 $contenu[1][1]=_('petitionnaire');
146 $contenu[0][2]="delegataire";
147 $contenu[1][2]=_('delegataire');
148
149 $form->setSelect("type_demandeur",$contenu);
150
151 /* qualite*/
152 $contenu=array();
153
154 $contenu[0][0]="particulier";
155 $contenu[1][0]=_('particulier');
156 $contenu[0][1]="personne_morale";
157 $contenu[1][1]=_('personne morale');
158
159 $form->setSelect("qualite",$contenu);
160 }
161 }
162
163 /*
164 * Ajoute l'action javascript sur le select de la qualité
165 */
166 function setOnchange(&$form,$maj){
167 parent::setOnchange($form,$maj);
168
169 $form->setOnchange("qualite","changeDemandeurType('qualite');");
170 }
171
172 /**
173 * Ajout d'un champs caché permettant de linker l'id du demandeur
174 * recement ajouté
175 **/
176 function sousFormSpecificContent($maj) {
177 $id_demandeur = $this->getVal("demandeur");
178 if(isset($this->valF["demandeur"]) AND !empty($this->valF["demandeur"])) {
179 echo "<input id=\"id_retour\" name=\"idRetour\" type=\"hidden\" value=\"".
180 $this->valF["demandeur"]."\" />";
181 } elseif(isset($id_demandeur) AND !empty($id_demandeur) AND $maj == 1) {
182 echo "<input id=\"id_retour\" name=\"idRetour\" type=\"hidden\" value=\"".
183 $this->getVal("demandeur")."\" />";
184 }
185 }
186 /**
187 * Surcharge du lien de retour permettant de linker l'id du demandeur
188 * recement ajouté
189 **/
190 function retoursousformulaire($idxformulaire, $retourformulaire, $val,
191 $objsf, $premiersf, $tricolsf, $validation,
192 $idx, $maj, $retour) {
193 if($retourformulaire === "demande") {
194 echo "\n<a class=\"retour\" ";
195 echo "href=\"#\">";
196 //
197 echo _("Retour");
198 //
199 echo "</a>\n";
200 } else {
201 parent::retoursousformulaire($idxformulaire, $retourformulaire, $val,
202 $objsf, $premiersf, $tricolsf, $validation,
203 $idx, $maj, $retour);
204 }
205 }
206
207 /**
208 * Ajout du paramètre principal
209 */
210 function getDataSubmitSousForm() {
211 /*Création du lien de validation du sous-formulaire*/
212 $datasubmit = "";
213 $datasubmit .= "../scr/sousform.php";
214 $datasubmit .= "?";
215 $datasubmit .= "obj=".get_class($this);
216 $datasubmit .= "&amp;validation=".$this->getParameter("validation");
217 if ($this->getParameter("idx") != "]") {
218 //
219 if ($this->getParameter("maj") == 1) { // modifier
220 $datasubmit .= "&amp;action=1";
221 $datasubmit .= "&amp;idx=".$this->getParameter("idx");
222 } else { // supprimer
223 $datasubmit .= "&amp;action=2";
224 $datasubmit .= "&amp;idx=".$this->getParameter("idx");
225 }
226 }
227 $datasubmit .= "&amp;premiersf=".$this->getParameter("premiersf");
228 $datasubmit .= "&amp;retourformulaire=".$this->getParameter("retourformulaire");
229 $datasubmit .= "&amp;trisf=".$this->getParameter("tricolsf");
230 $datasubmit .= "&amp;idxformulaire=".$this->getParameter("idxformulaire");
231 $datasubmit .= "&amp;principal=".$this->getParameter("principal");
232 //
233 return $datasubmit;
234 }
235
236 /**
237 * Synthèse des demandeurs pour le formulaire de la demande
238 */
239 function afficherSynthese($type, $linkable) {
240 switch ($type) {
241 case 'petitionnaire_principal':
242 $legend = _("Petitionnaire principal :");
243 break;
244
245 case 'delegataire':
246 $legend = _("Delegataire :");
247 break;
248
249 case 'petitionnaire':
250 $legend = _("Petitionnaire :");
251 break;
252 }
253
254 // Conteneur du demandeur
255 echo "<div class=\"".$type." col_3\" id=\"".$type."_".$this->val[array_search('demandeur', $this->champs)]."\">\n";
256 echo "<div class=\"legend_synthese_demandeur\">\n";
257 echo $legend;
258 echo "</div>\n";
259 echo "<div class=\"synthese_demandeur\">\n";
260 if($linkable) {
261 echo "<a href=\"#\" onclick=\"removeDemandeur('".
262 $type."_".$this->val[array_search('demandeur', $this->champs)].
263 "'); return false;\">
264 <span class=\"demandeur_del om-icon om-icon-16 om-icon-fix delete-16\" title=\"".
265 _("Supprimer le demandeur")."\">"._("Supprimer le demandeur")."</span>
266 </a>";
267 }
268
269 // Valeur de formulaire à retourner
270 echo "<input type=\"hidden\" class=\"demandeur_id\" name=\"".$type.
271 (($type == "petitionnaire")? "[]":"" ).
272 "\" value=\"".$this->val[array_search('demandeur', $this->champs)]."\" />\n";
273
274 // Lien de modification du demandeur
275 if($linkable) {
276 echo "<a class=\"edit_demandeur\" href=\"#\"
277 onclick=\"editDemandeur('".$this->val[array_search('type_demandeur', $this->champs)]."',".
278 $this->val[array_search('demandeur', $this->champs)].",'".
279 $type."',".
280 $type."_".$this->val[array_search('demandeur', $this->champs)].
281 ");return false;\">\n";
282 }
283
284 // Affichage des infos du demandeur
285 if($this->val[array_search('qualite', $this->champs)] == 'particulier') {
286 if(!empty($this->val[array_search('civilite', $this->champs)])) {
287 $sql = "SELECT libelle FROM ".DB_PREFIXE."civilite WHERE civilite=".
288 $this->val[array_search('civilite', $this->champs)];
289 $civilite = $this->f->db->getone($sql);
290 $this->f->addToLog("db->getone(\"".$sql."\");", VERBOSE_MODE);
291 $this->f->isDatabaseError($civilite);
292 echo $civilite." ";
293 }
294 echo $this->val[array_search('particulier_nom', $this->champs)]." ".
295 $this->val[array_search('particulier_prenom', $this->champs)]."<br/>\n";
296 } else {
297 echo $this->val[array_search('personne_morale_raison_sociale', $this->champs)]." ".
298 $this->val[array_search('personne_morale_denomination', $this->champs)]."<br/>\n";
299 if(!empty($this->val[array_search('personne_morale_civilite', $this->champs)])) {
300 $sql = "SELECT libelle FROM ".DB_PREFIXE."civilite WHERE civilite=".
301 $this->val[array_search('personne_morale_civilite', $this->champs)];
302 $civilite = $this->f->db->getone($sql);
303 $this->f->addToLog("db->getone(\"".$sql."\");", VERBOSE_MODE);
304 $this->f->isDatabaseError($civilite);
305 echo $civilite." ";
306 }
307 echo $this->val[array_search('personne_morale_nom', $this->champs)]." ".
308 $this->val[array_search('personne_morale_nom', $this->champs)]."<br/>\n";
309 }
310 echo (($this->val[array_search('numero', $this->champs)] != "")?
311 $this->val[array_search('numero', $this->champs)]." " : "").
312 (($this->val[array_search('voie', $this->champs)] != "")?
313 $this->val[array_search('voie', $this->champs)]." " : "").
314 (($this->val[array_search('complement', $this->champs)] != "")?
315 $this->val[array_search('complement', $this->champs)]." " : "")."<br/>\n".
316 (($this->val[array_search('code_postal', $this->champs)] != "")?
317 $this->val[array_search('code_postal', $this->champs)]." " : "").
318 (($this->val[array_search('localite', $this->champs)] != "")?
319 $this->val[array_search('localite', $this->champs)]." " : "").
320 (($this->val[array_search('bp', $this->champs)] != "")?
321 $this->val[array_search('bp', $this->champs)]." " : "").
322 (($this->val[array_search('cedex', $this->champs)] != "")?
323 $this->val[array_search('cedex', $this->champs)]." " : "")."<br/>\n".
324 (($this->val[array_search('telephone_fixe', $this->champs)] != "")?
325 $this->val[array_search('telephone_fixe', $this->champs)]." " : "").
326 (($this->val[array_search('telephone_mobile', $this->champs)] != "")?
327 $this->val[array_search('telephone_mobile', $this->champs)]." " : "");
328 if($linkable) {
329 echo "</a>\n";
330 }
331 echo "</div>\n";
332 echo "</div>\n";
333 }
334
335 }// fin classe
336 ?>

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26