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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3730 - (hide annotations)
Fri Mar 18 11:50:26 2016 UTC (8 years, 10 months ago) by mbroquet
File size: 8037 byte(s)
Actualisation du trunk
1 mbroquet 3730 <?php
2     //$Id: blocnote.class.php 4685 2015-04-30 12:30:55Z nmeucci $
3     //gen openMairie le 10/02/2011 20:31
4     require_once ("../gen/obj/blocnote.class.php");
5    
6     class blocnote extends blocnote_gen {
7    
8     /** @var boolean Les nouvelles actions sont activées sur cet objet */
9     var $activate_class_action;
10    
11     function blocnote($id,&$db,$debug) {
12     //On active les nouvelles actions
13     $this->activate_class_action = true;
14     $this->constructeur($id,$db,$debug);
15     }// fin constructeur
16    
17     /**
18     * Définition des actions disponibles sur la classe.
19     *
20     * @return void
21     */
22     function init_class_actions() {
23    
24     parent::init_class_actions();
25    
26     // ACTION - 000 - ajouter
27     //
28     $this->class_actions[0]["condition"] = "is_ajoutable";
29    
30     // ACTION - 001 - modifier
31     //
32     $this->class_actions[1]["condition"] = "is_modifiable";
33    
34     // ACTION - 002 - supprimer
35     //
36     $this->class_actions[2]["condition"] = "is_supprimable";
37     }
38    
39     // {{{ Gestion de la confidentialité des données spécifiques
40    
41     /**
42     * Cette variable permet de stocker le résultat de la méthode
43     * getDivisionFromDossier() afin de ne pas effectuer le recalcul à chacun de
44     * ces appels.
45     * @var string Code de la division du dossier en cours
46     */
47     var $_division_from_dossier = NULL;
48    
49     /**
50     * Cette méthode permet de récupérer le code de division correspondant
51     * au dossier sur lequel on se trouve.
52     *
53     * @return string Code de la division du dossier en cours
54     */
55     function getDivisionFromDossier() {
56    
57     // Cette méthode peut être appelée plusieurs fois lors d'une requête.
58     // Pour éviter de refaire le traitement de recherche de la division
59     // alors on vérifie si nous ne l'avons pas déjà calculé.
60     if ($this->_division_from_dossier != NULL) {
61     // Logger
62     $this->addToLog("getDivisionFromDossier(): retour de la valeur déjà calculée - '".$this->_division_from_dossier."'", EXTRA_VERBOSE_MODE);
63     // On retourne la valeur déjà calculée
64     return $this->_division_from_dossier;
65     }
66    
67     // Par défaut, on définit la valeur du dossier à NULL
68     $dossier = NULL;
69     // Test sur le mode et le contexte du formulaire
70     if ($this->getParameter("maj") == 0
71     && ($this->getParameter("retourformulaire") == "dossier"
72     || $this->getParameter("retourformulaire") == "dossier_instruction"
73     || $this->getParameter("retourformulaire") == "dossier_instruction_mes_encours"
74     || $this->getParameter("retourformulaire") == "dossier_instruction_tous_encours"
75     || $this->getParameter("retourformulaire") == "dossier_instruction_mes_clotures"
76     || $this->getParameter("retourformulaire") == "dossier_instruction_tous_clotures")) {
77     // Si on se trouve en mode AJOUT (seul mode où l'enregistrement
78     // n'existe pas en base de données) ET que nous nous trouvons
79     // dans le contexte d'un dossier d'instruction alors on récupère
80     // le numéro de dossier depuis le paramètre 'idxformulaire'
81     $dossier = $this->getParameter("idxformulaire");
82     } else {
83     // Sinon on récupère le numéro de dossier dans le champs dossier de
84     // l'enregistrement (en base de données)
85     $dossier = $this->getVal("dossier");
86     }
87    
88     // On appelle la méthode de la classe utils qui renvoi le code de la
89     // division d'un dossier, on la stocke pour ne pas refaire le calcul au
90     // prochain appel de cette méthode
91     $this->_division_from_dossier = $this->f->getDivisionFromDossier($dossier);
92     // Logger
93     $this->addToLog("getDivisionFromDossier(): retour de la valeur nouvellement calculée - '".$this->_division_from_dossier."'", EXTRA_VERBOSE_MODE);
94     // On retourne la valeur retournée
95     return $this->_division_from_dossier;
96    
97     }
98    
99     // }}}
100    
101     function setValsousformulaire(&$form,$maj,$validation,$idxformulaire,$retourformulaire,$typeformulaire){
102     if ($validation==0) {
103     if ($maj == 0){
104     $form->setVal("dossier", $idxformulaire);
105     }
106     }
107     }
108    
109     function setLib(&$form, $maj) {
110     //
111     parent::setLib($form, $maj);
112     //
113     $form->setLib($this->clePrimaire, _("id"));
114     }
115    
116     function setType(&$form, $maj) {
117     //
118     parent::setType($form, $maj);
119     //
120     if ($maj < 2) {
121     $form->setType('categorie', 'select');
122     $form->setType('dossier', 'hiddenstatic');
123     }else{
124     $form->setType('blocnote', 'hiddenstatic');
125     $form->setType('destination', 'hiddenstatic');
126     $form->setType('dossier', 'hiddenstatic');
127     }
128    
129     //
130     if ($this->getParameter("retourformulaire") == "dossier"
131     || $this->getParameter("retourformulaire") == "dossier_instruction"
132     || $this->getParameter("retourformulaire") == "dossier_instruction_mes_encours"
133     || $this->getParameter("retourformulaire") == "dossier_instruction_tous_encours"
134     || $this->getParameter("retourformulaire") == "dossier_instruction_mes_clotures"
135     || $this->getParameter("retourformulaire") == "dossier_instruction_tous_clotures") {
136     //
137     $form->setType('dossier', 'hidden');
138     }
139     }
140    
141    
142    
143     function setSelect(&$form, $maj,$db,$debug) {
144     $contenu=array();
145     $contenu[0]=array(
146     _('reprise'),
147     _('suivi projet'),
148     _('contentieux'),
149     _('divers'),
150     );
151     $contenu[1]=array(
152     _('reprise'),
153     _('suivi projet'),
154     _('contentieux'),
155     _('divers'),
156     );
157     $form->setSelect("categorie",$contenu);
158     }
159    
160     /**
161     * CONDITION - is_ajoutable.
162     *
163     * Condition pour pouvoir ajouter
164     *
165     * @return boolean
166     */
167     function is_ajoutable() {
168     // Test du bypass
169     if ($this->f->isAccredited("blocnote_ajouter_bypass")) {
170     return true;
171     }
172     // Test des autres conditions
173     return $this->is_ajoutable_or_modifiable_or_supprimable();
174     }
175    
176     /**
177     * CONDITION - is_modifiable.
178     *
179     * Condition pour afficher le bouton modifier
180     *
181     * @return boolean
182     */
183     function is_modifiable() {
184     // Test du bypass
185     if ($this->f->isAccredited("blocnote_modifier_bypass")) {
186     return true;
187     }
188     // Test des autres conditions
189     return $this->is_ajoutable_or_modifiable_or_supprimable();
190     }
191    
192     /**
193     * CONDITION - is_supprimable.
194     *
195     * Condition pour afficher le bouton supprimer
196     * @return boolean
197     */
198     function is_supprimable() {
199     // Test du bypass
200     if ($this->f->isAccredited("blocnote_supprimer_bypass")) {
201     return true;
202     }
203     // Test des autres conditions
204     return $this->is_ajoutable_or_modifiable_or_supprimable();
205     }
206    
207     /**
208     * Conditions pour afficher les boutons modifier et supprimer
209     *
210     * @return boolean
211     */
212     function is_ajoutable_or_modifiable_or_supprimable() {
213     //
214     $dossier = ($this->getParameter("maj")==0)?$this->getParameter("idxformulaire"):$this->getVal("dossier");
215     /**
216     * Tester si le dossier est cloturé , de la meme division, instructeur, admin (?)
217     */
218     if($this->f->isUserInstructeur()
219     && isset($this->f->om_utilisateur["division"])
220     && $this->f->om_utilisateur["division"] != $this->getDivisionFromDossier()){
221     return false;
222     }
223     //
224     if ( $this->f->isUserInstructeur() && $this->f->getStatutDossier($dossier) == "cloture" ){
225     return false;
226     }
227     return true;
228     }
229     }
230    
231     ?>

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26