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

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

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

revision 1901 by vpihour, Fri May 24 13:53:15 2013 UTC revision 1908 by fmichon, Mon May 27 07:54:33 2013 UTC
# Line 69  class consultation extends consultation_ Line 69  class consultation extends consultation_
69      }      }
70    
71      /**      /**
72       * 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
73         * getDivisionFromDossier() afin de ne pas effectuer le recalcul à chacun de
74         * ces appels.
75         * @var string Code de la division du dossier en cours
76         */
77        var $_division_from_dossier = NULL;
78    
79        /**
80         * Cette méthode permet de récupérer le code de division correspondant
81         * au dossier sur lequel on se trouve.
82         *
83         * @return string Code de la division du dossier en cours
84       */       */
85      function getDivisionFromDossier() {      function getDivisionFromDossier() {
86          // Si on se trouve en mode MODIFIER ou SUPPRIMER ou CONSULTER alors on  
87          // récupère le numéro de dossier dans la consultation et on en retourne          // Cette méthode peut être appelée plusieurs fois lors d'une requête.
88          // sa division          // Pour éviter de refaire le traitement de recherche de la division
89          if ($this->getParameter("maj") == 1 || $this->getParameter("maj") == 2          // alors on vérifie si nous ne l'avons pas déjà calculé.
90              || $this->getParameter("maj") == 3) {          if ($this->_division_from_dossier != NULL) {
91              //              // Logger
92              if (!isset($this->val[array_search("dossier", $this->champs)])) {              $this->addToLog("getDivisionFromDossier(): retour de la valeur déjà calculée - '".$this->_division_from_dossier."'", EXTRA_VERBOSE_MODE);
93                  return NULL;              // On retourne la valeur déjà calculée
94              }              return $this->_division_from_dossier;
95              //          }
96              $sql = "select division from ".DB_PREFIXE."dossier ";  
97              $sql .= " where dossier='".$this->val[array_search("dossier", $this->champs)]."'";          // Par défaut, on définit la valeur du dossier à NULL
98              //          $dossier = NULL;
99              $division = $this->db->getOne($sql);          // Test sur le mode et le contexte du formulaire
100              $this->f->addToLog("getDivisionFromDossier(): db->getone(\"".$sql."\")", VERBOSE_MODE);          if ($this->getParameter("maj") == 0
101              if (database::isError($division)){              && ($this->getParameter("retourformulaire") == "dossier"
102                  die();                  || $this->getParameter("retourformulaire") == "dossier_instruction"
103              }                  || $this->getParameter("retourformulaire") == "dossier_instruction_mes_encours"
104              //                  || $this->getParameter("retourformulaire") == "dossier_instruction_tous_encours"
105              return $division;                  || $this->getParameter("retourformulaire") == "dossier_instruction_mes_clotures"
106          } elseif ($this->getParameter("maj") == 0                  || $this->getParameter("retourformulaire") == "dossier_instruction_tous_clotures")) {
107                    && ($this->getParameter("retourformulaire") == "dossier"              // Si on se trouve en mode AJOUT (seul mode où l'enregistrement
108                        || $this->getParameter("retourformulaire") == "dossier_instruction"              // n'existe pas en base de données) ET que nous nous trouvons
109                        || $this->getParameter("retourformulaire") == "dossier_instruction_mes_encours"              // dans le contexte d'un dossier d'instruction alors on récupère
110                        || $this->getParameter("retourformulaire") == "dossier_instruction_tous_encours"              // le numéro de dossier depuis le paramètre 'idxformulaire'
111                        || $this->getParameter("retourformulaire") == "dossier_instruction_mes_clotures"              $dossier = $this->getParameter("idxformulaire");
                       || $this->getParameter("retourformulaire") == "dossier_instruction_tous_clotures")) {  
             // Si on se trouve en mode AJOUTER et en sous formulaire alors on  
             // récupère le numéro de dossier dans les paramètres de sous  
             // formulaires et on en retourne sa division  
             $sql = "select division from ".DB_PREFIXE."dossier ";  
             $sql .= " where dossier='".$this->getParameter("idxformulaire")."'";  
             //  
             $division = $this->db->getOne($sql);  
             $this->f->addToLog("getDivisionFromDossier(): db->getone(\"".$sql."\")", VERBOSE_MODE);  
             if (database::isError($division)){  
                 die();  
             }  
             //  
             return $division;  
112          } else {          } else {
113              return NULL;              // Sinon on récupère le numéro de dossier dans le champs dossier de
114                // l'enregistrement (en base de données)
115                $dossier = $this->getVal("dossier");
116          }          }
117    
118            // On appelle la méthode de la classe utils qui renvoi le code de la
119            // division d'un dossier, on la stocke pour ne pas refaire le calcul au
120            // prochain appel de cette méthode
121            $this->_division_from_dossier = $this->f->getDivisionFromDossier($dossier);
122            // Logger
123            $this->addToLog("getDivisionFromDossier(): retour de la valeur nouvellement calculée - '".$this->_division_from_dossier."'", EXTRA_VERBOSE_MODE);
124            // On retourne la valeur retournée
125            return $this->_division_from_dossier;
126    
127      }      }
128    
129      // }}}      // }}}

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26