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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 7996 - (hide annotations)
Fri Jul 20 17:12:33 2018 UTC (6 years, 6 months ago) by softime
File size: 12338 byte(s)
* Merge de la branche d'intégration 4.7.0 vers le trunk

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

Properties

Name Value
svn:keywords "Id"

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26