20 |
/** |
/** |
21 |
* Filtres |
* Filtres |
22 |
*/ |
*/ |
23 |
// |
// Selon l'entrée de menu sélectionné, on réalise l'affichage des éléments |
24 |
|
// en leur appliquant un filtre. Même principe de filtre que pour les widgets |
25 |
if ($obj === "consultation_tous_retours") { |
if ($obj === "consultation_tous_retours") { |
26 |
|
// Aucun filtre appliqué, affiche toutes les consultations ayant un retour |
27 |
|
// non lu |
28 |
$filtre = "aucun"; |
$filtre = "aucun"; |
29 |
} elseif ($obj === "consultation_retours_ma_division") { |
} elseif ($obj === "consultation_retours_ma_division") { |
30 |
|
// filtre division appliqué, affiche toutes les consultations appartenant |
31 |
|
// à un dossier affecté à la même division que l'utilisateur |
32 |
$filtre = "division"; |
$filtre = "division"; |
33 |
} else { |
} else { |
34 |
$filtre = "instructeur"; |
// filtre ? appliqué, affiche toutes les consultations appartenant |
35 |
|
// à un dossier ayant pour instructeur ou instructeur secondaire |
36 |
|
// l'utilisateur |
37 |
|
$filtre = 'instructeur_ou_instructeur_secondaire'; |
38 |
} |
} |
39 |
// |
// Filtre selon le filtre passé en paramètre dans l'url |
40 |
|
$filtreContexte = $this->get_submitted_get_value('filtre'); |
41 |
|
if (! empty($filtreContexte)) { |
42 |
|
$filtre = $filtreContexte; |
43 |
|
} |
44 |
|
|
45 |
$params = array( |
$params = array( |
46 |
"filtre" => $filtre, |
"filtre" => $filtre, |
47 |
); |
); |
54 |
$om_widget = new om_widget(0); |
$om_widget = new om_widget(0); |
55 |
// |
// |
56 |
$conf = $om_widget->get_config_consultation_retours($params); |
$conf = $om_widget->get_config_consultation_retours($params); |
57 |
// |
// Ajout d'une jointure sur l'instructeur secondaire pour permettre la recherche |
58 |
$filtre = $conf["arguments"]["filtre"]; |
// simple par instructeur secondaire |
59 |
|
$conf["query_ct_from"] .= sprintf( |
60 |
|
'LEFT JOIN %1$sinstructeur as instructeur_secondaire |
61 |
|
ON dossier.instructeur_2 = instructeur_secondaire.instructeur |
62 |
|
LEFT JOIN %1$som_utilisateur as utilisateur_2 |
63 |
|
ON instructeur_secondaire.om_utilisateur = utilisateur_2.om_utilisateur', |
64 |
|
DB_PREFIXE |
65 |
|
); |
66 |
|
// Récupération du filtre |
67 |
|
$sqlFiltre = $om_widget->get_query_filter( |
68 |
|
$conf["query_ct_from"].' WHERE '.$conf["query_ct_where_common"], |
69 |
|
$filtre |
70 |
|
); |
71 |
|
|
72 |
/** |
/** |
73 |
* |
* |
120 |
); |
); |
121 |
$displayed_field_instructeur = array( |
$displayed_field_instructeur = array( |
122 |
'instructeur.nom as "'._("instructeur").'"', |
'instructeur.nom as "'._("instructeur").'"', |
123 |
|
'instructeur_secondaire.nom as "'.__("instructeur secondaire").'"', |
124 |
); |
); |
125 |
$displayed_field_division = array( |
$displayed_field_division = array( |
126 |
'division.code as "'._("division").'"', |
'division.code as "'._("division").'"', |
135 |
); |
); |
136 |
|
|
137 |
// FROM |
// FROM |
138 |
$table = $conf["query_ct_from"]; |
$table = |
139 |
|
$conf["query_ct_from"]. |
140 |
|
$sqlFiltre['FROM']; |
141 |
// WHERE |
// WHERE |
142 |
$selection = sprintf( |
$selection = sprintf( |
143 |
"WHERE |
"WHERE |
144 |
%s |
%s |
145 |
|
%s |
146 |
", |
", |
147 |
$conf["query_ct_where_common"] |
$conf["query_ct_where_common"], |
148 |
|
$sqlFiltre['WHERE'] |
149 |
); |
); |
150 |
|
|
151 |
// |
// |
152 |
$tri = " ORDER BY dossier.enjeu_erp, dossier.enjeu_urba, consultation.date_retour "; |
$tri = " ORDER BY dossier.enjeu_erp, dossier.enjeu_urba, consultation.date_retour "; |
|
|
|
153 |
// |
// |
154 |
$tab_actions['corner']['ajouter'] = null; |
$tab_actions['corner']['ajouter'] = null; |
155 |
|
|
208 |
); |
); |
209 |
// |
// |
210 |
$advsearch_field_instructeur = array( |
$advsearch_field_instructeur = array( |
|
// |
|
211 |
'instructeur' => array( |
'instructeur' => array( |
212 |
'colonne' => 'nom', |
'colonne' => 'nom', |
213 |
'table' => 'instructeur', |
'table' => 'instructeur', |
216 |
'taille' => '', |
'taille' => '', |
217 |
'max' => '', |
'max' => '', |
218 |
), |
), |
219 |
|
'instructeur_2' => array( |
220 |
|
'table' => 'dossier', |
221 |
|
'colonne' => 'instructeur_2', |
222 |
|
'type' => 'select', |
223 |
|
'libelle' => __('Instructeur secondaire'), |
224 |
|
'subtype' => 'sqlselect', |
225 |
|
'sql' => "SELECT instructeur.instructeur, instructeur.nom |
226 |
|
FROM ".DB_PREFIXE."instructeur |
227 |
|
INNER JOIN ".DB_PREFIXE."instructeur_qualite ON instructeur_qualite.instructeur_qualite=instructeur.instructeur_qualite |
228 |
|
WHERE ((instructeur.om_validite_debut IS NULL AND (instructeur.om_validite_fin IS NULL OR instructeur.om_validite_fin > CURRENT_DATE)) OR (instructeur.om_validite_debut <= CURRENT_DATE AND (instructeur.om_validite_fin IS NULL OR instructeur.om_validite_fin > CURRENT_DATE))) |
229 |
|
AND LOWER(instructeur_qualite.code) = LOWER('instr') |
230 |
|
ORDER BY nom", |
231 |
|
), |
232 |
); |
); |
233 |
// |
|
234 |
$advsearch_field_division = array( |
$advsearch_field_division = array( |
235 |
// |
// |
236 |
'division' => array( |
'division' => array( |