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