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 |
// }}} |
// }}} |