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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1159 - (show annotations)
Mon Jan 7 17:15:57 2013 UTC (12 years ago) by fmichon
File size: 7785 byte(s)
Suppression des accents dans les chaines à traduire + Faute d'orthographe : suffisament => suffisamment + Regénération du catalogue de traduction

1 <?php
2 //$Id$
3 //gen openMairie le 10/02/2011 22:10
4 require_once ("../gen/obj/etat.class.php");
5
6 class etat extends etat_gen {
7
8 function etat($id,&$db,$debug) {
9 $this->constructeur($id,$db,$debug);
10 }// fin constructeur
11
12 //Ajout du type select multiple sur evenement
13 function setType(&$form,$maj) {
14
15 parent::setType($form, $maj);
16
17 //type
18 if ($maj==0){ //ajout
19
20 $form->setType('evenement','select_multiple');
21 }// fin ajout
22 if ($maj==1){ //modifier
23
24 $form->setType('evenement','select_multiple');
25 }// fin modifier
26 if ($maj==2){ //supprimer
27
28 $form->setType('evenement','select_multiple_static');
29 }//fin supprimer
30 if ($maj==3){ //consulter
31
32 $form->setType('evenement','select_multiple_static');
33 }//fin consulter
34 }
35
36 function setSelect(&$form, $maj,&$db,$debug) {
37
38 if(file_exists ("../sql/".$db->phptype."/".$this->table.".form.inc.php"))
39 include ("../sql/".$db->phptype."/".$this->table.".form.inc.php");
40 elseif(file_exists ("../sql/".$db->phptype."/".$this->table.".form.inc"))
41 include ("../sql/".$db->phptype."/".$this->table.".form.inc");
42
43 parent::setSelect($form, $maj, $db, $debug);
44
45 // evenement
46 $this->init_select($form, $db, $maj, $debug, "evenement",
47 $sql_evenement, $sql_evenement_by_id, false);
48 }
49
50 //Nombre de evenement affiché
51 function setTaille(&$form, $maj) {
52
53 parent::setTaille($form, $maj);
54 $form->setTaille("evenement", 5);
55 }
56
57 //Nombre de evenement maximum
58 function setMax(&$form, $maj) {
59
60 parent::setMax($form, $maj);
61 $form->setMax("evenement", 5);
62 }
63
64 //Ajoute autant de transitions que d'événements
65 function triggerajouterapres($id,&$db,$val,$DEBUG) {
66
67 parent::triggerajouterapres($id,$db,$val,$DEBUG);
68
69 //Récupère les données du select multiple
70 $evenements = $this->getPostedValues('evenement');
71
72 //Ne traite les données que s'il y en a et qu'elles sont correctes
73 if ( is_array($evenements) && count($evenements) > 0 ){
74
75 $nb_tr = 0;
76 //Va créer autant de transition que d'événements choisis
77 foreach( $evenements as $value ){
78
79 //Test si la valeur par défaut est sélectionnée
80 if ( $value != "" ) {
81
82 //Données
83 $donnees = array(
84 'etat' => $this->valF['etat'],
85 'evenement' => $value
86 );
87
88 //Ajoute une nouvelle transition
89 $this->addTransition($donnees, $db, $DEBUG);
90
91 $nb_tr++;
92 }
93 }
94
95 //Message de confirmation de création de(s) transition(s).
96 if ( $nb_tr > 0 ){
97
98 if ( $nb_tr == 1 ){
99
100 $this->addToMessage(_("Creation de $nb_tr nouvelle transition
101 realisee avec succes."));
102 }
103 else{
104
105 $this->addToMessage(_("Creation de $nb_tr nouvelles transitions
106 realisee avec succes."));
107 }
108 }
109 }
110
111 }
112
113 //Fonction générique permettant de récupérer les données d'un champ postées
114 function getPostedValues($champ) {
115
116 // Récupération des demandeurs dans POST
117 if (isset($_POST[$champ]) ) {
118
119 return $_POST[$champ];
120 }
121 }
122
123 //Modification des liens
124 function triggerModifierApres($id, &$db, $val, $DEBUG){
125
126 parent::triggerModifierApres($id, $db, $val, $DEBUG);
127
128 //Supprime toutes les transitions liées à l'état
129 $this->deleteAllTransitionEtat($this->valF['etat'], $db, $DEBUG);
130
131 //Récupère les données du select multiple
132 $evenements = $this->getPostedValues('evenement');
133
134 //Ne traite les données que s'il y en a et qu'elles sont correctes
135 if ( is_array($evenements) && count($evenements) > 0 ){
136
137 $nb_tr = 0;
138 //Va créer autant de transition que d'événements choisis
139 foreach( $evenements as $value ){
140
141 //Test si la valeur par défaut est sélectionnée
142 if ( $value != "" ) {
143
144 //Données
145 $donnees = array(
146 'etat' => $this->valF['etat'],
147 'evenement' => $value
148 );
149
150 //Ajoute une nouvelle transition
151 $this->addTransition($donnees, $db, $DEBUG);
152
153 $nb_tr++;
154 }
155 }
156
157 //Message de confirmation de création de(s) transition(s).
158 if ( $nb_tr > 0 ){
159
160 $this->addToMessage(_("Mise a jour des liaisons avec transition realisee avec succes."));
161 }
162 }
163 }
164
165 //Ajoute une nouvelle transition
166 // $data array de données
167 function addTransition($data, $db, $DEBUG){
168
169 require_once '../obj/transition.class.php';
170
171 $transition = new transition("]",$db,$DEBUG);
172 $transition->valF = "";
173
174 //Données
175 $valTransi['transition']=NULL;
176
177 if ( is_array($data) ){
178
179 foreach ($data as $key => $value) {
180
181 $valTransi[$key]=$value;
182 }
183 }
184
185 $transition->ajouter($valTransi, $db, $DEBUG);
186 }
187
188 //Supprime toutes les transitions liées à un état
189 function deleteAllTransitionEtat($id, $db, $DEBUG){
190
191 //Création de la requête
192 $sql = "DELETE FROM ".DB_PREFIXE."transition WHERE etat like '$id'";
193
194 //Exécution de la requête
195 $res = $db->query($sql);
196
197 //Ajout au log
198 $this->f->addToLog("deleteAllTransitionEtat(): db->query(\"".$sql."\");", VERBOSE_MODE);
199 $this->f->isDatabaseError();
200 }
201
202 //Suppression de toutes les liaisons avec transition
203 function triggersupprimer($id, &$db, $val, $DEBUG){
204
205 //Supprime toutes les transitions liées à l'état
206 $this->deleteAllTransitionEtat($id, $db, $DEBUG);
207 }
208
209 /* Surcharge de la fonction cleSecondaire pour qu'elle ne vérifie pas le lien avec
210 * transition qui sera supprimé juste après*/
211 function cleSecondaire($id, &$db = NULL, $val = array(), $DEBUG = false) {
212
213 // Verification de la cle secondaire : dossier
214 $this->rechercheTable($db, "dossier", "etat", $id);
215 // Verification de la cle secondaire : dossier_autorisation
216 $this->rechercheTable($db, "dossier_autorisation", "etat", $id);
217 // Verification de la cle secondaire : evenement
218 $this->rechercheTable($db, "evenement", "etat", $id);
219 // Verification de la cle secondaire : instruction
220 $this->rechercheTable($db, "instruction", "etat", $id);
221 }
222
223 //Affichage des evenement anciennement liés
224 function setVal(&$form, $maj, $validation, &$db) {
225
226 parent::setVal($form, $maj, $validation, $db);
227
228 if($maj == 2 && $validation == 1 ) {
229 $form->setVal("evenement",$this->val[3]);
230 }
231 }
232 }// fin classe
233 ?>

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26