/[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 1744 by fmichon, Mon Apr 22 08:42:50 2013 UTC revision 1908 by fmichon, Mon May 27 07:54:33 2013 UTC
# Line 37  class dossier_commission extends dossier Line 37  class dossier_commission extends dossier
37      }      }
38    
39      /**      /**
40       * 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
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() {      function getDivisionFromDossier() {
54          // Si on se trouve en mode MODIFIER ou SUPPRIMER ou CONSULTER alors on  
55          // 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.
56          // sa division          // Pour éviter de refaire le traitement de recherche de la division
57          if ($this->getParameter("maj") == 1 || $this->getParameter("maj") == 2          // alors on vérifie si nous ne l'avons pas déjà calculé.
58              || $this->getParameter("maj") == 3) {          if ($this->_division_from_dossier != NULL) {
59              //              // Logger
60              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);
61                  return NULL;              // On retourne la valeur déjà calculée
62              }              return $this->_division_from_dossier;
63              //          }
64              $sql = "select division from ".DB_PREFIXE."dossier ";  
65              $sql .= " where dossier='".$this->val[array_search("dossier", $this->champs)]."'";          // Par défaut, on définit la valeur du dossier à NULL
66              //          $dossier = NULL;
67              $division = $this->db->getOne($sql);          // Test sur le mode et le contexte du formulaire
68              $this->addToLog("getDivisionFromDossier(): db->getone(\"".$sql."\")", VERBOSE_MODE);          if ($this->getParameter("maj") == 0
69              database::isError($division);              && ($this->getParameter("retourformulaire") == "dossier"
70              //                  || $this->getParameter("retourformulaire") == "dossier_instruction"
71              return $division;                  || $this->getParameter("retourformulaire") == "dossier_instruction_mes_encours"
72          } elseif ($this->getParameter("maj") == 0                  || $this->getParameter("retourformulaire") == "dossier_instruction_tous_encours"
73                    && ($this->getParameter("retourformulaire") == "dossier"                  || $this->getParameter("retourformulaire") == "dossier_instruction_mes_clotures"
74                        || $this->getParameter("retourformulaire") == "dossier_instruction"                  || $this->getParameter("retourformulaire") == "dossier_instruction_tous_clotures")) {
75                        || $this->getParameter("retourformulaire") == "dossier_instruction_mes_encours"              // Si on se trouve en mode AJOUT (seul mode où l'enregistrement
76                        || $this->getParameter("retourformulaire") == "dossier_instruction_tous_encours"              // n'existe pas en base de données) ET que nous nous trouvons
77                        || $this->getParameter("retourformulaire") == "dossier_instruction_mes_clotures"              // dans le contexte d'un dossier d'instruction alors on récupère
78                        || $this->getParameter("retourformulaire") == "dossier_instruction_tous_clotures")) {              // le numéro de dossier depuis le paramètre 'idxformulaire'
79              // Si on se trouve en mode AJOUTER et en sous formulaire alors on              $dossier = $this->getParameter("idxformulaire");
             // 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->addToLog("getDivisionFromDossier(): db->getone(\"".$sql."\")", VERBOSE_MODE);  
             database::isError($division);  
             //  
             return $division;  
80          } else {          } else {
81              return NULL;              // 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      // }}}      // }}}

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26