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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1908 - (hide annotations)
Mon May 27 07:54:33 2013 UTC (11 years, 8 months ago) by fmichon
File size: 5765 byte(s)
Correction de la gestion des permissions en fonction de la division sur les objets en onglet dans le contexte d'un dossier d'instruction.

1 fraynaud 3 <?php
2     //$Id$
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 fraynaud 20 function blocnote($id,&$db,$debug) {
9     $this->constructeur($id,$db,$debug);
10     }// fin constructeur
11 fraynaud 3
12 fmichon 1908 // {{{ Gestion de la confidentialité des données spécifiques
13    
14     /**
15     * Surcharge pour gérer les actions disponibles dans le portlet
16     */
17     function checkAccessibility() {
18     //
19     parent::checkAccessibility();
20     // Si l'utilisateur est un intructeur qui en correspond pas à la
21     // division du dossier
22     if ($this->f->isUserInstructeur()
23     && isset($this->f->om_utilisateur["division"])
24     && $this->f->om_utilisateur["division"] != $this->getDivisionFromDossier()) {
25     //
26     $this->actions_sup = array();
27     $this->setParameter("actions", array());
28     }
29     }
30    
31     /**
32     * Cette variable permet de stocker le résultat de la méthode
33     * getDivisionFromDossier() afin de ne pas effectuer le recalcul à chacun de
34     * ces appels.
35     * @var string Code de la division du dossier en cours
36     */
37     var $_division_from_dossier = NULL;
38    
39     /**
40     * Cette méthode permet de récupérer le code de division correspondant
41     * au dossier sur lequel on se trouve.
42     *
43     * @return string Code de la division du dossier en cours
44     */
45     function getDivisionFromDossier() {
46    
47     // Cette méthode peut être appelée plusieurs fois lors d'une requête.
48     // Pour éviter de refaire le traitement de recherche de la division
49     // alors on vérifie si nous ne l'avons pas déjà calculé.
50     if ($this->_division_from_dossier != NULL) {
51     // Logger
52     $this->addToLog("getDivisionFromDossier(): retour de la valeur déjà calculée - '".$this->_division_from_dossier."'", EXTRA_VERBOSE_MODE);
53     // On retourne la valeur déjà calculée
54     return $this->_division_from_dossier;
55     }
56    
57     // Par défaut, on définit la valeur du dossier à NULL
58     $dossier = NULL;
59     // Test sur le mode et le contexte du formulaire
60     if ($this->getParameter("maj") == 0
61     && ($this->getParameter("retourformulaire") == "dossier"
62     || $this->getParameter("retourformulaire") == "dossier_instruction"
63     || $this->getParameter("retourformulaire") == "dossier_instruction_mes_encours"
64     || $this->getParameter("retourformulaire") == "dossier_instruction_tous_encours"
65     || $this->getParameter("retourformulaire") == "dossier_instruction_mes_clotures"
66     || $this->getParameter("retourformulaire") == "dossier_instruction_tous_clotures")) {
67     // Si on se trouve en mode AJOUT (seul mode où l'enregistrement
68     // n'existe pas en base de données) ET que nous nous trouvons
69     // dans le contexte d'un dossier d'instruction alors on récupère
70     // le numéro de dossier depuis le paramètre 'idxformulaire'
71     $dossier = $this->getParameter("idxformulaire");
72     } else {
73     // Sinon on récupère le numéro de dossier dans le champs dossier de
74     // l'enregistrement (en base de données)
75     $dossier = $this->getVal("dossier");
76     }
77    
78     // On appelle la méthode de la classe utils qui renvoi le code de la
79     // division d'un dossier, on la stocke pour ne pas refaire le calcul au
80     // prochain appel de cette méthode
81     $this->_division_from_dossier = $this->f->getDivisionFromDossier($dossier);
82     // Logger
83     $this->addToLog("getDivisionFromDossier(): retour de la valeur nouvellement calculée - '".$this->_division_from_dossier."'", EXTRA_VERBOSE_MODE);
84     // On retourne la valeur retournée
85     return $this->_division_from_dossier;
86    
87     }
88    
89     // }}}
90    
91 fraynaud 20 function setValsousformulaire(&$form,$maj,$validation,$idxformulaire,$retourformulaire,$typeformulaire){
92     if ($validation==0) {
93     if ($maj == 0){
94     $form->setVal("dossier", $idxformulaire);
95     }
96     }
97     }
98 fmichon 1761
99     function setLib(&$form, $maj) {
100     //
101     parent::setLib($form, $maj);
102     //
103     $form->setLib($this->clePrimaire, _("id"));
104     }
105    
106     function setType(&$form, $maj) {
107     //
108     parent::setType($form, $maj);
109     //
110 fraynaud 20 if ($maj < 2) {
111     $form->setType('categorie', 'select');
112     $form->setType('dossier', 'hiddenstatic');
113     }else{
114     $form->setType('blocnote', 'hiddenstatic');
115     $form->setType('destination', 'hiddenstatic');
116     $form->setType('dossier', 'hiddenstatic');
117     }
118 fmichon 1761
119     //
120     if ($this->getParameter("retourformulaire") == "dossier"
121     || $this->getParameter("retourformulaire") == "dossier_instruction"
122     || $this->getParameter("retourformulaire") == "dossier_instruction_mes_encours"
123     || $this->getParameter("retourformulaire") == "dossier_instruction_tous_encours"
124     || $this->getParameter("retourformulaire") == "dossier_instruction_mes_clotures"
125     || $this->getParameter("retourformulaire") == "dossier_instruction_tous_clotures") {
126     //
127     $form->setType('dossier', 'hidden');
128     }
129 fraynaud 20 }
130    
131    
132    
133     function setSelect(&$form, $maj,$db,$debug) {
134     $contenu=array();
135     $contenu[0]=array(_('divers'),_('amenagement'),
136 fraynaud 273 _('construction'),_('demolition'),_('contentieux'));
137 fraynaud 20 $contenu[1]=array(_('divers'),_('amenagement'),
138 fraynaud 273 _('construction'),_('demolition'),_('contentieux'));
139 fraynaud 20 $form->setSelect("categorie",$contenu);
140     }
141 fmichon 1761 }
142    
143 fraynaud 273 ?>

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26