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

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

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

revision 1907 by vpihour, Fri May 24 12:59:42 2013 UTC revision 1908 by fmichon, Mon May 27 07:54:33 2013 UTC
# Line 90  class instruction extends instruction_ge Line 90  class instruction extends instruction_ge
90              && $this->f->om_utilisateur["division"] != $this->getDivisionFromDossier()              && $this->f->om_utilisateur["division"] != $this->getDivisionFromDossier()
91              && $this->getParameter("maj") != 3) {              && $this->getParameter("maj") != 3) {
92              //              //
93                $this->addToLog("canAccess(): utilisateur instructeur sur un dossier d'une autre division", EXTRA_VERBOSE_MODE);
94              return false;              return false;
95          }          }
96          //          //
# Line 97  class instruction extends instruction_ge Line 98  class instruction extends instruction_ge
98      }      }
99    
100      /**      /**
101       * Cette méthode permet de récupérer la division d'un dossier       * Cette variable permet de stocker le résultat de la méthode
102         * getDivisionFromDossier() afin de ne pas effectuer le recalcul à chacun de
103         * ces appels.
104         * @var string Code de la division du dossier en cours
105         */
106        var $_division_from_dossier = NULL;
107    
108        /**
109         * Cette méthode permet de récupérer le code de division correspondant
110         * au dossier sur lequel on se trouve.
111         *
112         * @return string Code de la division du dossier en cours
113       */       */
114      function getDivisionFromDossier() {      function getDivisionFromDossier() {
115          //  
116          if (!isset($this->val[array_search("dossier", $this->champs)])) {          // Cette méthode peut être appelée plusieurs fois lors d'une requête.
117              return NULL;          // Pour éviter de refaire le traitement de recherche de la division
118            // alors on vérifie si nous ne l'avons pas déjà calculé.
119            if ($this->_division_from_dossier != NULL) {
120                // Logger
121                $this->addToLog("getDivisionFromDossier(): retour de la valeur déjà calculée - '".$this->_division_from_dossier."'", EXTRA_VERBOSE_MODE);
122                // On retourne la valeur déjà calculée
123                return $this->_division_from_dossier;
124          }          }
125          //  
126          $sql = "select division from ".DB_PREFIXE."dossier ";          // Par défaut, on définit la valeur du dossier à NULL
127          $sql .= " where dossier='".$this->val[array_search("dossier", $this->champs)]."'";          $dossier = NULL;
128          //          // Test sur le mode et le contexte du formulaire
129          $division = $this->db->getOne($sql);          if ($this->getParameter("maj") == 0
130          $this->addToLog("getDivisionFromDossier(): db->getone(\"".$sql."\")", VERBOSE_MODE);              && ($this->getParameter("retourformulaire") == "dossier"
131          database::isError($division);                  || $this->getParameter("retourformulaire") == "dossier_instruction"
132          //                  || $this->getParameter("retourformulaire") == "dossier_instruction_mes_encours"
133          return $division;                  || $this->getParameter("retourformulaire") == "dossier_instruction_tous_encours"
134                    || $this->getParameter("retourformulaire") == "dossier_instruction_mes_clotures"
135                    || $this->getParameter("retourformulaire") == "dossier_instruction_tous_clotures")) {
136                // Si on se trouve en mode AJOUT (seul mode où l'enregistrement
137                // n'existe pas en base de données) ET que nous nous trouvons
138                // dans le contexte d'un dossier d'instruction alors on récupère
139                // le numéro de dossier depuis le paramètre 'idxformulaire'
140                $dossier = $this->getParameter("idxformulaire");
141            } else {
142                // Sinon on récupère le numéro de dossier dans le champs dossier de
143                // l'enregistrement (en base de données)
144                $dossier = $this->getVal("dossier");
145            }
146    
147            // On appelle la méthode de la classe utils qui renvoi le code de la
148            // division d'un dossier, on la stocke pour ne pas refaire le calcul au
149            // prochain appel de cette méthode
150            $this->_division_from_dossier = $this->f->getDivisionFromDossier($dossier);
151            // Logger
152            $this->addToLog("getDivisionFromDossier(): retour de la valeur nouvellement calculée - '".$this->_division_from_dossier."'", EXTRA_VERBOSE_MODE);
153            // On retourne la valeur retournée
154            return $this->_division_from_dossier;
155    
156      }      }
157    
158      /**      /**

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26