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

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

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1022 by fmichon, Fri Dec 7 16:38:08 2012 UTC revision 1908 by fmichon, Mon May 27 07:54:33 2013 UTC
# Line 10  class dossier_commission extends dossier Line 10  class dossier_commission extends dossier
10          $this->constructeur($id,$db,$debug);          $this->constructeur($id,$db,$debug);
11      }// fin constructeur      }// 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    
39        /**
40         * Cette variable permet de stocker le résultat de la méthode
41         * getDivisionFromDossier() afin de ne pas effectuer le recalcul à chacun de
42         * ces appels.
43         * @var string Code de la division du dossier en cours
44         */
45        var $_division_from_dossier = NULL;
46    
47        /**
48         * Cette méthode permet de récupérer le code de division correspondant
49         * au dossier sur lequel on se trouve.
50         *
51         * @return string Code de la division du dossier en cours
52         */
53        function getDivisionFromDossier() {
54    
55            // Cette méthode peut être appelée plusieurs fois lors d'une requête.
56            // Pour éviter de refaire le traitement de recherche de la division
57            // alors on vérifie si nous ne l'avons pas déjà calculé.
58            if ($this->_division_from_dossier != NULL) {
59                // Logger
60                $this->addToLog("getDivisionFromDossier(): retour de la valeur déjà calculée - '".$this->_division_from_dossier."'", EXTRA_VERBOSE_MODE);
61                // On retourne la valeur déjà calculée
62                return $this->_division_from_dossier;
63            }
64    
65            // Par défaut, on définit la valeur du dossier à NULL
66            $dossier = NULL;
67            // Test sur le mode et le contexte du formulaire
68            if ($this->getParameter("maj") == 0
69                && ($this->getParameter("retourformulaire") == "dossier"
70                    || $this->getParameter("retourformulaire") == "dossier_instruction"
71                    || $this->getParameter("retourformulaire") == "dossier_instruction_mes_encours"
72                    || $this->getParameter("retourformulaire") == "dossier_instruction_tous_encours"
73                    || $this->getParameter("retourformulaire") == "dossier_instruction_mes_clotures"
74                    || $this->getParameter("retourformulaire") == "dossier_instruction_tous_clotures")) {
75                // Si on se trouve en mode AJOUT (seul mode où l'enregistrement
76                // n'existe pas en base de données) ET que nous nous trouvons
77                // dans le contexte d'un dossier d'instruction alors on récupère
78                // le numéro de dossier depuis le paramètre 'idxformulaire'
79                $dossier = $this->getParameter("idxformulaire");
80            } else {
81                // Sinon on récupère le numéro de dossier dans le champs dossier de
82                // l'enregistrement (en base de données)
83                $dossier = $this->getVal("dossier");
84            }
85    
86            // On appelle la méthode de la classe utils qui renvoi le code de la
87            // division d'un dossier, on la stocke pour ne pas refaire le calcul au
88            // prochain appel de cette méthode
89            $this->_division_from_dossier = $this->f->getDivisionFromDossier($dossier);
90            // Logger
91            $this->addToLog("getDivisionFromDossier(): retour de la valeur nouvellement calculée - '".$this->_division_from_dossier."'", EXTRA_VERBOSE_MODE);
92            // On retourne la valeur retournée
93            return $this->_division_from_dossier;
94    
95        }
96    
97        // }}}
98        
99        function setType(&$form,$maj) {
100            parent::setType($form, $maj);
101            
102            //En ajout ou modification pour l'instructeur
103            if ( $maj < 2 &&
104                (
105                    $this->retourformulaire=='dossier'
106                    || $this->retourformulaire=='dossier_instruction'
107                    || $this->retourformulaire=='dossier_instruction_mes_encours'
108                    || $this->retourformulaire=='dossier_instruction_tous_encours'
109                    || $this->retourformulaire=='dossier_instruction_mes_clotures'
110                    || $this->retourformulaire=='dossier_instruction_tous_clotures'
111                ) ){
112                        
113                $form->setType('dossier','hiddenstatic');
114                $form->setType('commission','hidden');
115                $form->setType('avis','hidden');
116            }
117    
118            // En consultation et modification pour la cellule suivi
119            if ( $maj == 1 && $this->retourformulaire == 'commission'){
120    
121                $form->setType('dossier','hiddenstatic');
122                $form->setType('commission_type','hiddenstatic');
123                $form->setType('date_souhaitee','hiddenstaticdate');
124                $form->setType('motivation','hiddenstatic');
125                $form->setType('commission','hiddenstatic');
126                $form->setType('lu','hidden');
127            }
128    
129            if ( $maj == 3 && $this->retourformulaire == 'commission'){
130    
131                $form->setType('lu','hidden');
132            }
133            //
134            if ($this->getParameter("retourformulaire") == "dossier"
135                || $this->getParameter("retourformulaire") == "dossier_instruction"
136                || $this->getParameter("retourformulaire") == "dossier_instruction_mes_encours"
137                || $this->getParameter("retourformulaire") == "dossier_instruction_tous_encours"
138                || $this->getParameter("retourformulaire") == "dossier_instruction_mes_clotures"
139                || $this->getParameter("retourformulaire") == "dossier_instruction_tous_clotures") {
140                //
141                $form->setType('dossier', 'hidden');
142            }
143        }
144    
145    
146        function setLib(&$form, $maj) {
147            //
148            parent::setLib($form, $maj);
149            //
150            $form->setLib($this->clePrimaire, _("id"));
151        }
152    
153        // la demande de commission est mis à lu par défaut
154        function triggerajouter($id,&$db,$val,$DEBUG) {
155    
156            $this->valF['lu'] = TRUE;
157        }
158    
159        // Si la commission rend son avis, la demande de commission est non lu pour que
160        // l'instructeur soit notifié
161        function triggermodifier($id,&$db,$val,$DEBUG) {
162            
163            if ( $val['avis'] != "" ){
164                
165                $this->valF['lu'] = FALSE;
166            }
167        }
168    
169        // Met la date au bon format
170        function setValsousformulaire(&$form,$maj,$validation,$idxformulaire,$retourformulaire,$typeformulaire,&$db,$DEBUG=null){
171            //
172            $this->retourformulaire = $retourformulaire;
173            // En mode AJOUTER
174            if ($maj == 0) {
175                // On positionne la date du jour par défaut
176                $form->setVal('date_souhaitee', date("d/m/Y"));
177                // Afficher le numéro de dossier d'instruction
178                if($retourformulaire =='dossier'
179                   || $retourformulaire =='dossier_instruction'
180                   || $retourformulaire =='dossier_instruction_mes_encours'
181                   || $retourformulaire =='dossier_instruction_tous_encours'
182                   || $retourformulaire =='dossier_instruction_mes_clotures'
183                   || $retourformulaire =='dossier_instruction_tous_clotures'){
184                    $form->setVal('dossier', $idxformulaire);
185                }
186            }
187        }
188    
189        //Surcharge du bouton retour de la gestion des commissions afin de retourner directement vers le tableau
190        function retoursousformulaire($idxformulaire, $retourformulaire, $val,
191                                      $objsf, $premiersf, $tricolsf, $validation,
192                                      $idx, $maj, $retour) {
193                                          
194            if( $maj = 1 && $retourformulaire === "commission") {
195                
196                echo "\n<a class=\"retour\" ";
197                echo "href=\"#\" ";
198                
199                echo "onclick=\"ajaxIt('".$objsf."', '";
200                echo "../scr/soustab.php?obj=dossier_commission&idxformulaire="
201                       .$val['commission'].
202                    "&retourformulaire=commission');\"";
203                echo  "\" ";
204                echo ">";
205                //
206                echo _("Retour");
207                //
208                echo "</a>\n";
209                
210            } else {
211                parent::retoursousformulaire($idxformulaire, $retourformulaire, $val,
212                                      $objsf, $premiersf, $tricolsf, $validation,
213                                      $idx, $maj, $retour);
214            }
215        }
216  }// fin classe  }// fin classe
217  ?>  ?>

Legend:
Removed from v.1022  
changed lines
  Added in v.1908

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26