125 |
|
|
126 |
//On récuppère le statut du dossier d'instruction |
//On récuppère le statut du dossier d'instruction |
127 |
$statut = $this->getStatutAutorisationDossier($idxformulaire); |
$statut = $this->getStatutAutorisationDossier($idxformulaire); |
128 |
if ( $this->f->isUserInstructeur() && $statut == "cloture" ){ |
// Si l'utilisateur est un instructeur, que le statut est clôturé |
129 |
|
// et que l'événement n'est pas identifié comme non verrouillable |
130 |
|
if ( $this->f->isUserInstructeur() && $statut == "cloture" |
131 |
|
&& $this->checkEvenementNonVerrouillable($this->getVal("instruction")) === false){ |
132 |
|
|
133 |
//On cache le lien de modification |
//On cache les liens du portlet |
134 |
$this->parameters["actions"]["modifier"] = NULL; |
$this->parameters["actions"]["modifier"] = NULL; |
135 |
$this->actions_sup["finalisation"] = NULL; |
$this->actions_sup["finalisation"] = NULL; |
136 |
$this->actions_sup["definalisation"] = NULL; |
$this->actions_sup["definalisation"] = NULL; |
154 |
} |
} |
155 |
|
|
156 |
$retourformulaire = $this->getParameter("retourformulaire"); |
$retourformulaire = $this->getParameter("retourformulaire"); |
157 |
// Si l'utilisateur est un instructeur et que le dossier est cloturé |
// Si l'utilisateur est un instructeur, que le dossier est cloturé, |
158 |
|
// que l'utilisateur est dans un sous formulaire précis, que le |
159 |
|
// formulaire n'est pas en mode consulter ou ajouter et que l'événement |
160 |
|
// n'est pas identifié comme non verrouillable |
161 |
if ( $this->f->isUserInstructeur() && |
if ( $this->f->isUserInstructeur() && |
162 |
$this->getStatutAutorisationDossier($this->getParameter("idxformulaire")) == "cloture" && |
$this->getStatutAutorisationDossier($this->getParameter("idxformulaire")) == "cloture" |
163 |
( |
&& ( |
164 |
$retourformulaire == 'dossier' || |
$retourformulaire == 'dossier' || |
165 |
$retourformulaire == 'dossier_instruction' || |
$retourformulaire == 'dossier_instruction' || |
166 |
$retourformulaire == 'dossier_instruction_mes_encours' || |
$retourformulaire == 'dossier_instruction_mes_encours' || |
168 |
$retourformulaire == 'dossier_instruction_mes_clotures' || |
$retourformulaire == 'dossier_instruction_mes_clotures' || |
169 |
$retourformulaire == 'dossier_instruction_tous_clotures' |
$retourformulaire == 'dossier_instruction_tous_clotures' |
170 |
) |
) |
171 |
&& $this->getParameter("maj") != 3 && $this->getParameter("maj") != 0 ) { |
&& $this->getParameter("maj") != 3 |
172 |
|
&& $this->getParameter("maj") != 0 |
173 |
|
&& $this->checkEvenementNonVerrouillable($this->getVal("instruction")) === false) { |
174 |
|
|
175 |
return false; |
return false; |
176 |
} |
} |
177 |
// |
// |
2217 |
|
|
2218 |
} |
} |
2219 |
|
|
2220 |
|
/** |
2221 |
|
* Permet de vérifier qu'un événement est verrouillable |
2222 |
|
* @param integer $idx Identifiant de l'instruction |
2223 |
|
* @return boolean |
2224 |
|
*/ |
2225 |
|
function checkEvenementNonVerrouillable($idx) { |
2226 |
|
|
2227 |
|
// Initialisation du résultat |
2228 |
|
$non_verrouillable = false; |
2229 |
|
|
2230 |
|
// Si la condition n'est pas vide |
2231 |
|
if ($idx != "") { |
2232 |
|
|
2233 |
|
// Requête SQL |
2234 |
|
$sql = "SELECT evenement.non_verrouillable |
2235 |
|
FROM ".DB_PREFIXE."evenement |
2236 |
|
LEFT JOIN ".DB_PREFIXE."instruction |
2237 |
|
ON instruction.evenement = evenement.evenement |
2238 |
|
WHERE instruction.instruction = $idx"; |
2239 |
|
$this->f->addToLog("checkEvenementNonVerrouillable() : db->getOne(\"".$sql."\")", VERBOSE_MODE); |
2240 |
|
$res = $this->db->getOne($sql); |
2241 |
|
$this->f->isDatabaseError($res); |
2242 |
|
|
2243 |
|
// Si le retour de la requête est true |
2244 |
|
if ($res == 't') { |
2245 |
|
// |
2246 |
|
$non_verrouillable = true; |
2247 |
|
} |
2248 |
|
} |
2249 |
|
|
2250 |
|
// Retourne résultat |
2251 |
|
return $non_verrouillable; |
2252 |
|
} |
2253 |
|
|
2254 |
}// fin classe |
}// fin classe |
2255 |
?> |
?> |