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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 18876 - (hide annotations)
Tue Oct 8 08:41:06 2024 UTC (3 months, 2 weeks ago) by softime
File size: 14522 byte(s)
merge: fusion de la branche d'intégration 6.8.0-develop dans le trunk

1 mbroquet 3730 <?php
2 nhaye 5254 /**
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 mbroquet 3730
11 nhaye 5254 require_once "../gen/obj/architecte.class.php";
12    
13 mbroquet 3730 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 softime 18876 "libelle" => __("Marquer non frequent"),
37 mbroquet 3730 "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 softime 8989
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 softime 10573 "lieu_dit",
72     "boite_postale",
73 softime 8989 "cp",
74 softime 10573 "cedex",
75 softime 8989 "ville",
76     "pays",
77     "inscription",
78     "conseil_regional",
79     "nom_cabinet",
80     "telephone",
81     "fax",
82     "email",
83     "note",
84 softime 15650 "titre_obt_diplo_spec",
85     "date_obt_diplo_spec",
86     "lieu_obt_diplo_spec",
87 softime 8989 "frequent",
88     );
89     }
90 mbroquet 3730
91     /**
92     * Retourne true si pétitionnaire frequent false sinon.
93     *
94     * @return boolean retourne true si frequent false sinon.
95     */
96     function is_frequent() {
97     if($this->getVal("frequent") == 't') {
98     return true;
99     }
100     return false;
101     }
102    
103     /**
104     * Retourne false si pétitionnaire frequent true sinon.
105     *
106     * @return boolean retourne false si frequent true sinon.
107     */
108     function is_not_frequent() {
109     return !$this->is_frequent();
110     }
111    
112     /**
113     * TREATMENT - set_non_frequent.
114     *
115     * Cette methode permet de passer le pétitionnaire en non fréquent.
116     *
117     * @return boolean true si maj effectué false sinon
118     */
119     function set_non_frequent($val) {
120     // Cette méthode permet d'exécuter une routine en début des méthodes
121     // dites de TREATMENT.
122     $this->begin_treatment(__METHOD__);
123    
124     if($this->getVal("frequent") == 't') {
125     $this->correct = true;
126 softime 9245 $valF = array();
127     $valF["frequent"] = false;
128    
129 mbroquet 3730 $res = $this->f->db->autoExecute(
130 softime 9245 DB_PREFIXE.$this->table,
131     $valF,
132     DB_AUTOQUERY_UPDATE,
133     $this->clePrimaire."=".$this->getVal($this->clePrimaire)
134     );
135 mbroquet 3730 if ($this->f->isDatabaseError($res, true)) {
136     // Appel de la methode de recuperation des erreurs
137     $this->erreur_db($res->getDebugInfo(), $res->getMessage(), '');
138     $this->correct = false;
139     // Termine le traitement
140     return $this->end_treatment(__METHOD__, false);
141     } else {
142 softime 18876 $this->addToMessage(__("Mise a jour effectuee avec succes"));
143 mbroquet 3730 return $this->end_treatment(__METHOD__, true);
144     }
145    
146     } else {
147 softime 18876 $this->addToMessage(__("Element deja frequent"));
148 mbroquet 3730 }
149    
150     // Termine le traitement
151     return $this->end_treatment(__METHOD__, false);
152     }
153    
154     /**
155     * Ajout des blocs pour la gestion des architectes fréquents
156     */
157     function setType(&$form, $maj) {
158     parent::setType($form, $maj);
159     if ($maj < 2) { //ajouter et modifier [add and modify]
160     $form->setType('email', 'mail');
161     }
162     // MODE recup_frequent
163     if ($maj == 110) {
164     //Affichage d'un message d'information
165 softime 18876 $this->addToMessage(__("Architecte frequent non modifiable"));
166 mbroquet 3730 $form->setType("architecte", "hiddenstatic");
167     $form->setType("nom", "static");
168     $form->setType("prenom", "static");
169     $form->setType("adresse1", "static");
170     $form->setType("adresse2", "static");
171 softime 10573 $form->setType("lieu_dit", "static");
172     $form->setType("boite_postale", "static");
173 mbroquet 3730 $form->setType("cp", "static");
174 softime 10573 $form->setType("cedex", "static");
175 mbroquet 3730 $form->setType("ville", "static");
176     $form->setType("pays", "static");
177     $form->setType("inscription", "static");
178     $form->setType("telephone", "static");
179     $form->setType("fax", "static");
180     $form->setType("email", "static");
181     $form->setType("note", "static");
182     $form->setType("frequent", "checkboxstatic");
183     $form->setType("nom_cabinet", "static");
184     $form->setType("conseil_regional", "static");
185 softime 18436 $form->setType("titre_obt_diplo_spec", "textareastatic");
186     $form->setType("date_obt_diplo_spec", "datestatic");
187     $form->setType("lieu_obt_diplo_spec", "textareastatic");
188    
189 mbroquet 3730 }
190 softime 9282 // Pour les actions appelée en POST en Ajax, il est nécessaire de
191     // qualifier le type de chaque champs (Si le champ n'est pas défini un
192     // PHP Notice: Undefined index dans core/om_formulaire.class.php est
193     // levé). On sélectionne donc les actions de portlet de type
194     // action-direct ou assimilé et les actions spécifiques avec le même
195     // comportement.
196     if ($this->get_action_param($maj, "portlet_type") == "action-direct"
197     || $this->get_action_param($maj, "portlet_type") == "action-direct-with-confirmation") {
198     //
199     foreach ($this->champs as $key => $value) {
200     $form->setType($value, 'hidden');
201     }
202     $form->setType($this->clePrimaire, "hiddenstatic");
203     }
204 mbroquet 3730 }
205    
206     function setLayout(&$form, $maj){
207    
208     $form->setBloc('architecte','D',"", "alignForm");
209     //
210     $form->setBloc('architecte','DF',"", "group");
211     //
212     $form->setBloc('architecte','F');
213    
214     if($this->getVal('frequent') != 't' || $maj == 0 ) {
215     $form->setBloc('nom','D',"","group alignForm civilite_architecte ".($maj<2 ? "search_fields ":""));
216     } else {
217     $form->setBloc('nom','D',"","group alignForm");
218     }
219    
220     //$form->setBloc('nom','D',"", "group civilite_architecte ".($maj<2 ? "search_fields":""));
221     $form->setBloc('prenom','F');
222    
223     $form->setBloc('adresse1','D',"", "adresse_architecte alignForm");
224     //
225     $form->setBloc('adresse1','DF',"", "group");
226     $form->setBloc('adresse2','DF',"", "group");
227 softime 10573 $form->setBloc('lieu_dit','DF',"", "group");
228     $form->setBloc('boite_postale','DF',"", "group");
229 mbroquet 3730 $form->setBloc('cp','DF',"", "group");
230 softime 10573 $form->setBloc('cedex','DF',"", "group");
231 mbroquet 3730 $form->setBloc('ville','DF',"", "group");
232     $form->setBloc('pays','DF',"", "group");
233     //
234     $form->setBloc('pays','F');
235    
236     $form->setBloc('inscription','D',"", "complement_architecte alignForm");
237     //
238     $form->setBloc('inscription','DF',"", "group");
239     $form->setBloc('conseil_regional','DF',"", "group");
240     $form->setBloc('nom_cabinet','DF',"", "group");
241     $form->setBloc('telephone','DF',"", "group");
242     $form->setBloc('fax','DF',"", "group");
243     $form->setBloc('email','DF',"", "group");
244     $form->setBloc('note','DF',"", "group");
245     //
246     $form->setBloc('note','F');
247 softime 15650
248     $form->setBloc('titre_obt_diplo_spec', 'D', __("Obtention du diplôme de spécialisation et d’approfondissement en architecture mention architecture et patrimoine ou équivalent"), "alignForm");
249     $form->setBloc('lieu_obt_diplo_spec', 'F');
250 mbroquet 3730 }
251 softime 8989
252     /**
253     * SETTER_FORM - setVal (setVal).
254     *
255     * @return void
256     */
257     function setVal(&$form, $maj, $validation, &$dnu1 = null, $dnu2 = null) {
258     parent::setVal($form, $maj, $validation);
259     //
260     $form->setVal("pays", "France");
261 mbroquet 3730 }
262 softime 8989
263 mbroquet 3730 function setLib(&$form,$maj) {
264     //
265     parent::setLib($form, $maj);
266     $form->setLib('frequent',"<span class=\"om-form-button copy-16\"
267 softime 18876 title=\"".__("Sauvegarder cet architecte")."\">".__("Sauvegarder (architecte frequent)")."</span>");
268 mbroquet 3730
269 softime 15650 // Dans le cas d’une intervention sur un immeuble classé au titre des monuments historiques
270     $form->setLib('titre_obt_diplo_spec', __("Titre"));
271     $form->setLib('date_obt_diplo_spec', __("Date"));
272     $form->setLib('lieu_obt_diplo_spec', __("Établissement / ville / pays"));
273 softime 17542
274     //
275     $form->setLib('inscription', __("Numéro de récépissé de déclaration à l'ordre des architectes"));
276     $form->setLib('conseil_regional', __("Conseil régional de l'ordre de"));
277 mbroquet 3730 }
278    
279     /**
280     * Ajout d'un champs caché permettant de linker l'id du demandeur
281     * recement ajouté
282     **/
283     function sousFormSpecificContent($maj) {
284    
285     $id_architecte = $this->getVal("architecte");
286 softime 18876 if(isset($this->valF["architecte"]) && !empty($this->valF["architecte"])) {
287 mbroquet 3730 echo "<input id=\"id_retour\" name=\"idRetour\" type=\"hidden\" value=\"".
288     $this->valF["architecte"]."\" />";
289 softime 18876 } elseif(isset($id_architecte) && !empty($id_architecte) && $maj == 110) {
290 mbroquet 3730 echo "<input id=\"id_retour\" name=\"idRetour\" type=\"hidden\" value=\"".
291     $this->getVal("architecte")."\" />";
292     }
293     }
294    
295     /**
296     * Synthèse de l'architecte pour le formulaire des données techniques
297     */
298     function afficherSynthese() {
299    
300     $nom = $this->getVal('nom');
301     $prenom = $this->getVal('prenom');
302    
303     //Affichage du bouton pour ajout si dans un objet qui n'est pas en BDD
304     if ( $this->getParameter("maj") === 0 ){
305     printf ("<span class=\"om-form-button add-16 add_architecte\"
306     onclick=\"popupIt('architecte',
307 softime 7996 '".OM_ROUTE_SOUSFORM."&obj=architecte&action=0'+
308 mbroquet 3730 '&retourformulaire=donnees_techniques', 860, 'auto',
309     getObjId, 'architecte');\"".
310     ">");
311 softime 18876 printf(__("Saisir un(e) architecte"));
312 mbroquet 3730 }
313     //Affichage du bouton de suppression sinon
314     else {
315     //
316     printf ("<span class=\"om-form-button delete-16 add_architecte\"
317     onclick=\"setDataFrequent('','architecte');\"".
318     "title=\"");
319 softime 18876 printf(__("Supprimer"));
320 mbroquet 3730 printf("\">");
321     printf("&nbsp;");
322     printf("</span>");
323     //
324     printf ("<span class=\"om-form-button edit-16 add_architecte\"
325     onclick=\"popupIt('architecte',
326 softime 7996 '".OM_ROUTE_SOUSFORM."&obj=architecte&action=1&idx=".$this->getVal($this->clePrimaire)."'+
327 mbroquet 3730 '&retourformulaire=donnees_techniques', 860, 'auto',
328     getObjId, '".$this->clePrimaire."');\"".
329     "title=\"");
330 softime 18876 printf(__("editer"));
331 mbroquet 3730 printf("\">");
332     printf("%s %s",$nom,$prenom);
333     }
334     printf ("</span>");
335     }
336    
337 nhaye 5254 /**
338 softime 7685 * 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 softime 7996 /**
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 softime 10573 public function view_json_data() {
371     $this->checkAccessibility();
372     $this->f->disableLog();
373     $view = $this->get_json_data();
374     printf(json_encode($view));
375     }
376    
377     public function get_json_data() {
378     $val = array_combine($this->champs, $this->val);
379     foreach ($val as $key => $value) {
380     $val[$key] = strip_tags($value);
381     }
382     return $val;
383     }
384    
385 softime 18436 /**
386     * Permet de modifier l'affichage des boutons dans le sousformulaire.
387     * @param string $datasubmit Données a transmettre
388     * @param integer $maj Mode du formulaire
389     * @param array $val Valeur du formulaire
390     */
391     function boutonsousformulaire($datasubmit, $maj, $val = null) {
392     // Si on est dans le cas de la récupération d'un architecte fréquent on n'affiche que le
393     // bouton "retour" (le bouton "valider" est problématique car il supprime les données de l'architecte fréquent
394     // dans le formulaire et en bdd)
395     if($maj == 110){
396     return null;
397     }
398     // Sinon on laisse le comportement normal (affichage des boutons "ajouter" + "retour")
399     $this->bouton($maj);
400     }
401    
402 softime 6565 }// fin classe
403 nhaye 5254
404 softime 7996

Properties

Name Value
svn:keywords "Id"

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26