/[openfoncier]/branches/3.14.x/obj/dossier_commission.class.php
ViewVC logotype

Contents of /branches/3.14.x/obj/dossier_commission.class.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3343 - (show annotations)
Thu Mar 19 17:34:18 2015 UTC (9 years, 10 months ago) by vpihour
File size: 11987 byte(s)
Ajout de la branche

1 <?php
2 //$Id$
3 //gen openMairie le 07/12/2012 17:34
4
5 require_once ("../gen/obj/dossier_commission.class.php");
6
7 class dossier_commission extends dossier_commission_gen {
8
9 function dossier_commission($id,&$db,$debug) {
10 $this->constructeur($id,$db,$debug);
11 }// fin constructeur
12
13 // {{{ Gestion de la confidentialité des données spécifiques
14
15 /**
16 * Surcharge pour gérer les actions disponibles dans le portlet
17 */
18 function checkAccessibility() {
19 //
20 parent::checkAccessibility();
21 // Si l'utilisateur est un intructeur qui en correspond pas à la
22 // division du dossier
23 if ($this->f->isUserInstructeur()
24 && isset($this->f->om_utilisateur["division"])
25 && $this->f->om_utilisateur["division"] != $this->getDivisionFromDossier()) {
26 //
27 $this->actions_sup = array();
28 $this->setParameter("actions", array());
29 }
30 // Si une action 'lu' est présente et que le champ lu est à true
31 // on supprime l'action
32 if (isset($this->actions_sup["lu"])
33 && isset($this->val[array_search("lu", $this->champs)])
34 && $this->val[array_search("lu", $this->champs)]== "t") {
35 unset($this->actions_sup["lu"]);
36 }
37
38 $idxformulaire = $this->getParameter("idxformulaire");
39 $retourformulaire = $this->getParameter("retourformulaire");
40 //Si le dossier d'instruction auquel est rattachée la demande de passage
41 // en commission est cloturé, on affiche pas les liens du portlet
42 if ( $idxformulaire != '' &&
43 (
44 $retourformulaire == 'dossier' ||
45 $retourformulaire == 'dossier_instruction' ||
46 $retourformulaire == 'dossier_instruction_mes_encours' ||
47 $retourformulaire == 'dossier_instruction_tous_encours' ||
48 $retourformulaire == 'dossier_instruction_mes_clotures' ||
49 $retourformulaire == 'dossier_instruction_tous_clotures'
50 )){
51
52 //On récuppère le statut du dossier d'instruction
53 $statut = $this->f->getStatutDossier($idxformulaire);
54 if ( $this->f->isUserInstructeur() && $statut == "cloture" ){
55
56 //On cache le lien de modification
57 $this->parameters["actions"]["modifier"] = NULL;
58 $this->parameters["actions"]["supprimer"] = NULL;
59 $this->actions_sup['lu'] = NULL;
60 }
61 }
62 }
63
64 /**
65 * Cette variable permet de stocker le résultat de la méthode
66 * getDivisionFromDossier() afin de ne pas effectuer le recalcul à chacun de
67 * ces appels.
68 * @var string Code de la division du dossier en cours
69 */
70 var $_division_from_dossier = NULL;
71
72 /**
73 * Cette méthode permet de récupérer le code de division correspondant
74 * au dossier sur lequel on se trouve.
75 *
76 * @return string Code de la division du dossier en cours
77 */
78 function getDivisionFromDossier() {
79
80 // Cette méthode peut être appelée plusieurs fois lors d'une requête.
81 // Pour éviter de refaire le traitement de recherche de la division
82 // alors on vérifie si nous ne l'avons pas déjà calculé.
83 if ($this->_division_from_dossier != NULL) {
84 // Logger
85 $this->addToLog("getDivisionFromDossier(): retour de la valeur déjà calculée - '".$this->_division_from_dossier."'", EXTRA_VERBOSE_MODE);
86 // On retourne la valeur déjà calculée
87 return $this->_division_from_dossier;
88 }
89
90 // Par défaut, on définit la valeur du dossier à NULL
91 $dossier = NULL;
92 // Test sur le mode et le contexte du formulaire
93 if ($this->getParameter("maj") == 0
94 && ($this->getParameter("retourformulaire") == "dossier"
95 || $this->getParameter("retourformulaire") == "dossier_instruction"
96 || $this->getParameter("retourformulaire") == "dossier_instruction_mes_encours"
97 || $this->getParameter("retourformulaire") == "dossier_instruction_tous_encours"
98 || $this->getParameter("retourformulaire") == "dossier_instruction_mes_clotures"
99 || $this->getParameter("retourformulaire") == "dossier_instruction_tous_clotures")) {
100 // Si on se trouve en mode AJOUT (seul mode où l'enregistrement
101 // n'existe pas en base de données) ET que nous nous trouvons
102 // dans le contexte d'un dossier d'instruction alors on récupère
103 // le numéro de dossier depuis le paramètre 'idxformulaire'
104 $dossier = $this->getParameter("idxformulaire");
105 } else {
106 // Sinon on récupère le numéro de dossier dans le champs dossier de
107 // l'enregistrement (en base de données)
108 $dossier = $this->getVal("dossier");
109 }
110
111 // On appelle la méthode de la classe utils qui renvoi le code de la
112 // division d'un dossier, on la stocke pour ne pas refaire le calcul au
113 // prochain appel de cette méthode
114 $this->_division_from_dossier = $this->f->getDivisionFromDossier($dossier);
115 // Logger
116 $this->addToLog("getDivisionFromDossier(): retour de la valeur nouvellement calculée - '".$this->_division_from_dossier."'", EXTRA_VERBOSE_MODE);
117 // On retourne la valeur retournée
118 return $this->_division_from_dossier;
119
120 }
121
122 // }}}
123
124 function setType(&$form,$maj) {
125 parent::setType($form, $maj);
126
127 //En ajout ou modification pour l'instructeur
128 if ( $maj < 2 &&
129 (
130 $this->retourformulaire=='dossier'
131 || $this->retourformulaire=='dossier_instruction'
132 || $this->retourformulaire=='dossier_instruction_mes_encours'
133 || $this->retourformulaire=='dossier_instruction_tous_encours'
134 || $this->retourformulaire=='dossier_instruction_mes_clotures'
135 || $this->retourformulaire=='dossier_instruction_tous_clotures'
136 ) ){
137
138 $form->setType('dossier','hiddenstatic');
139 $form->setType('commission','hidden');
140 $form->setType('avis','hidden');
141 $form->setType('lu', 'hidden');
142 }
143
144 //En modification pour l'instructeur
145 if ( $maj == 1 &&
146 (
147 $this->retourformulaire=='dossier'
148 || $this->retourformulaire=='dossier_instruction'
149 || $this->retourformulaire=='dossier_instruction_mes_encours'
150 || $this->retourformulaire=='dossier_instruction_tous_encours'
151 || $this->retourformulaire=='dossier_instruction_mes_clotures'
152 || $this->retourformulaire=='dossier_instruction_tous_clotures'
153 ) ){
154
155 $form->setType('lu','checkboxstatic');
156 }
157
158 // En consultation et modification pour la cellule suivi
159 if ( $maj == 1 && $this->retourformulaire == 'commission'){
160
161 $form->setType('dossier','hiddenstatic');
162 $form->setType('commission_type','hiddenstatic');
163 $form->setType('date_souhaitee','hiddenstaticdate');
164 $form->setType('motivation','hiddenstatic');
165 $form->setType('commission','hiddenstatic');
166 $form->setType('lu','hidden');
167 }
168
169 if ( $maj == 3 && $this->retourformulaire == 'commission'){
170
171 $form->setType('lu','hidden');
172 }
173 //
174 if ($this->getParameter("retourformulaire") == "dossier"
175 || $this->getParameter("retourformulaire") == "dossier_instruction"
176 || $this->getParameter("retourformulaire") == "dossier_instruction_mes_encours"
177 || $this->getParameter("retourformulaire") == "dossier_instruction_tous_encours"
178 || $this->getParameter("retourformulaire") == "dossier_instruction_mes_clotures"
179 || $this->getParameter("retourformulaire") == "dossier_instruction_tous_clotures") {
180 //
181 $form->setType('dossier', 'hidden');
182 }
183 }
184
185
186 function setLib(&$form, $maj) {
187 //
188 parent::setLib($form, $maj);
189 //
190 $form->setLib($this->clePrimaire, _("id"));
191 }
192
193 // la demande de commission est mis à lu par défaut
194 function triggerajouter($id,&$db,$val,$DEBUG) {
195
196 $this->valF['lu'] = TRUE;
197 }
198
199 // Si la commission rend son avis, la demande de commission est non lu pour que
200 // l'instructeur soit notifié
201 function triggermodifier($id,&$db,$val,$DEBUG) {
202
203 if ( $val['avis'] != "" ){
204
205 $this->valF['lu'] = FALSE;
206 }
207 }
208
209 // Met la date au bon format
210 function setValsousformulaire(&$form,$maj,$validation,$idxformulaire,$retourformulaire,$typeformulaire,&$db,$DEBUG=null){
211 //
212 $this->retourformulaire = $retourformulaire;
213 // En mode AJOUTER
214 if ($maj == 0) {
215 // On positionne la date du jour par défaut
216 $form->setVal('date_souhaitee', date("d/m/Y"));
217 // Afficher le numéro de dossier d'instruction
218 if($retourformulaire =='dossier'
219 || $retourformulaire =='dossier_instruction'
220 || $retourformulaire =='dossier_instruction_mes_encours'
221 || $retourformulaire =='dossier_instruction_tous_encours'
222 || $retourformulaire =='dossier_instruction_mes_clotures'
223 || $retourformulaire =='dossier_instruction_tous_clotures'){
224 $form->setVal('dossier', $idxformulaire);
225 }
226 }
227 }
228
229 //Surcharge du bouton retour de la gestion des commissions afin de retourner directement vers le tableau
230 function retoursousformulaire($idxformulaire, $retourformulaire, $val,
231 $objsf, $premiersf, $tricolsf, $validation,
232 $idx, $maj, $retour) {
233
234 if( $maj = 1 && $retourformulaire === "commission") {
235
236 echo "\n<a class=\"retour\" ";
237 echo "href=\"#\" ";
238
239 echo "onclick=\"ajaxIt('".$objsf."', '";
240 echo "../scr/soustab.php?obj=dossier_commission&idxformulaire="
241 .$val['commission'].
242 "&retourformulaire=commission');\"";
243 echo "\" ";
244 echo ">";
245 //
246 echo _("Retour");
247 //
248 echo "</a>\n";
249
250 } else {
251 parent::retoursousformulaire($idxformulaire, $retourformulaire, $val,
252 $objsf, $premiersf, $tricolsf, $validation,
253 $idx, $maj, $retour);
254 }
255 }
256
257 /**
258 * Cette methode est à surcharger elle permet de tester dans chaque classe
259 * des droits spécifiques en fonction des données
260 */
261 function canAccess() {
262
263 $retourformulaire = $this->getParameter("retourformulaire");
264 // Si l'utilisateur est un instructeur et que le dossier est cloturé
265 if ( $this->f->isUserInstructeur() &&
266 $this->f->getStatutDossier($this->getParameter("idxformulaire")) == "cloture" &&
267 (
268 $retourformulaire == 'dossier' ||
269 $retourformulaire == 'dossier_instruction' ||
270 $retourformulaire == 'dossier_instruction_mes_encours' ||
271 $retourformulaire == 'dossier_instruction_tous_encours' ||
272 $retourformulaire == 'dossier_instruction_mes_clotures' ||
273 $retourformulaire == 'dossier_instruction_tous_clotures'
274 ) && $this->getParameter("maj") != 3) {
275
276 return false;
277 }
278 //
279 return true;
280 }
281 }// fin classe
282 ?>

Properties

Name Value
svn:keywords Id

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26