/[openfoncier]/branches/4.13.0-sitadel-annulation/obj/instructeur.class.php
ViewVC logotype

Annotation of /branches/4.13.0-sitadel-annulation/obj/instructeur.class.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 8970 - (hide annotations)
Thu Oct 17 14:04:30 2019 UTC (5 years, 3 months ago) by softime
File size: 9429 byte(s)
* Création de la branche de développement 4.13.0-sitadel-annulation

1 mbroquet 3730 <?php
2 softime 7996 /**
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 mbroquet 3730
11     require_once "../gen/obj/instructeur.class.php";
12    
13     class instructeur extends instructeur_gen {
14    
15 softime 8722 /**
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 softime 7366 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 softime 8722 /**
86     * SETTER_FORM - setSelect.
87     *
88     * @return void
89     */
90     function setSelect(&$form, $maj, &$dnu1 = null, $dnu2 = null) {
91     // parent::setSelect($form, $maj);
92 softime 7366 // 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 softime 8722 // Ne fait pas appel au parent car une requête SQL doit être modifiée
100 softime 7366 // dans le cas d'un ajout afin de permettre le bon tri du champ
101     // om_utilisateur
102    
103 softime 8722 // 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 softime 7366 // 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 softime 8722 $sql_om_utilisateur = $this->get_var_sql_forminc__sql("om_utilisateur");
119 softime 7366 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 softime 8722 $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 softime 7366
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 softime 8722 $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 softime 7366 }
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 softime 8722 } elseif ($this->getParameter('division') != "") {
175 softime 7366 $id_division = $this->getParameter('division');
176 softime 8722 } elseif (isset($form->val['division'])) {
177 softime 7366 $id_division = $form->val['division'];
178     }
179    
180     //
181     if ($id_division !== "") {
182     // Tri les utilisateurs par la collectivité de la division
183 softime 8722 $sql_utilisateur_by_division = str_replace(
184     '<id_division>',
185     $id_division,
186     $this->get_var_sql_forminc__sql("utilisateur_by_division")
187     );
188 softime 7366 //
189 softime 8722 $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 softime 7366 }
200     }
201 softime 8722 return;
202 softime 7366 }
203 softime 8722 // 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 softime 7366 }
224 softime 8722 // 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 softime 7366 }
244 mbroquet 3730 }

Properties

Name Value
svn:keywords "Id"

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26