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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1549 - (hide annotations)
Thu Mar 21 18:17:06 2013 UTC (11 years, 10 months ago) by fmichon
File size: 8046 byte(s)
Mise en cohérence des écrans autour du workflow et nettoyage

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26