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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 5254 - (hide annotations)
Fri Nov 25 10:59:14 2016 UTC (8 years, 2 months ago) by nhaye
File size: 15733 byte(s)
Merge de la branche d'application des nouvelles actions (passage des lots en nouvelles actions)

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26