1 |
fraynaud |
3 |
<?php |
2 |
atreal |
312 |
//$Id$ |
3 |
|
|
//gen openMairie le 10/02/2011 20:33 |
4 |
fraynaud |
3 |
require_once ("../gen/obj/evenement.class.php"); |
5 |
|
|
|
6 |
|
|
class evenement extends evenement_gen { |
7 |
|
|
|
8 |
fraynaud |
7 |
function evenement($id,&$db,$debug) { |
9 |
|
|
$this->constructeur($id,$db,$debug); |
10 |
|
|
}// fin constructeur |
11 |
fraynaud |
3 |
|
12 |
fraynaud |
7 |
function setType(&$form,$maj) { |
13 |
|
|
parent::setType($form,$maj); |
14 |
|
|
if ($maj < 2) { |
15 |
|
|
//$form->setType('fin_instruction', 'select'); |
16 |
|
|
$form->setType('accord_tacite', 'select'); |
17 |
|
|
$form->setType('delai_notification', 'select'); |
18 |
|
|
$form->setType('delai', 'select'); |
19 |
|
|
$form->setType('lettretype', 'select'); |
20 |
nhaye |
433 |
$form->setType('consultation', 'checkbox'); |
21 |
vpihour |
1133 |
$form->setType('dossier_instruction_type','select_multiple'); |
22 |
fraynaud |
7 |
} |
23 |
vpihour |
1133 |
|
24 |
|
|
if ($maj==2){ //supprimer |
25 |
|
|
|
26 |
|
|
$form->setType('dossier_instruction_type','select_multiple_static'); |
27 |
|
|
}//fin supprimer |
28 |
|
|
if ($maj==3){ //consulter |
29 |
|
|
|
30 |
|
|
$form->setType('dossier_instruction_type','select_multiple_static'); |
31 |
|
|
}//fin consulter |
32 |
fraynaud |
7 |
} |
33 |
atreal |
312 |
|
34 |
fraynaud |
7 |
function setSelect(&$form, $maj,$db,$debug) { |
35 |
vpihour |
1133 |
|
36 |
|
|
if(file_exists ("../sql/".$db->phptype."/".$this->table.".form.inc.php")) |
37 |
|
|
include ("../sql/".$db->phptype."/".$this->table.".form.inc.php"); |
38 |
|
|
|
39 |
fraynaud |
7 |
parent::setSelect($form, $maj,$db,$debug); |
40 |
|
|
|
41 |
atreal |
312 |
if($maj<2){ |
42 |
|
|
// lettretype |
43 |
vpihour |
1133 |
|
44 |
atreal |
312 |
$contenu=array(); |
45 |
|
|
$res = $db->query($sql_om_lettretype); |
46 |
|
|
if (database::isError($res)) |
47 |
|
|
die($res->getMessage().$sql_om_lettretype); |
48 |
|
|
else{ |
49 |
|
|
if ($debug == 1) |
50 |
|
|
echo " la requete ".$sql_om_lettretype." est executee<br>"; |
51 |
|
|
$contenu[0][0]=''; |
52 |
|
|
$contenu[1][0]=_('choisir')." "._('lettretype'); |
53 |
|
|
$k=1; |
54 |
|
|
while ($row=& $res->fetchRow()){ |
55 |
|
|
$contenu[0][$k]=$row[0]; |
56 |
|
|
$contenu[1][$k]=$row[1]; |
57 |
|
|
$k++; |
58 |
|
|
} |
59 |
|
|
$form->setSelect('lettretype',$contenu); |
60 |
|
|
}// fin error db |
61 |
fraynaud |
7 |
} |
62 |
|
|
// accord_tacite |
63 |
|
|
$contenu=array(); |
64 |
|
|
$contenu[0]=array('Non','Oui'); |
65 |
|
|
$contenu[1]=array($this->lang('Non'),$this->lang('Oui')); |
66 |
|
|
$form->setSelect("accord_tacite",$contenu); |
67 |
|
|
// delai_notification |
68 |
|
|
$contenu=array(); |
69 |
|
|
$contenu[0]=array('0','1'); |
70 |
|
|
$contenu[1]=array('sans','1 '.$this->lang("mois")); |
71 |
|
|
$form->setSelect("delai_notification",$contenu); |
72 |
|
|
// delai |
73 |
|
|
$contenu=array(); |
74 |
|
|
$contenu[0]=array('0','1','2','3','4','5','6','7','8','9','10','11','12','18','24'); |
75 |
|
|
$contenu[1]=array('sans', |
76 |
|
|
'1 '._("mois"), |
77 |
|
|
'2 '._("mois"), |
78 |
|
|
'3 '._("mois"), |
79 |
|
|
'4 '._("mois"), |
80 |
|
|
'5 '._("mois"), |
81 |
|
|
'6 '._("mois"), |
82 |
|
|
'7 '._("mois"), |
83 |
|
|
'8 '._("mois"), |
84 |
|
|
'9 '._("mois"), |
85 |
|
|
'10 '._("mois"), |
86 |
|
|
'11 '._("mois"), |
87 |
|
|
'12 '._("mois"), |
88 |
|
|
'18 '._("mois"), |
89 |
|
|
'24 '._("mois") |
90 |
atreal |
312 |
); |
91 |
fraynaud |
7 |
$form->setSelect("delai",$contenu); |
92 |
vpihour |
1133 |
|
93 |
|
|
// dossier_instruction_type |
94 |
|
|
$this->init_select($form, $db, $maj, $debug, "dossier_instruction_type", |
95 |
|
|
$sql_dossier_instruction_type, $sql_dossier_instruction_type_by_id, false); |
96 |
fraynaud |
7 |
} |
97 |
|
|
|
98 |
vpihour |
1133 |
function setTaille(&$form, $maj) { |
99 |
|
|
|
100 |
|
|
parent::setTaille($form, $maj); |
101 |
|
|
$form->setTaille("dossier_instruction_type", 5); |
102 |
|
|
} |
103 |
|
|
|
104 |
|
|
function setMax(&$form, $maj) { |
105 |
|
|
|
106 |
|
|
parent::setMax($form, $maj); |
107 |
|
|
$form->setMax("dossier_instruction_type", 5); |
108 |
|
|
} |
109 |
fraynaud |
7 |
|
110 |
vpihour |
1133 |
//Ajoute autant de lien_dossier_instruction_type_evenement que de dossier_instruction_type |
111 |
|
|
function triggerajouterapres($id,&$db,$val,$DEBUG) { |
112 |
|
|
|
113 |
|
|
parent::triggerajouterapres($id,$db,$val,$DEBUG); |
114 |
atreal |
312 |
|
115 |
vpihour |
1133 |
//Récupère les données du select multiple |
116 |
|
|
$dossier_instruction_type = $this->getPostedValues('dossier_instruction_type'); |
117 |
|
|
|
118 |
|
|
//Ne traite les données que s'il y en a et qu'elles sont correctes |
119 |
|
|
if ( is_array($dossier_instruction_type) && count($dossier_instruction_type) > 0 ){ |
120 |
|
|
|
121 |
|
|
$nb_tr = 0; |
122 |
|
|
//Va créer autant de transition que d'événements choisis |
123 |
|
|
foreach( $dossier_instruction_type as $value ){ |
124 |
|
|
|
125 |
|
|
//Test si la valeur par défaut est sélectionnée |
126 |
|
|
if ( $value != "" ) { |
127 |
|
|
|
128 |
|
|
//Données |
129 |
|
|
$donnees = array( |
130 |
|
|
'evenement' => $this->valF['evenement'], |
131 |
|
|
'dossier_instruction_type' => $value |
132 |
|
|
); |
133 |
|
|
|
134 |
|
|
//Ajoute une nouvelle transition |
135 |
|
|
$this->addDossierInstructionType($donnees, $db, $DEBUG); |
136 |
|
|
|
137 |
|
|
$nb_tr++; |
138 |
|
|
} |
139 |
|
|
} |
140 |
|
|
|
141 |
|
|
//Message de confirmation de création de(s) lien_dossier_instruction_type_evenement(s). |
142 |
|
|
if ( $nb_tr > 0 ){ |
143 |
|
|
|
144 |
|
|
if ( $nb_tr == 1 ){ |
145 |
|
|
|
146 |
|
|
$this->addToMessage("Creation de $nb_tr nouvelle liaison |
147 |
|
|
realisee avec succes."); |
148 |
|
|
} |
149 |
|
|
else{ |
150 |
|
|
|
151 |
|
|
$this->addToMessage("Creation de $nb_tr nouvelles liaisions |
152 |
|
|
realisee avec succes."); |
153 |
|
|
} |
154 |
|
|
} |
155 |
|
|
} |
156 |
|
|
|
157 |
|
|
} |
158 |
|
|
|
159 |
|
|
//Fonction générique permettant de récupérer les données d'un champ postées |
160 |
|
|
function getPostedValues($champ) { |
161 |
|
|
|
162 |
|
|
// Récupération des demandeurs dans POST |
163 |
|
|
if (isset($_POST[$champ]) ) { |
164 |
|
|
|
165 |
|
|
return $_POST[$champ]; |
166 |
|
|
} |
167 |
|
|
} |
168 |
|
|
|
169 |
|
|
//Modification des liens |
170 |
|
|
function triggerModifierApres($id, &$db, $val, $DEBUG){ |
171 |
|
|
|
172 |
|
|
parent::triggerModifierApres($id, $db, $val, $DEBUG); |
173 |
|
|
|
174 |
|
|
//Supprime toutes les liaisions liées à l'événement |
175 |
|
|
$this->deleteAllLienDossierInstructionTypeEvenementEvenement($this->valF['evenement'], $db, $DEBUG); |
176 |
|
|
|
177 |
|
|
//Récupère les données du select multiple |
178 |
|
|
$dossier_instruction_type = $this->getPostedValues('dossier_instruction_type'); |
179 |
|
|
|
180 |
|
|
//Ne traite les données que s'il y en a et qu'elles sont correctes |
181 |
|
|
if ( is_array($dossier_instruction_type) && count($dossier_instruction_type) > 0 ){ |
182 |
|
|
|
183 |
|
|
$nb_tr = 0; |
184 |
|
|
//Va créer autant de lien_dossier_instruction_type_evenement que de dossier_instruction_type choisis |
185 |
|
|
foreach( $dossier_instruction_type as $value ){ |
186 |
|
|
|
187 |
|
|
//Test si la valeur par défaut est sélectionnée |
188 |
|
|
if ( $value != "" ) { |
189 |
|
|
|
190 |
|
|
//Données |
191 |
|
|
$donnees = array( |
192 |
|
|
'evenement' => $this->valF['evenement'], |
193 |
|
|
'dossier_instruction_type' => $value |
194 |
|
|
); |
195 |
|
|
|
196 |
|
|
//Ajoute une nouvelle transition |
197 |
|
|
$this->addDossierInstructionType($donnees, $db, $DEBUG); |
198 |
|
|
|
199 |
|
|
$nb_tr++; |
200 |
|
|
} |
201 |
|
|
} |
202 |
|
|
|
203 |
|
|
//Message de confirmation de création de(s) transition(s). |
204 |
|
|
if ( $nb_tr > 0 ){ |
205 |
|
|
|
206 |
|
|
$this->addToMessage("Mise à jour des liaisons realisee avec succes."); |
207 |
|
|
} |
208 |
|
|
} |
209 |
|
|
} |
210 |
|
|
|
211 |
|
|
//Ajoute un nouveau lien_dossier_instruction_type_evenement |
212 |
|
|
// $data array de données |
213 |
|
|
function addDossierInstructionType($data, $db, $DEBUG){ |
214 |
|
|
|
215 |
|
|
require_once '../obj/lien_dossier_instruction_type_evenement.class.php'; |
216 |
|
|
|
217 |
|
|
$lien_dossier_instruction_type_evenement = new lien_dossier_instruction_type_evenement("]",$db,$DEBUG); |
218 |
|
|
$lien_dossier_instruction_type_evenement->valF = ""; |
219 |
|
|
|
220 |
|
|
//Données |
221 |
|
|
$vallien_dossier_instruction_type_evenement['lien_dossier_instruction_type_evenement']=NULL; |
222 |
|
|
|
223 |
|
|
if ( is_array($data) ){ |
224 |
|
|
|
225 |
|
|
foreach ($data as $key => $value) { |
226 |
|
|
|
227 |
|
|
$vallien_dossier_instruction_type_evenement[$key]=$value; |
228 |
|
|
} |
229 |
|
|
} |
230 |
|
|
|
231 |
|
|
$lien_dossier_instruction_type_evenement->ajouter($vallien_dossier_instruction_type_evenement, $db, $DEBUG); |
232 |
|
|
} |
233 |
|
|
|
234 |
|
|
//Supprime toutes les lien_dossier_instruction_type_evenement liées à un événement |
235 |
|
|
function deleteAllLienDossierInstructionTypeEvenementEvenement($id, $db, $DEBUG){ |
236 |
|
|
|
237 |
|
|
//Création de la requête |
238 |
|
|
$sql = "DELETE FROM |
239 |
|
|
".DB_PREFIXE."lien_dossier_instruction_type_evenement |
240 |
|
|
WHERE |
241 |
|
|
evenement = $id"; |
242 |
|
|
|
243 |
|
|
//Exécution de la requête |
244 |
|
|
$res = $db->query($sql); |
245 |
|
|
|
246 |
|
|
//Ajout au log |
247 |
|
|
$this->f->addToLog("deleteAllLienDossierInstructionTypeEvenementEvenement(): db->query(\"".$sql."\");", VERBOSE_MODE); |
248 |
|
|
$this->f->isDatabaseError(); |
249 |
|
|
} |
250 |
|
|
|
251 |
|
|
//Suppression de toutes les lien_dossier_instruction_type_evenement avec evenement |
252 |
|
|
function triggersupprimer($id, &$db, $val, $DEBUG){ |
253 |
|
|
|
254 |
|
|
//Supprime toutes les transitions liées à l'état |
255 |
|
|
$this->deleteAllLienDossierInstructionTypeEvenementEvenement($id, $db, $DEBUG); |
256 |
|
|
} |
257 |
|
|
|
258 |
|
|
/* Surcharge de la fonction cleSecondaire pour qu'elle ne vérifie pas le lien avec |
259 |
|
|
* transition qui sera supprimé juste après*/ |
260 |
|
|
function cleSecondaire($id, &$db = NULL, $val = array(), $DEBUG = false) { |
261 |
|
|
|
262 |
|
|
// Verification de la cle secondaire : bible |
263 |
|
|
$this->rechercheTable($db, "bible", "evenement", $id); |
264 |
|
|
// Verification de la cle secondaire : demande_type |
265 |
|
|
$this->rechercheTable($db, "demande_type", "evenement", $id); |
266 |
|
|
// Verification de la cle secondaire : evenement |
267 |
|
|
$this->rechercheTable($db, "evenement", "evenement_retour_ar", $id); |
268 |
|
|
// Verification de la cle secondaire : evenement |
269 |
|
|
$this->rechercheTable($db, "evenement", "evenement_suivant_tacite", $id); |
270 |
|
|
// Verification de la cle secondaire : instruction |
271 |
|
|
$this->rechercheTable($db, "instruction", "evenement", $id); |
272 |
|
|
// Verification de la cle secondaire : lien_evenement_dossier_autorisation_type |
273 |
|
|
$this->rechercheTable($db, "lien_evenement_dossier_autorisation_type", "evenement", $id); |
274 |
|
|
// Verification de la cle secondaire : transition |
275 |
|
|
$this->rechercheTable($db, "transition", "evenement", $id); |
276 |
|
|
} |
277 |
|
|
|
278 |
|
|
function setVal(&$form, $maj, $validation, &$db) { |
279 |
|
|
|
280 |
|
|
parent::setVal($form, $maj, $validation, $db); |
281 |
|
|
|
282 |
|
|
if($maj == 2 && $validation == 1 ) { |
283 |
|
|
$form->setVal("dossier_instruction_type",$this->val[count($this->val)-1]); |
284 |
|
|
} |
285 |
|
|
} |
286 |
|
|
|
287 |
fraynaud |
3 |
}// fin classe |
288 |
|
|
?> |