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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2805 - (hide annotations)
Tue Mar 11 14:55:03 2014 UTC (10 years, 10 months ago) by nmeucci
File size: 11943 byte(s)
Masquage de champs dans tous les formulaires des commissions et dans le
  formulaire d'ajout d'instructions. Suppression de colonnes dans le tableau
  listant les commissions. Mise en statique des champs 'date de retour RAR'
  dans l'ajout d'une instruction et 'lu' dans l'onglet commission du DI en modif.

1 fmichon 1022 <?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 fmichon 1744 // {{{ 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 vpihour 1978
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 vpihour 2039 $statut = $this->f->getStatutDossier($idxformulaire);
54 vpihour 1978 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 fmichon 1744 }
63    
64     /**
65 fmichon 1908 * 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 fmichon 1744 */
70 fmichon 1908 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 fmichon 1744 function getDivisionFromDossier() {
79 fmichon 1908
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 fmichon 1744 } else {
106 fmichon 1908 // 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 fmichon 1744 }
110    
111 fmichon 1908 // 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 fmichon 1744 }
121    
122     // }}}
123    
124 fmichon 1332 function setType(&$form,$maj) {
125     parent::setType($form, $maj);
126 vpihour 1401
127     //En ajout ou modification pour l'instructeur
128     if ( $maj < 2 &&
129     (
130     $this->retourformulaire=='dossier'
131 fmichon 1332 || $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 vpihour 1401 ) ){
137    
138 fmichon 1332 $form->setType('dossier','hiddenstatic');
139 vpihour 1401 $form->setType('commission','hidden');
140     $form->setType('avis','hidden');
141     }
142    
143 nmeucci 2805 //En modification pour l'instructeur
144     if ( $maj == 1 &&
145     (
146     $this->retourformulaire=='dossier'
147     || $this->retourformulaire=='dossier_instruction'
148     || $this->retourformulaire=='dossier_instruction_mes_encours'
149     || $this->retourformulaire=='dossier_instruction_tous_encours'
150     || $this->retourformulaire=='dossier_instruction_mes_clotures'
151     || $this->retourformulaire=='dossier_instruction_tous_clotures'
152     ) ){
153    
154     $form->setType('lu','checkboxstatic');
155     }
156    
157 vpihour 1401 // En consultation et modification pour la cellule suivi
158     if ( $maj == 1 && $this->retourformulaire == 'commission'){
159    
160 fmichon 1332 $form->setType('dossier','hiddenstatic');
161 vpihour 1401 $form->setType('commission_type','hiddenstatic');
162 fmichon 1552 $form->setType('date_souhaitee','hiddenstaticdate');
163 vpihour 1401 $form->setType('motivation','hiddenstatic');
164     $form->setType('commission','hiddenstatic');
165     $form->setType('lu','hidden');
166     }
167    
168     if ( $maj == 3 && $this->retourformulaire == 'commission'){
169    
170     $form->setType('lu','hidden');
171     }
172 fmichon 1732 //
173     if ($this->getParameter("retourformulaire") == "dossier"
174     || $this->getParameter("retourformulaire") == "dossier_instruction"
175     || $this->getParameter("retourformulaire") == "dossier_instruction_mes_encours"
176     || $this->getParameter("retourformulaire") == "dossier_instruction_tous_encours"
177     || $this->getParameter("retourformulaire") == "dossier_instruction_mes_clotures"
178     || $this->getParameter("retourformulaire") == "dossier_instruction_tous_clotures") {
179     //
180     $form->setType('dossier', 'hidden');
181     }
182 fmichon 1332 }
183    
184 fmichon 1732
185     function setLib(&$form, $maj) {
186     //
187     parent::setLib($form, $maj);
188     //
189     $form->setLib($this->clePrimaire, _("id"));
190     }
191    
192 vpihour 1401 // la demande de commission est mis à lu par défaut
193     function triggerajouter($id,&$db,$val,$DEBUG) {
194    
195     $this->valF['lu'] = TRUE;
196     }
197    
198     // Si la commission rend son avis, la demande de commission est non lu pour que
199     // l'instructeur soit notifié
200     function triggermodifier($id,&$db,$val,$DEBUG) {
201    
202     if ( $val['avis'] != "" ){
203    
204     $this->valF['lu'] = FALSE;
205     }
206     }
207    
208     // Met la date au bon format
209 fmichon 1332 function setValsousformulaire(&$form,$maj,$validation,$idxformulaire,$retourformulaire,$typeformulaire,&$db,$DEBUG=null){
210 fmichon 1494 //
211 fmichon 1332 $this->retourformulaire = $retourformulaire;
212 fmichon 1494 // En mode AJOUTER
213     if ($maj == 0) {
214     // On positionne la date du jour par défaut
215     $form->setVal('date_souhaitee', date("d/m/Y"));
216     // Afficher le numéro de dossier d'instruction
217 fmichon 1332 if($retourformulaire =='dossier'
218     || $retourformulaire =='dossier_instruction'
219     || $retourformulaire =='dossier_instruction_mes_encours'
220     || $retourformulaire =='dossier_instruction_tous_encours'
221     || $retourformulaire =='dossier_instruction_mes_clotures'
222 vpihour 1401 || $retourformulaire =='dossier_instruction_tous_clotures'){
223 fmichon 1332 $form->setVal('dossier', $idxformulaire);
224 vpihour 1401 }
225     }
226     }
227 fmichon 1332
228 vpihour 1401 //Surcharge du bouton retour de la gestion des commissions afin de retourner directement vers le tableau
229     function retoursousformulaire($idxformulaire, $retourformulaire, $val,
230     $objsf, $premiersf, $tricolsf, $validation,
231     $idx, $maj, $retour) {
232    
233     if( $maj = 1 && $retourformulaire === "commission") {
234    
235     echo "\n<a class=\"retour\" ";
236     echo "href=\"#\" ";
237    
238     echo "onclick=\"ajaxIt('".$objsf."', '";
239     echo "../scr/soustab.php?obj=dossier_commission&idxformulaire="
240     .$val['commission'].
241     "&retourformulaire=commission');\"";
242     echo "\" ";
243     echo ">";
244     //
245     echo _("Retour");
246     //
247     echo "</a>\n";
248    
249     } else {
250     parent::retoursousformulaire($idxformulaire, $retourformulaire, $val,
251     $objsf, $premiersf, $tricolsf, $validation,
252     $idx, $maj, $retour);
253     }
254     }
255 vpihour 1978
256     /**
257     * Cette methode est à surcharger elle permet de tester dans chaque classe
258     * des droits spécifiques en fonction des données
259     */
260     function canAccess() {
261    
262     $retourformulaire = $this->getParameter("retourformulaire");
263     // Si l'utilisateur est un instructeur et que le dossier est cloturé
264     if ( $this->f->isUserInstructeur() &&
265 vpihour 2039 $this->f->getStatutDossier($this->getParameter("idxformulaire")) == "cloture" &&
266 vpihour 1978 (
267     $retourformulaire == 'dossier' ||
268     $retourformulaire == 'dossier_instruction' ||
269     $retourformulaire == 'dossier_instruction_mes_encours' ||
270     $retourformulaire == 'dossier_instruction_tous_encours' ||
271     $retourformulaire == 'dossier_instruction_mes_clotures' ||
272     $retourformulaire == 'dossier_instruction_tous_clotures'
273     ) && $this->getParameter("maj") != 3) {
274    
275     return false;
276     }
277     //
278     return true;
279     }
280 fmichon 1022 }// fin classe
281     ?>

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26