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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2316 - (show annotations)
Thu Sep 19 12:26:53 2013 UTC (11 years, 4 months ago) by nhaye
File size: 8124 byte(s)
Modification de l'ordre de tri des listes déroulantes dans l'application

1 <?php
2 //$Id$
3 //gen openMairie le 10/02/2011 20:31
4 require_once ("../gen/obj/blocnote.class.php");
5
6 class blocnote extends blocnote_gen {
7
8 function blocnote($id,&$db,$debug) {
9 $this->constructeur($id,$db,$debug);
10 }// fin constructeur
11
12 // {{{ Gestion de la confidentialité des données spécifiques
13
14 /**
15 * Surcharge pour gérer les actions disponibles dans le portlet
16 */
17 function checkAccessibility() {
18 //
19 parent::checkAccessibility();
20 // Si l'utilisateur est un intructeur qui en correspond pas à la
21 // division du dossier
22 if ($this->f->isUserInstructeur()
23 && isset($this->f->om_utilisateur["division"])
24 && $this->f->om_utilisateur["division"] != $this->getDivisionFromDossier()) {
25 //
26 $this->actions_sup = array();
27 $this->setParameter("actions", array());
28 }
29
30 $idxformulaire = $this->getParameter("idxformulaire");
31 $retourformulaire = $this->getParameter("retourformulaire");
32 //Si le dossier d'instruction auquel est rattachée la consultation est
33 //cloturée, on affiche pas le lien de modification du portlet
34 if ( $idxformulaire != '' &&
35 (
36 $retourformulaire == 'dossier' ||
37 $retourformulaire == 'dossier_instruction' ||
38 $retourformulaire == 'dossier_instruction_mes_encours' ||
39 $retourformulaire == 'dossier_instruction_tous_encours' ||
40 $retourformulaire == 'dossier_instruction_mes_clotures' ||
41 $retourformulaire == 'dossier_instruction_tous_clotures'
42 )){
43
44 //On récuppère le statut du dossier d'instruction
45 $statut = $this->f->getStatutDossier($idxformulaire);
46 if ( $this->f->isUserInstructeur() && $statut == "cloture" ){
47
48 //On cache le lien de modification
49 $this->parameters["actions"]["modifier"] = NULL;
50 $this->parameters["actions"]["supprimer"] = NULL;
51 }
52 }
53 }
54
55 /**
56 * Cette variable permet de stocker le résultat de la méthode
57 * getDivisionFromDossier() afin de ne pas effectuer le recalcul à chacun de
58 * ces appels.
59 * @var string Code de la division du dossier en cours
60 */
61 var $_division_from_dossier = NULL;
62
63 /**
64 * Cette méthode permet de récupérer le code de division correspondant
65 * au dossier sur lequel on se trouve.
66 *
67 * @return string Code de la division du dossier en cours
68 */
69 function getDivisionFromDossier() {
70
71 // Cette méthode peut être appelée plusieurs fois lors d'une requête.
72 // Pour éviter de refaire le traitement de recherche de la division
73 // alors on vérifie si nous ne l'avons pas déjà calculé.
74 if ($this->_division_from_dossier != NULL) {
75 // Logger
76 $this->addToLog("getDivisionFromDossier(): retour de la valeur déjà calculée - '".$this->_division_from_dossier."'", EXTRA_VERBOSE_MODE);
77 // On retourne la valeur déjà calculée
78 return $this->_division_from_dossier;
79 }
80
81 // Par défaut, on définit la valeur du dossier à NULL
82 $dossier = NULL;
83 // Test sur le mode et le contexte du formulaire
84 if ($this->getParameter("maj") == 0
85 && ($this->getParameter("retourformulaire") == "dossier"
86 || $this->getParameter("retourformulaire") == "dossier_instruction"
87 || $this->getParameter("retourformulaire") == "dossier_instruction_mes_encours"
88 || $this->getParameter("retourformulaire") == "dossier_instruction_tous_encours"
89 || $this->getParameter("retourformulaire") == "dossier_instruction_mes_clotures"
90 || $this->getParameter("retourformulaire") == "dossier_instruction_tous_clotures")) {
91 // Si on se trouve en mode AJOUT (seul mode où l'enregistrement
92 // n'existe pas en base de données) ET que nous nous trouvons
93 // dans le contexte d'un dossier d'instruction alors on récupère
94 // le numéro de dossier depuis le paramètre 'idxformulaire'
95 $dossier = $this->getParameter("idxformulaire");
96 } else {
97 // Sinon on récupère le numéro de dossier dans le champs dossier de
98 // l'enregistrement (en base de données)
99 $dossier = $this->getVal("dossier");
100 }
101
102 // On appelle la méthode de la classe utils qui renvoi le code de la
103 // division d'un dossier, on la stocke pour ne pas refaire le calcul au
104 // prochain appel de cette méthode
105 $this->_division_from_dossier = $this->f->getDivisionFromDossier($dossier);
106 // Logger
107 $this->addToLog("getDivisionFromDossier(): retour de la valeur nouvellement calculée - '".$this->_division_from_dossier."'", EXTRA_VERBOSE_MODE);
108 // On retourne la valeur retournée
109 return $this->_division_from_dossier;
110
111 }
112
113 // }}}
114
115 function setValsousformulaire(&$form,$maj,$validation,$idxformulaire,$retourformulaire,$typeformulaire){
116 if ($validation==0) {
117 if ($maj == 0){
118 $form->setVal("dossier", $idxformulaire);
119 }
120 }
121 }
122
123 function setLib(&$form, $maj) {
124 //
125 parent::setLib($form, $maj);
126 //
127 $form->setLib($this->clePrimaire, _("id"));
128 }
129
130 function setType(&$form, $maj) {
131 //
132 parent::setType($form, $maj);
133 //
134 if ($maj < 2) {
135 $form->setType('categorie', 'select');
136 $form->setType('dossier', 'hiddenstatic');
137 }else{
138 $form->setType('blocnote', 'hiddenstatic');
139 $form->setType('destination', 'hiddenstatic');
140 $form->setType('dossier', 'hiddenstatic');
141 }
142
143 //
144 if ($this->getParameter("retourformulaire") == "dossier"
145 || $this->getParameter("retourformulaire") == "dossier_instruction"
146 || $this->getParameter("retourformulaire") == "dossier_instruction_mes_encours"
147 || $this->getParameter("retourformulaire") == "dossier_instruction_tous_encours"
148 || $this->getParameter("retourformulaire") == "dossier_instruction_mes_clotures"
149 || $this->getParameter("retourformulaire") == "dossier_instruction_tous_clotures") {
150 //
151 $form->setType('dossier', 'hidden');
152 }
153 }
154
155
156
157 function setSelect(&$form, $maj,$db,$debug) {
158 $contenu=array();
159 $contenu[0]=array(
160 _('amenagement'),
161 _('construction'),
162 _('contentieux'),
163 _('demolition'),
164 _('divers'),
165 );
166 $contenu[1]=array(
167 _('amenagement'),
168 _('construction'),
169 _('contentieux'),
170 _('demolition'),
171 _('divers'),
172 );
173 $form->setSelect("categorie",$contenu);
174 }
175
176 /**
177 * Cette methode est à surcharger elle permet de tester dans chaque classe
178 * des droits spécifiques en fonction des données
179 */
180 function canAccess() {
181
182 $retourformulaire = $this->getParameter("retourformulaire");
183 // Si l'utilisateur est un instructeur et que le dossier est cloturé
184 if ( $this->f->isUserInstructeur() &&
185 $this->f->getStatutDossier($this->getVal("dossier")) == "cloture" &&
186 (
187 $retourformulaire == 'dossier' ||
188 $retourformulaire == 'dossier_instruction' ||
189 $retourformulaire == 'dossier_instruction_mes_encours' ||
190 $retourformulaire == 'dossier_instruction_tous_encours' ||
191 $retourformulaire == 'dossier_instruction_mes_clotures' ||
192 $retourformulaire == 'dossier_instruction_tous_clotures'
193 ) && $this->getParameter("maj") != 3) {
194
195 return false;
196 }
197 //
198 return true;
199 }
200 }
201
202 ?>

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26