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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 9282 - (show annotations)
Fri Apr 10 16:44:23 2020 UTC (4 years, 9 months ago) by softime
File size: 12803 byte(s)
* Merge de la branche de développement compat-php dans le trunk

1 <?php
2 /**
3 * DBFORM - 'architecte' - Surcharge gen.
4 *
5 * Ce script permet de définir la classe 'architecte'.
6 *
7 * @package openads
8 * @version SVN : $Id$
9 */
10
11 require_once "../gen/obj/architecte.class.php";
12
13 class architecte extends architecte_gen {
14
15 // {{{ Gestion de la confidentialité des données spécifiques
16
17 /**
18 * Définition des actions disponibles sur la classe.
19 *
20 * @return void
21 */
22 function init_class_actions() {
23
24 parent::init_class_actions();
25
26 // ACTION - 001 - modifier
27 // Modifie la condition et le libellé du bouton modifier
28 $this->class_actions[1]["condition"] = array("is_not_frequent");
29
30 // ACTION - 100 - non_frequent
31 // Finalise l'enregistrement
32 $this->class_actions[100] = array(
33 "identifier" => "non_frequent",
34 "portlet" => array(
35 "type" => "action-direct",
36 "libelle" => _("Marquer non frequent"),
37 "order" => 100,
38 "class" => "radiation-16",
39 ),
40 "view" => "formulaire",
41 "method" => "set_non_frequent",
42 "permission_suffix" => "modifier_frequent",
43 "condition" => array("is_frequent"),
44 );
45
46 // ACTION - 110 - recuperer_frequent
47 // Finalise l'enregistrement
48 $this->class_actions[110] = array(
49 "identifier" => "recuperer_frequent",
50 "view" => "formulaire",
51 "method" => "modifier",
52 "button" => "valider",
53 "permission_suffix" => "modifier",
54 );
55 }
56
57 //}}}
58
59 /**
60 * Clause select pour la requête de sélection des données de l'enregistrement.
61 *
62 * @return array
63 */
64 function get_var_sql_forminc__champs() {
65 return array(
66 "architecte",
67 "nom",
68 "prenom",
69 "adresse1",
70 "adresse2",
71 "cp",
72 "ville",
73 "pays",
74 "inscription",
75 "conseil_regional",
76 "nom_cabinet",
77 "telephone",
78 "fax",
79 "email",
80 "note",
81 "frequent",
82 );
83 }
84
85 /**
86 * Retourne true si pétitionnaire frequent false sinon.
87 *
88 * @return boolean retourne true si frequent false sinon.
89 */
90 function is_frequent() {
91 if($this->getVal("frequent") == 't') {
92 return true;
93 }
94 return false;
95 }
96
97 /**
98 * Retourne false si pétitionnaire frequent true sinon.
99 *
100 * @return boolean retourne false si frequent true sinon.
101 */
102 function is_not_frequent() {
103 return !$this->is_frequent();
104 }
105
106 /**
107 * TREATMENT - set_non_frequent.
108 *
109 * Cette methode permet de passer le pétitionnaire en non fréquent.
110 *
111 * @return boolean true si maj effectué false sinon
112 */
113 function set_non_frequent($val) {
114 // Cette méthode permet d'exécuter une routine en début des méthodes
115 // dites de TREATMENT.
116 $this->begin_treatment(__METHOD__);
117
118 if($this->getVal("frequent") == 't') {
119 $this->correct = true;
120 $valF = array();
121 $valF["frequent"] = false;
122
123 $res = $this->f->db->autoExecute(
124 DB_PREFIXE.$this->table,
125 $valF,
126 DB_AUTOQUERY_UPDATE,
127 $this->clePrimaire."=".$this->getVal($this->clePrimaire)
128 );
129 if ($this->f->isDatabaseError($res, true)) {
130 // Appel de la methode de recuperation des erreurs
131 $this->erreur_db($res->getDebugInfo(), $res->getMessage(), '');
132 $this->correct = false;
133 // Termine le traitement
134 return $this->end_treatment(__METHOD__, false);
135 } else {
136 $this->addToMessage(_("Mise a jour effectuee avec succes"));
137 return $this->end_treatment(__METHOD__, true);
138 }
139
140 } else {
141 $this->addToMessage(_("Element deja frequent"));
142 }
143
144 // Termine le traitement
145 return $this->end_treatment(__METHOD__, false);
146 }
147
148 /**
149 * Ajout des blocs pour la gestion des architectes fréquents
150 */
151 function setType(&$form, $maj) {
152 parent::setType($form, $maj);
153 if ($maj < 2) { //ajouter et modifier [add and modify]
154 $form->setType('email', 'mail');
155 }
156 // MODE recup_frequent
157 if ($maj == 110) {
158 //Affichage d'un message d'information
159 $this->addToMessage(_("Architecte frequent non modifiable"));
160 $form->setType("architecte", "hiddenstatic");
161 $form->setType("nom", "static");
162 $form->setType("prenom", "static");
163 $form->setType("adresse1", "static");
164 $form->setType("adresse2", "static");
165 $form->setType("cp", "static");
166 $form->setType("ville", "static");
167 $form->setType("pays", "static");
168 $form->setType("inscription", "static");
169 $form->setType("telephone", "static");
170 $form->setType("fax", "static");
171 $form->setType("email", "static");
172 $form->setType("note", "static");
173 $form->setType("frequent", "checkboxstatic");
174 $form->setType("nom_cabinet", "static");
175 $form->setType("conseil_regional", "static");
176 }
177 // Pour les actions appelée en POST en Ajax, il est nécessaire de
178 // qualifier le type de chaque champs (Si le champ n'est pas défini un
179 // PHP Notice: Undefined index dans core/om_formulaire.class.php est
180 // levé). On sélectionne donc les actions de portlet de type
181 // action-direct ou assimilé et les actions spécifiques avec le même
182 // comportement.
183 if ($this->get_action_param($maj, "portlet_type") == "action-direct"
184 || $this->get_action_param($maj, "portlet_type") == "action-direct-with-confirmation") {
185 //
186 foreach ($this->champs as $key => $value) {
187 $form->setType($value, 'hidden');
188 }
189 $form->setType($this->clePrimaire, "hiddenstatic");
190 }
191 }
192
193 function setLayout(&$form, $maj){
194
195 $form->setBloc('architecte','D',"", "alignForm");
196 //
197 $form->setBloc('architecte','DF',"", "group");
198 //
199 $form->setBloc('architecte','F');
200
201 if($this->getVal('frequent') != 't' || $maj == 0 ) {
202 $form->setBloc('nom','D',"","group alignForm civilite_architecte ".($maj<2 ? "search_fields ":""));
203 } else {
204 $form->setBloc('nom','D',"","group alignForm");
205 }
206
207 //$form->setBloc('nom','D',"", "group civilite_architecte ".($maj<2 ? "search_fields":""));
208 $form->setBloc('prenom','F');
209
210 $form->setBloc('adresse1','D',"", "adresse_architecte alignForm");
211 //
212 $form->setBloc('adresse1','DF',"", "group");
213 $form->setBloc('adresse2','DF',"", "group");
214 $form->setBloc('cp','DF',"", "group");
215 $form->setBloc('ville','DF',"", "group");
216 $form->setBloc('pays','DF',"", "group");
217 //
218 $form->setBloc('pays','F');
219
220 $form->setBloc('inscription','D',"", "complement_architecte alignForm");
221 //
222 $form->setBloc('inscription','DF',"", "group");
223 $form->setBloc('conseil_regional','DF',"", "group");
224 $form->setBloc('nom_cabinet','DF',"", "group");
225 $form->setBloc('telephone','DF',"", "group");
226 $form->setBloc('fax','DF',"", "group");
227 $form->setBloc('email','DF',"", "group");
228 $form->setBloc('note','DF',"", "group");
229 //
230 $form->setBloc('note','F');
231 }
232
233 /**
234 * SETTER_FORM - setVal (setVal).
235 *
236 * @return void
237 */
238 function setVal(&$form, $maj, $validation, &$dnu1 = null, $dnu2 = null) {
239 parent::setVal($form, $maj, $validation);
240 //
241 $form->setVal("pays", "France");
242 }
243
244 function setLib(&$form,$maj) {
245 //
246 parent::setLib($form, $maj);
247 $form->setLib('frequent',"<span class=\"om-form-button copy-16\"
248 title=\""._("Sauvegarder cet architecte")."\">"._("Sauvegarder (architecte frequent)")."</span>");
249
250 }
251
252 /**
253 * Ajout d'un champs caché permettant de linker l'id du demandeur
254 * recement ajouté
255 **/
256 function sousFormSpecificContent($maj) {
257
258 $id_architecte = $this->getVal("architecte");
259 if(isset($this->valF["architecte"]) AND !empty($this->valF["architecte"])) {
260 echo "<input id=\"id_retour\" name=\"idRetour\" type=\"hidden\" value=\"".
261 $this->valF["architecte"]."\" />";
262 } elseif(isset($id_architecte) AND !empty($id_architecte) AND $maj == 110) {
263 echo "<input id=\"id_retour\" name=\"idRetour\" type=\"hidden\" value=\"".
264 $this->getVal("architecte")."\" />";
265 }
266 }
267
268 /**
269 * Synthèse de l'architecte pour le formulaire des données techniques
270 */
271 function afficherSynthese() {
272
273 $nom = $this->getVal('nom');
274 $prenom = $this->getVal('prenom');
275
276 //Affichage du bouton pour ajout si dans un objet qui n'est pas en BDD
277 if ( $this->getParameter("maj") === 0 ){
278 printf ("<span class=\"om-form-button add-16 add_architecte\"
279 onclick=\"popupIt('architecte',
280 '".OM_ROUTE_SOUSFORM."&obj=architecte&action=0'+
281 '&retourformulaire=donnees_techniques', 860, 'auto',
282 getObjId, 'architecte');\"".
283 ">");
284 printf(_("Saisir un(e) architecte"));
285 }
286 //Affichage du bouton de suppression sinon
287 else {
288 //
289 printf ("<span class=\"om-form-button delete-16 add_architecte\"
290 onclick=\"setDataFrequent('','architecte');\"".
291 "title=\"");
292 printf(_("Supprimer"));
293 printf("\">");
294 printf("&nbsp;");
295 printf("</span>");
296 //
297 printf ("<span class=\"om-form-button edit-16 add_architecte\"
298 onclick=\"popupIt('architecte',
299 '".OM_ROUTE_SOUSFORM."&obj=architecte&action=1&idx=".$this->getVal($this->clePrimaire)."'+
300 '&retourformulaire=donnees_techniques', 860, 'auto',
301 getObjId, '".$this->clePrimaire."');\"".
302 "title=\"");
303 printf(_("editer"));
304 printf("\">");
305 printf("%s %s",$nom,$prenom);
306 }
307 printf ("</span>");
308 }
309
310 /**
311 * Le bouton de modification est masqué si on est en modification d'un architecte fréquent
312 */
313 function boutonsousformulaire($datasubmit, $maj, $val=null) {
314 if($this->getVal('frequent') != 't' || $maj == 0 ) {
315 if (!$this->correct) {
316 //
317 switch ($maj) {
318 case 0:
319 $bouton = _("Ajouter");
320 break;
321 case 1:
322 $bouton = _("Modifier");
323 break;
324 case 2:
325 $bouton = _("Supprimer");
326 break;
327 }
328 //
329 echo "<input type=\"button\" value=\"".$bouton."\" ";
330 echo "onclick=\"affichersform('".$this->get_absolute_class_name()."', '$datasubmit', this.form);\" ";
331 echo "class=\"om-button\" />";
332 }
333 }
334 }
335
336
337 /**
338 * Indique si la redirection vers le lien de retour est activée ou non.
339 *
340 * L'objectif de cette méthode est de permettre d'activer ou de désactiver
341 * la redirection dans certains contextes.
342 *
343 * @return boolean
344 */
345 function is_back_link_redirect_activated() {
346 //
347 if ($this->getParameter("retourformulaire") === 'donnees_techniques') {
348 //
349 return false;
350 }
351
352 //
353 return true;
354 }
355
356 /**
357 * Permet de modifier le fil d'Ariane depuis l'objet pour un formulaire
358 * @param string $ent Fil d'Ariane récupéréré
359 * @return Fil d'Ariane
360 */
361 function getFormTitle($ent) {
362 //
363 $out = $ent;
364 if ($this->getVal($this->clePrimaire) != "") {
365 $out .= "<span class=\"libelle\">&nbsp;->&nbsp;".$this->getVal($this->clePrimaire)."&nbsp;".$this->getVal('prenom')."&nbsp;".$this->getVal('nom')."</span>";
366 }
367 return $out;
368 }
369
370 }// fin classe
371
372

Properties

Name Value
svn:keywords "Id"

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26