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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 4032 - (hide annotations)
Fri Apr 22 15:14:31 2016 UTC (8 years, 9 months ago) by nmeucci
File size: 15723 byte(s)
* Correction - Le bouton "Sauvegarder le pétitionnaire fréquent" était affiché
  en consultation du formulaire et par conséquent sans effet. Il a été supprimé.

1 mbroquet 3730 <?php
2     //$Id: petitionnaire.class.php 5575 2015-12-08 19:25:17Z stimezouaght $
3    
4     require_once ("../obj/demandeur.class.php");
5    
6     /*
7     * Classe qui hérite de la classe demandeur
8     */
9     class petitionnaire extends demandeur {
10    
11     function petitionnaire($id,&$db,$debug) {
12     //On active les nouvelles actions
13     $this->activate_class_action = true;
14     $this->constructeur($id,$db,$debug);
15     }// fin constructeur
16    
17     // {{{ Gestion de la confidentialité des données spécifiques
18    
19     /**
20     * Définition des actions disponibles sur la classe.
21     *
22     * @return void
23     */
24     function init_class_actions() {
25    
26     parent::init_class_actions();
27    
28     // ACTION - 003 - consulter
29     //
30     $this->class_actions[3]["condition"] = "is_user_from_allowed_collectivite";
31    
32     // ACTION - 100 - non_frequent
33     // Finalise l'enregistrement
34     $this->class_actions[100] = array(
35     "identifier" => "non_frequent",
36     "portlet" => array(
37     "type" => "action-direct",
38     "libelle" => _("Marquer non frequent"),
39     "order" => 100,
40     "class" => "radiation-16",
41     ),
42     "view" => "formulaire",
43     "method" => "set_non_frequent",
44     "permission_suffix" => "modifier_frequent",
45     "condition" => array("is_frequent"),
46     );
47    
48     // ACTION - 110 - recuperer_frequent
49     // Finalise l'enregistrement
50     $this->class_actions[110] = array(
51     "identifier" => "recuperer_frequent",
52     "view" => "formulaire",
53     "method" => "modifier",
54     "button" => "valider",
55     "permission_suffix" => "modifier",
56     );
57     }
58    
59     //}}}
60    
61     /**
62     * Retourne true si pétitionnaire frequent false sinon.
63     *
64     * @return boolean retourne true si frequent false sinon.
65     */
66     function is_frequent() {
67     if($this->getVal("frequent") == 't') {
68     return true;
69     }
70     return false;
71     }
72    
73     /**
74     * Retourne false si pétitionnaire frequent true sinon.
75     *
76     * @return boolean retourne false si frequent true sinon.
77     */
78     function is_not_frequent() {
79     return !$this->is_frequent();
80     }
81    
82     /**
83     * TREATMENT - set_non_frequent.
84     *
85     * Cette methode permet de passer le pétitionnaire en non fréquent.
86     *
87     * @return boolean true si maj effectué false sinon
88     */
89     function set_non_frequent($val) {
90     // Cette méthode permet d'exécuter une routine en début des méthodes
91     // dites de TREATMENT.
92     $this->begin_treatment(__METHOD__);
93    
94     if($this->getVal("frequent") == 't') {
95     $this->correct = true;
96     $this->valF["frequent"] = false;
97    
98     $res = $this->f->db->autoExecute(
99     DB_PREFIXE.$this->table,
100     $this->valF,
101     DB_AUTOQUERY_UPDATE,
102     $this->clePrimaire."=".$this->getVal($this->clePrimaire)
103     );
104     if ($this->f->isDatabaseError($res, true)) {
105     // Appel de la methode de recuperation des erreurs
106     $this->erreur_db($res->getDebugInfo(), $res->getMessage(), '');
107     $this->correct = false;
108     // Termine le traitement
109     return $this->end_treatment(__METHOD__, false);
110     } else {
111     $this->addToMessage(_("Mise a jour effectuee avec succes"));
112     return $this->end_treatment(__METHOD__, true);
113     }
114    
115     } else {
116     $this->addToMessage(_("Element deja frequent"));
117     }
118    
119     // Termine le traitement
120     return $this->end_treatment(__METHOD__, false);
121     }
122    
123     /*
124     * Cache le champ type_demandeur.
125     */
126     function setType(&$form,$maj) {
127     parent::setType($form,$maj);
128    
129     // On définit le type des champs pour les actions direct
130     // utilisant la vue formulaire
131     if ($maj == 100) {
132     foreach ($this->champs as $key => $value) {
133     $form->setType($value, 'hidden');
134     }
135     }
136    
137     if($maj == 3) {
138 nmeucci 4032 // En consultation le bouton "Sauvegarder" n'a pas lieu d'être
139     $form->setType('frequent','hidden');
140     // Gestion de la catégorie de personne
141     if ($this->getVal('qualite') == 'particulier') {
142 mbroquet 3730 $form->setType('personne_morale_denomination','hidden');
143     $form->setType('personne_morale_raison_sociale','hidden');
144     $form->setType('personne_morale_siret','hidden');
145     $form->setType('personne_morale_categorie_juridique','hidden');
146     $form->setType('personne_morale_nom','hidden');
147     $form->setType('personne_morale_prenom','hidden');
148     $form->setType('personne_morale_civilite','hidden');
149     } else {
150     $form->setType('particulier_civilite','hidden');
151     $form->setType('particulier_nom','hidden');
152     $form->setType('particulier_prenom','hidden');
153     $form->setType('particulier_date_naissance','hidden');
154     $form->setType('particulier_commune_naissance','hidden');
155     $form->setType('particulier_departement_naissance','hidden');
156     }
157     }
158    
159     // Champs disabled pour la modif de petitionnaires frequents
160     if ($maj==110 or $maj==1) { //modifier
161     if($this->getVal('frequent') == 't') {
162     $form->setType('qualite','selecthiddenstatic');
163     $form->setType('particulier_nom','static');
164     $form->setType('particulier_prenom','static');
165     $form->setType('particulier_date_naissance','datestatic');
166     $form->setType('particulier_commune_naissance','static');
167     $form->setType('particulier_departement_naissance','static');
168     $form->setType('personne_morale_denomination','static');
169     $form->setType('personne_morale_raison_sociale','static');
170     $form->setType('personne_morale_siret','static');
171     $form->setType('personne_morale_categorie_juridique','static');
172     $form->setType('personne_morale_nom','static');
173     $form->setType('personne_morale_prenom','static');
174     $form->setType('numero','static');
175     $form->setType('voie','static');
176     $form->setType('complement','static');
177     $form->setType('lieu_dit','static');
178     $form->setType('localite','static');
179     $form->setType('code_postal','static');
180     $form->setType('bp','static');
181     $form->setType('cedex','static');
182     $form->setType('pays','static');
183     $form->setType('division_territoriale','static');
184     $form->setType('telephone_fixe','static');
185     $form->setType('telephone_mobile','static');
186     $form->setType('fax','static');
187     $form->setType('indicatif','static');
188     $form->setType('courriel','static');
189     $form->setType('notification','checkboxstatic');
190     $form->setType('particulier_civilite','selecthiddenstatic');
191     $form->setType('personne_morale_civilite','selecthiddenstatic');
192     $form->setType('om_collectivite','selecthiddenstatic');
193 nmeucci 4032 // on masque le bouton "Sauvegarder"
194     $form->setType('frequent','hidden');
195 mbroquet 3730 }
196     }// fin modifier
197    
198     $form->setType('type_demandeur', 'hidden');
199    
200     }
201     /*
202     * Ajout du fielset
203     * Add fieldset
204     */
205     function setLayout(&$form, $maj){
206     //
207     $form->setBloc('om_collectivite','DF',"", ($maj<2 ? "search_fields":""));
208    
209     $form->setBloc('particulier_civilite','D',"", "particulier_fields");
210    
211     $form->setBloc('particulier_civilite','D',"");
212     $form->setBloc('particulier_civilite','F');
213     if($this->getVal('frequent') != 't' OR $maj==0) {
214     $form->setBloc('particulier_nom','D',"","group ".($maj<2 ? "search_fields":""));
215     } else {
216     $form->setBloc('particulier_nom','D',"","group");
217     }
218     $form->setBloc('particulier_prenom','F');
219    
220     $form->setFieldset('particulier_date_naissance','D',_("Etat civil"),"group");
221     $form->setBloc('particulier_date_naissance','D',"","group");
222     $form->setBloc('particulier_commune_naissance','F');
223     $form->setFieldset('particulier_departement_naissance','F');
224    
225    
226     $form->setBloc('particulier_departement_naissance','F');
227    
228     $form->setBloc('personne_morale_denomination','D',"", "personne_morale_fields");
229    
230     $form->setBloc('personne_morale_denomination','D',"","group");
231     if($this->getVal('frequent') != 't' OR $maj==0) {
232     $form->setBloc('personne_morale_denomination','D',"", ($maj<2 ? "search_fields":""));
233     } else {
234     $form->setBloc('personne_morale_denomination','D',"", "");
235     }
236     $form->setBloc('personne_morale_denomination','F');
237     $form->setBloc('personne_morale_raison_sociale','F');
238    
239     $form->setFieldset('personne_morale_siret','D',_("Personne morale"));
240    
241     $form->setBloc('personne_morale_siret','D',"");
242     $form->setBloc('personne_morale_siret','F');
243    
244     $form->setBloc('personne_morale_categorie_juridique','D',"");
245     $form->setBloc('personne_morale_categorie_juridique','F');
246    
247     $form->setBloc('personne_morale_civilite','D',"");
248     $form->setBloc('personne_morale_civilite','F');
249    
250     $form->setBloc('personne_morale_nom','D',"", "group");
251     $form->setBloc('personne_morale_prenom','F');
252    
253     $form->setFieldset('personne_morale_prenom','F');
254    
255     $form->setBloc('personne_morale_prenom','F');
256    
257     $form->setFieldset('numero','D',_("Adresse"), "");
258    
259     $form->setBloc('numero','D',"","group");
260     $form->setBloc('voie','F');
261    
262     $form->setBloc('complement','D',"");
263     $form->setBloc('complement','F');
264    
265     $form->setBloc('lieu_dit','D',"","group");
266     $form->setBloc('localite','F');
267    
268     $form->setBloc('code_postal','D',"","group");
269     $form->setBloc('cedex','F');
270    
271     $form->setBloc('pays','D',"", "","group");
272     $form->setBloc('division_territoriale','F');
273     $form->setFieldset('division_territoriale','F');
274    
275     $form->setFieldset('telephone_fixe','D',_("Coordonnees"), "");
276     $form->setBloc('telephone_fixe','D',"", "group");
277     $form->setBloc('indicatif','F');
278    
279     $form->setBloc('fax','D',"", "group");
280     $form->setBloc('notification','F');
281    
282     $form->setFieldset('notification','F');
283    
284     }
285    
286     function setLib(&$form,$maj) {
287     //libelle des champs
288     parent::setLib($form, $maj);
289     $form->setLib('frequent',"<span class=\"om-form-button copy-16\"
290     title=\""._("Sauvegarder ce petitionnaire")."\">"._("Sauvegarder (petitionnaire frequent)")."</span>");
291    
292     }
293     /*
294     * Met le champ type_demandeur à delegataire par défaut
295     */
296     function setVal(&$form, $maj, $validation, &$db) {
297     parent::setVal($form, $maj, $validation, $db);
298     $form->setVal("type_demandeur","petitionnaire");
299     }
300     /*
301     * Met le champ type_demandeur à delegataire par défaut
302     */
303     function setValsousformulaire(&$form, $maj, $validation, $idxformulaire, $retourformulaire, $typeformulaire, &$dnu1 = null, $dnu2 = null) {
304     parent::setValsousformulaire($form, $maj, $validation, $idxformulaire, $retourformulaire, $typeformulaire, $dnu1, $dnu2);
305     $form->setVal("type_demandeur","petitionnaire");
306     if($maj == 0) {
307     // Récupération des infos du demandeur passé en paramètre
308     if($this->getParameter('idx_demandeur') != "") {
309     include '../sql/pgsql/petitionnaire.form.inc.php';
310     $sql = "SELECT ".implode(", ",$champs)." FROM ".DB_PREFIXE."demandeur ".
311     "WHERE demandeur=".$this->getParameter('idx_demandeur');
312     $res = $this->db->query($sql);
313     $this->f->addToLog("setValSousFormulaire() : db->query(\"".$sql."\")");
314     if ( database::isError($res)){
315     die();
316     }
317     $row = & $res->fetchRow(DB_FETCHMODE_ASSOC);
318     foreach ($row as $key => $value) {
319     $form->setVal($key, $value);
320     }
321     $form->setVal("frequent","f");
322     }
323     }
324     }
325    
326     /**
327     * Surcharge du bouton pour empécher l'utilisateur de modifier un fréquent
328     * Et ajout d'un bouton pour vider le formulaire
329     */
330     function boutonsousformulaire($datasubmit, $maj, $val=null) {
331     if($maj == 0 OR $this->getVal('frequent') != 't') {
332     if (!$this->correct) {
333     //
334     switch ($maj) {
335     case 0:
336     $bouton = _("Ajouter");
337     break;
338     case 1:
339     $bouton = _("Modifier");
340     break;
341     case 2:
342     $bouton = _("Supprimer");
343     break;
344     }
345     //
346     echo "<input type=\"button\" value=\"".$bouton."\" ";
347     echo "onclick=\"affichersform('".get_class($this)."', '$datasubmit', this.form);\" ";
348     echo "class=\"om-button\" />";
349     }
350     }
351     if(!$this->correct) {
352     echo '<span class="om-form-button erase-petitionnaire delete-16" '.
353     'title="Supprimer le contenu">'._("Vider le formulaire").'</span>';
354     }
355     }
356    
357     /**
358     * CONDITION - is_user_from_allowed_collectivite.
359     *
360     * Cette condition permet de vérifier si l'utilisateur connecté appartient
361     * à une collectivité autorisée : c'est-à-dire de niveau 2 ou identique à
362     * la collectivité de l'enregistrement sur lequel on se trouve.
363     *
364     * De plus les pétitionnaires liés à la collectivité de niveau 2 sont
365     * visibles par les utilisateurs de collectivité de niveau 1.
366     *
367     * @return boolean
368     */
369     function is_user_from_allowed_collectivite() {
370    
371     // Si l'utilisateur est de niveau 2
372     if ($_SESSION["niveau"] == "2") {
373     // Alors l'utilisateur fait partie d'une collectivité autorisée
374     return true;
375     }
376    
377     // L'utilisateur est donc de niveau 1
378     // On vérifie donc si la collectivité de l'utilisateur est la même
379     // que la collectivité de l'élément sur lequel on se trouve ou si
380     // l'élément est lié à la collectivité de niveau 2
381     if ($_SESSION["collectivite"] === $this->getVal("om_collectivite")
382     || $this->f->isCollectiviteMono($this->getVal("om_collectivite")) == false) {
383     // Alors l'utilisateur fait partie d'une collectivité autorisée
384     return true;
385     }
386    
387     // L'utilisateur ne fait pas partie d'une collectivité autorisée
388     return false;
389     }
390    
391     }// fin classe
392     ?>

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26