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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1908 - (show 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 <?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 function blocnote($id,&$db,$debug) {
9 $this->constructeur($id,$db,$debug);
10 }// fin constructeur
11
12 // {{{ 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 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
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 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
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 }
130
131
132
133 function setSelect(&$form, $maj,$db,$debug) {
134 $contenu=array();
135 $contenu[0]=array(_('divers'),_('amenagement'),
136 _('construction'),_('demolition'),_('contentieux'));
137 $contenu[1]=array(_('divers'),_('amenagement'),
138 _('construction'),_('demolition'),_('contentieux'));
139 $form->setSelect("categorie",$contenu);
140 }
141 }
142
143 ?>

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26