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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 6929 - (hide annotations)
Thu Jun 15 16:57:15 2017 UTC (7 years, 7 months ago) by softime
Original Path: trunk/obj/etat.class.php
File size: 8318 byte(s)
* Merge de la 4.2.0

1 mbroquet 3730 <?php
2     /**
3 nhaye 5254 * DBFORM - 'etat' - Surcharge gen.
4 mbroquet 3730 *
5 nhaye 5254 * Ce script permet de définir la classe 'etat'.
6     *
7     * @package openads
8     * @version SVN : $Id$
9 mbroquet 3730 */
10    
11     require_once "../gen/obj/etat.class.php";
12    
13     class etat extends etat_gen {
14    
15 nhaye 5254 /**
16     * Constructeur.
17     */
18     function __construct($id, &$dnu1 = null, $dnu2 = null) {
19     $this->constructeur($id);
20 mbroquet 3730 }
21    
22     function setType(&$form, $maj) {
23     //
24     parent::setType($form, $maj);
25     //type
26     if ($maj==0){ //ajout
27     $form->setType('statut', 'select');
28     $form->setType('evenement','select_multiple');
29     }// fin ajout
30     if ($maj==1){ //modifier
31     $form->setType('statut', 'select');
32     $form->setType('evenement','select_multiple');
33     }// fin modifier
34     if ($maj==2){ //supprimer
35     $form->setType('statut', 'selectstatic');
36     $form->setType('evenement','select_multiple_static');
37     }//fin supprimer
38     if ($maj==3){ //consulter
39     $form->setType('statut', 'selectstatic');
40     $form->setType('evenement','select_multiple_static');
41     }//fin consulter
42     }
43    
44 softime 6929 function setSelect(&$form, $maj, &$db = null, $debug = null) {
45 mbroquet 3730 //
46     parent::setSelect($form, $maj, $db, $debug);
47     //
48     if(file_exists ("../sql/".OM_DB_PHPTYPE."/".$this->table.".form.inc.php"))
49     include ("../sql/".OM_DB_PHPTYPE."/".$this->table.".form.inc.php");
50     elseif(file_exists ("../sql/".OM_DB_PHPTYPE."/".$this->table.".form.inc"))
51     include ("../sql/".OM_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, true);
55     // Statut
56     $contenu = array(
57     0 => array('cloture', 'encours',),
58     1 => array(_('Cloture'), _('En cours'),)
59     );
60     $form->setSelect("statut",$contenu);
61     }
62    
63     //Nombre de evenement affiché
64     function setTaille(&$form, $maj) {
65    
66     parent::setTaille($form, $maj);
67     $form->setTaille("evenement", 5);
68     }
69    
70     //Nombre de evenement maximum
71     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 softime 6929 function triggerajouterapres($id, &$db = null, $val = array(), $DEBUG = null) {
79 mbroquet 3730
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     $this->addToMessage(_("Creation de ").$nb_tr._(" nouvelle transition
114     realisee avec succes."));
115     }
116     else{
117    
118     $this->addToMessage(_("Creation de ").$nb_tr._(" nouvelles transitions
119     realisee avec succes."));
120     }
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 ($this->f->get_submitted_post_value($champ) !== null) {
131    
132     return $this->f->get_submitted_post_value($champ);
133     }
134     }
135    
136     //Modification des liens
137 softime 6929 function triggermodifierapres($id, &$db = null, $val = array(), $DEBUG = null) {
138 mbroquet 3730
139 softime 6929 parent::triggermodifierapres($id, $db, $val, $DEBUG);
140 mbroquet 3730
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     $this->addToMessage(_("Mise a jour des liaisons avec transition realisee avec succes."));
174     }
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     if ( database::isError($res)){
213     die();
214     }
215     }
216    
217     //Suppression de toutes les liaisons avec transition
218 softime 6929 function triggersupprimer($id, &$db = null, $val = array(), $DEBUG = null) {
219 mbroquet 3730
220     //Supprime toutes les transitions liées à l'état
221     $this->deleteAllTransitionEtat($id, $db, $DEBUG);
222     }
223    
224     /* Surcharge de la fonction cleSecondaire pour qu'elle ne vérifie pas le lien avec
225     * transition qui sera supprimé juste après*/
226 softime 6929 function cleSecondaire($id, &$db = null, $val = array(), $DEBUG = null) {
227 mbroquet 3730
228     // Verification de la cle secondaire : dossier
229     $this->rechercheTable($db, "dossier", "etat", $id);
230     // Verification de la cle secondaire : evenement
231     $this->rechercheTable($db, "evenement", "etat", $id);
232     // Verification de la cle secondaire : instruction
233     $this->rechercheTable($db, "instruction", "etat", $id);
234     }
235    
236     //Affichage des evenement anciennement liés
237 softime 6929 function setVal(&$form, $maj, $validation, &$db = null, $DEBUG = null) {
238 mbroquet 3730
239 softime 6929 parent::setVal($form, $maj, $validation, $db, $DEBUG);
240 mbroquet 3730
241     if($maj == 2 && $validation == 1 ) {
242     $form->setVal("evenement",$this->val[3]);
243     }
244     }
245    
246     }
247    
248     ?>

Properties

Name Value
svn:keywords "Id"

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26