/[openfoncier]/trunk/obj/instructeur.class.php
ViewVC logotype

Contents of /trunk/obj/instructeur.class.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 8989 - (show annotations)
Thu Oct 31 15:09:51 2019 UTC (5 years, 3 months ago) by softime
File size: 9429 byte(s)
* Merge de la branche d'intégration 4.12.0-develop vers le trunk

1 <?php
2 /**
3 * DBFORM - 'instructeur' - Surcharge gen.
4 *
5 * Ce script permet de définir la classe 'instructeur'.
6 *
7 * @package openads
8 * @version SVN : $Id: instructeur.class.php 5839 2016-01-29 08:50:12Z fmichon $
9 */
10
11 require_once "../gen/obj/instructeur.class.php";
12
13 class instructeur extends instructeur_gen {
14
15 /**
16 *
17 * @return string
18 */
19 function get_var_sql_forminc__sql_utilisateur_by_division() {
20 // Récupère la liste des utilisateurs appartement à la même collectivité que la
21 // direction de la division sur laquelle la condition est faite
22 return "SELECT
23 om_utilisateur.om_utilisateur,
24 om_utilisateur.nom as lib
25 FROM " . DB_PREFIXE . "division
26 INNER JOIN " . DB_PREFIXE . "direction
27 ON division.direction = direction.direction
28 INNER JOIN " . DB_PREFIXE . "om_utilisateur
29 ON om_utilisateur.om_collectivite = direction.om_collectivite
30 WHERE division.division = '<id_division>'
31 AND ((division.om_validite_debut IS NULL AND (division.om_validite_fin IS NULL
32 OR division.om_validite_fin > CURRENT_DATE)) OR (division.om_validite_debut
33 <= CURRENT_DATE AND (division.om_validite_fin IS NULL
34 OR division.om_validite_fin > CURRENT_DATE)))
35 ORDER BY om_utilisateur.nom";
36 }
37
38 /**
39 *
40 * @return string
41 */
42 function get_var_sql_forminc__sql_division_by_utilisateur() {
43 // Récuperation des division par l'utilisateur
44 return "SELECT
45 division.division,
46 division.libelle as lib
47 FROM " . DB_PREFIXE . "division
48 INNER JOIN " . DB_PREFIXE . "direction
49 ON division.direction = direction.direction
50 INNER JOIN " . DB_PREFIXE . "om_utilisateur
51 ON om_utilisateur.om_collectivite = direction.om_collectivite
52 WHERE om_utilisateur.om_utilisateur = '<id_utilisateur>'
53 ORDER BY division.libelle";
54 }
55
56 /**
57 *
58 * @return string
59 */
60 function get_var_sql_forminc__sql_division_by_collectivite() {
61 // Si on est en mono on doit voir que les divisions de sa collectivite
62 return "SELECT
63 division.division, division.libelle
64 FROM " . DB_PREFIXE . "division
65 INNER JOIN " . DB_PREFIXE . "direction
66 ON division.direction = direction.direction
67 WHERE ((division.om_validite_debut IS NULL AND (division.om_validite_fin
68 IS NULL OR division.om_validite_fin > CURRENT_DATE))
69 OR (division.om_validite_debut <= CURRENT_DATE AND (division.om_validite_fin
70 IS NULL OR division.om_validite_fin > CURRENT_DATE)))
71 AND om_collectivite = <id_collectivite>
72 ORDER BY division.libelle ASC";
73 }
74
75 function setOnchange(&$form, $maj){
76 parent::setOnchange($form, $maj);
77
78 // Si on n'est pas dans le contexte d'un sous-formulaire
79 if ($this->getParameter('retourformulaire') === null) {
80 //
81 $form->setOnchange("division", "filterSelect(this.value, 'om_utilisateur', 'division', 'instructeur');");
82 }
83 }
84
85 /**
86 * SETTER_FORM - setSelect.
87 *
88 * @return void
89 */
90 function setSelect(&$form, $maj, &$dnu1 = null, $dnu2 = null) {
91 // parent::setSelect($form, $maj);
92 // On recupere l'objet en cours et son identifiant
93 $idx = $this->getParameter('idxformulaire');
94 $retourformulaire = $this->f->get_submitted_get_value('retourformulaire');
95 $obj = $this->f->get_submitted_get_value('obj');
96 // Si on est dans le contexte d' "instructeur" en ajout ou en filter select
97 if (($obj === "instructeur" && $retourformulaire === null)
98 || $obj === null) {
99 // Ne fait pas appel au parent car une requête SQL doit être modifiée
100 // dans le cas d'un ajout afin de permettre le bon tri du champ
101 // om_utilisateur
102
103 // L'initialisation des select récupérée depuis la classe générée
104 // instructeur_qualite
105 $this->init_select(
106 $form,
107 $this->f->db,
108 $maj,
109 null,
110 "instructeur_qualite",
111 $this->get_var_sql_forminc__sql("instructeur_qualite"),
112 $this->get_var_sql_forminc__sql("instructeur_qualite_by_id"),
113 false
114 );
115 // om_utilisateur
116 // En mode ajout, on modifie la requête permettant de récupérer la liste
117 // des utilisateurs afin qu'elle ne retourne raucun résultat
118 $sql_om_utilisateur = $this->get_var_sql_forminc__sql("om_utilisateur");
119 if ($maj == 0) {
120 //
121 $sql_om_utilisateur="SELECT om_utilisateur.om_utilisateur, om_utilisateur.nom FROM ".DB_PREFIXE."om_utilisateur WHERE om_utilisateur = 0";
122 }
123 $this->init_select(
124 $form,
125 $this->f->db,
126 $maj,
127 null,
128 "om_utilisateur",
129 $sql_om_utilisateur,
130 $this->get_var_sql_forminc__sql("om_utilisateur_by_id"),
131 false
132 );
133
134 // Filtre des division en fonction des niveaux
135 if ($this->f->isCollectiviteMono($_SESSION['collectivite']) === true) {
136 // Bloque l'accès aux division autre que celles de sa collectivité
137 $sql_division_by_collectivite = str_replace(
138 '<id_collectivite>',
139 $_SESSION['collectivite'],
140 $this->get_var_sql_forminc__sql("division_by_collectivite")
141 );
142 $this->init_select(
143 $form,
144 $this->f->db,
145 $maj,
146 null,
147 "division",
148 $sql_division_by_collectivite,
149 $this->get_var_sql_forminc__sql("division_by_id"),
150 true
151 );
152 } else {
153 $this->init_select(
154 $form,
155 $this->f->db,
156 $maj,
157 null,
158 "division",
159 $this->get_var_sql_forminc__sql("division"),
160 $this->get_var_sql_forminc__sql("division_by_id"),
161 true
162 );
163 }
164
165 /**
166 * Gestion du filtre sur les utilisateurs en fonction de la division
167 * sélectionnée.
168 */
169 if ($maj == 0 || $maj == 1) {
170 // Récupère l'identifiant de la division
171 $id_division = "";
172 if ($this->f->get_submitted_post_value('division') !== null) {
173 $id_division = $this->f->get_submitted_post_value('division');
174 } elseif ($this->getParameter('division') != "") {
175 $id_division = $this->getParameter('division');
176 } elseif (isset($form->val['division'])) {
177 $id_division = $form->val['division'];
178 }
179
180 //
181 if ($id_division !== "") {
182 // Tri les utilisateurs par la collectivité de la division
183 $sql_utilisateur_by_division = str_replace(
184 '<id_division>',
185 $id_division,
186 $this->get_var_sql_forminc__sql("utilisateur_by_division")
187 );
188 //
189 $this->init_select(
190 $form,
191 $this->f->db,
192 $this->getParameter("maj"),
193 null,
194 "om_utilisateur",
195 $sql_utilisateur_by_division,
196 $this->get_var_sql_forminc__sql("om_utilisateur_by_id"),
197 true
198 );
199 }
200 }
201 return;
202 }
203 // Si on est dans un autre context que "instructeur" on appelle le parent
204 parent::setSelect($form, $maj);
205 // Si on est dans les utilisateurs
206 if ($idx != null && $retourformulaire !== null && $retourformulaire === "om_utilisateur") {
207 $sql_division_by_utilisateur = str_replace(
208 '<id_utilisateur>',
209 $idx,
210 $this->get_var_sql_forminc__sql("division_by_utilisateur")
211 );
212 $this->init_select(
213 $form,
214 $this->f->db,
215 $this->getParameter("maj"),
216 null,
217 "division",
218 $sql_division_by_utilisateur,
219 $this->get_var_sql_forminc__sql("division_by_id"),
220 true
221 );
222 return;
223 }
224 // Si on est dans la division
225 if ($idx != null && $retourformulaire !== null && $retourformulaire === "division") {
226 $sql_utilisateur_by_division = str_replace(
227 '<id_division>',
228 $idx,
229 $this->get_var_sql_forminc__sql("utilisateur_by_division")
230 );
231 $this->init_select(
232 $form,
233 $this->f->db,
234 $this->getParameter("maj"),
235 null,
236 "om_utilisateur",
237 $sql_utilisateur_by_division,
238 $this->get_var_sql_forminc__sql("om_utilisateur_by_id"),
239 true
240 );
241 return;
242 }
243 }
244 }

Properties

Name Value
svn:keywords "Id"

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26