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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1173 - (hide annotations)
Tue Jan 8 11:29:08 2013 UTC (12 years ago) by vpihour
File size: 7799 byte(s)
Suppression des variables et des caractères accentués des chaines à traduire

1 fraynaud 4 <?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 fraynaud 6 function etat($id,&$db,$debug) {
9     $this->constructeur($id,$db,$debug);
10     }// fin constructeur
11 fraynaud 4
12 vpihour 1134 //Ajout du type select multiple sur evenement
13 vpihour 1130 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 vpihour 1134 //Nombre de evenement affiché
51 vpihour 1130 function setTaille(&$form, $maj) {
52    
53     parent::setTaille($form, $maj);
54     $form->setTaille("evenement", 5);
55     }
56    
57 vpihour 1134 //Nombre de evenement maximum
58 vpihour 1130 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 vpihour 1173 $this->addToMessage(_("Creation de ").$nb_tr._(" nouvelle transition
101 vpihour 1135 realisee avec succes."));
102 vpihour 1130 }
103     else{
104    
105 vpihour 1173 $this->addToMessage(_("Creation de ").$nb_tr._(" nouvelles transitions
106 vpihour 1135 realisee avec succes."));
107 vpihour 1130 }
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 fmichon 1159 $this->addToMessage(_("Mise a jour des liaisons avec transition realisee avec succes."));
161 vpihour 1130 }
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 vpihour 1134 //Affichage des evenement anciennement liés
224 vpihour 1130 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 fraynaud 4 }// fin classe
233     ?>

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26