1 |
mbroquet |
3730 |
<?php |
2 |
nhaye |
5254 |
/** |
3 |
|
|
* DBFORM - 'blocnote' - Surcharge gen. |
4 |
|
|
* |
5 |
|
|
* Ce script permet de définir la classe 'blocnote'. |
6 |
|
|
* |
7 |
|
|
* @package openads |
8 |
softime |
6929 |
* @version SVN : $Id: blocnote.class.php 6565 2017-04-21 16:14:15Z softime $ |
9 |
nhaye |
5254 |
*/ |
10 |
mbroquet |
3730 |
|
11 |
nhaye |
5254 |
require_once "../gen/obj/blocnote.class.php"; |
12 |
|
|
|
13 |
mbroquet |
3730 |
class blocnote extends blocnote_gen { |
14 |
|
|
|
15 |
nmeucci |
5620 |
/** |
16 |
mbroquet |
3730 |
* Définition des actions disponibles sur la classe. |
17 |
|
|
* |
18 |
|
|
* @return void |
19 |
|
|
*/ |
20 |
|
|
function init_class_actions() { |
21 |
|
|
|
22 |
|
|
parent::init_class_actions(); |
23 |
|
|
|
24 |
|
|
// ACTION - 000 - ajouter |
25 |
|
|
// |
26 |
softime |
6565 |
$this->class_actions[0]["condition"] = array("is_ajoutable", "can_user_access_dossier_contexte_ajout"); |
27 |
mbroquet |
3730 |
|
28 |
|
|
// ACTION - 001 - modifier |
29 |
|
|
// |
30 |
softime |
6565 |
$this->class_actions[1]["condition"] = array("is_modifiable", "can_user_access_dossier_contexte_modification"); |
31 |
mbroquet |
3730 |
|
32 |
|
|
// ACTION - 002 - supprimer |
33 |
|
|
// |
34 |
softime |
6565 |
$this->class_actions[2]["condition"] = array("is_supprimable", "can_user_access_dossier_contexte_modification"); |
35 |
mbroquet |
3730 |
} |
36 |
|
|
|
37 |
softime |
8989 |
/** |
38 |
|
|
* SETTER_FORM - setValsousformulaire (setVal). |
39 |
|
|
* |
40 |
|
|
* @return void |
41 |
|
|
*/ |
42 |
softime |
6929 |
function setValsousformulaire(&$form, $maj, $validation, $idxformulaire, $retourformulaire, $typeformulaire, &$dnu1 = null, $dnu2 = null) { |
43 |
softime |
8989 |
// parent::setValsousformulaire($form, $maj, $validation, $idxformulaire, $retourformulaire, $typeformulaire); |
44 |
|
|
if ($validation == 0) { |
45 |
|
|
if ($maj == 0) { |
46 |
mbroquet |
3730 |
$form->setVal("dossier", $idxformulaire); |
47 |
|
|
} |
48 |
|
|
} |
49 |
|
|
} |
50 |
|
|
|
51 |
|
|
function setLib(&$form, $maj) { |
52 |
|
|
// |
53 |
|
|
parent::setLib($form, $maj); |
54 |
|
|
// |
55 |
|
|
$form->setLib($this->clePrimaire, _("id")); |
56 |
|
|
} |
57 |
|
|
|
58 |
|
|
function setType(&$form, $maj) { |
59 |
|
|
// |
60 |
|
|
parent::setType($form, $maj); |
61 |
|
|
// |
62 |
|
|
if ($maj < 2) { |
63 |
|
|
$form->setType('categorie', 'select'); |
64 |
|
|
$form->setType('dossier', 'hiddenstatic'); |
65 |
|
|
}else{ |
66 |
|
|
$form->setType('blocnote', 'hiddenstatic'); |
67 |
|
|
$form->setType('destination', 'hiddenstatic'); |
68 |
|
|
$form->setType('dossier', 'hiddenstatic'); |
69 |
|
|
} |
70 |
|
|
|
71 |
|
|
// |
72 |
softime |
8989 |
if ($this->is_in_context_of_foreign_key("dossier", $this->getParameter("retourformulaire")) === true) { |
73 |
mbroquet |
3730 |
$form->setType('dossier', 'hidden'); |
74 |
|
|
} |
75 |
|
|
} |
76 |
|
|
|
77 |
|
|
|
78 |
softime |
8989 |
/** |
79 |
|
|
* SETTER_FORM - setSelect. |
80 |
|
|
* |
81 |
|
|
* @return void |
82 |
|
|
*/ |
83 |
|
|
function setSelect(&$form, $maj, &$dnu1 = null, $dnu2 = null) { |
84 |
|
|
//parent::setSelect($form, $maj); |
85 |
mbroquet |
3730 |
$contenu=array(); |
86 |
|
|
$contenu[0]=array( |
87 |
|
|
_('reprise'), |
88 |
|
|
_('suivi projet'), |
89 |
|
|
_('contentieux'), |
90 |
|
|
_('divers'), |
91 |
|
|
); |
92 |
|
|
$contenu[1]=array( |
93 |
|
|
_('reprise'), |
94 |
|
|
_('suivi projet'), |
95 |
|
|
_('contentieux'), |
96 |
|
|
_('divers'), |
97 |
|
|
); |
98 |
|
|
$form->setSelect("categorie",$contenu); |
99 |
|
|
} |
100 |
|
|
|
101 |
|
|
/** |
102 |
|
|
* CONDITION - is_ajoutable. |
103 |
|
|
* |
104 |
|
|
* Condition pour pouvoir ajouter |
105 |
|
|
* |
106 |
|
|
* @return boolean |
107 |
|
|
*/ |
108 |
|
|
function is_ajoutable() { |
109 |
softime |
6565 |
// Si bypass |
110 |
softime |
7996 |
if ($this->f->can_bypass($this->get_absolute_class_name(), "ajouter")){ |
111 |
mbroquet |
3730 |
return true; |
112 |
|
|
} |
113 |
|
|
// Test des autres conditions |
114 |
|
|
return $this->is_ajoutable_or_modifiable_or_supprimable(); |
115 |
|
|
} |
116 |
|
|
|
117 |
|
|
/** |
118 |
|
|
* CONDITION - is_modifiable. |
119 |
|
|
* |
120 |
|
|
* Condition pour afficher le bouton modifier |
121 |
|
|
* |
122 |
|
|
* @return boolean |
123 |
|
|
*/ |
124 |
|
|
function is_modifiable() { |
125 |
softime |
6565 |
// Si bypass |
126 |
softime |
7996 |
if ($this->f->can_bypass($this->get_absolute_class_name(), "modifier")){ |
127 |
mbroquet |
3730 |
return true; |
128 |
|
|
} |
129 |
|
|
// Test des autres conditions |
130 |
|
|
return $this->is_ajoutable_or_modifiable_or_supprimable(); |
131 |
|
|
} |
132 |
|
|
|
133 |
|
|
/** |
134 |
|
|
* CONDITION - is_supprimable. |
135 |
|
|
* |
136 |
|
|
* Condition pour afficher le bouton supprimer |
137 |
|
|
* @return boolean |
138 |
|
|
*/ |
139 |
|
|
function is_supprimable() { |
140 |
softime |
6565 |
// Si bypass |
141 |
softime |
7996 |
if ($this->f->can_bypass($this->get_absolute_class_name(), "supprimer")){ |
142 |
mbroquet |
3730 |
return true; |
143 |
|
|
} |
144 |
|
|
// Test des autres conditions |
145 |
|
|
return $this->is_ajoutable_or_modifiable_or_supprimable(); |
146 |
|
|
} |
147 |
|
|
|
148 |
|
|
/** |
149 |
|
|
* Conditions pour afficher les boutons modifier et supprimer |
150 |
|
|
* |
151 |
|
|
* @return boolean |
152 |
|
|
*/ |
153 |
|
|
function is_ajoutable_or_modifiable_or_supprimable() { |
154 |
softime |
6565 |
// Tester si le dossier est cloturé , |
155 |
|
|
// et si l'instructeur est de la même division |
156 |
|
|
if ($this->is_instructeur_from_division_dossier() === true and |
157 |
|
|
$this->is_dossier_instruction_not_closed() === true){ |
158 |
|
|
return true; |
159 |
mbroquet |
3730 |
} |
160 |
softime |
6565 |
|
161 |
|
|
return false; |
162 |
|
|
} |
163 |
|
|
|
164 |
|
|
/* |
165 |
|
|
* CONDITION - can_user_access_dossier_contexte_ajout |
166 |
|
|
* |
167 |
|
|
* Vérifie que l'utilisateur a bien accès au dossier d'instruction passé dans le |
168 |
|
|
* formulaire d'ajout. |
169 |
|
|
* Cette méthode vérifie que l'utilisateur est lié au groupe du dossier, et si le |
170 |
|
|
* dossier est confidentiel qu'il a accès aux confidentiels de ce groupe. |
171 |
|
|
* |
172 |
|
|
*/ |
173 |
|
|
function can_user_access_dossier_contexte_ajout() { |
174 |
|
|
|
175 |
|
|
($this->f->get_submitted_get_value('idxformulaire') !== null ? $id_dossier = |
176 |
|
|
$this->f->get_submitted_get_value('idxformulaire') : $id_dossier = ""); |
177 |
mbroquet |
3730 |
// |
178 |
softime |
6565 |
if ($id_dossier !== "") { |
179 |
softime |
7996 |
$dossier = $this->f->get_inst__om_dbform(array( |
180 |
|
|
"obj" => "dossier_instruction", |
181 |
|
|
"idx" => $id_dossier, |
182 |
|
|
)); |
183 |
softime |
6565 |
// |
184 |
|
|
return $dossier->can_user_access_dossier(); |
185 |
mbroquet |
3730 |
} |
186 |
softime |
6565 |
return false; |
187 |
mbroquet |
3730 |
} |
188 |
nhaye |
5254 |
|
189 |
softime |
6565 |
/* |
190 |
|
|
* CONDITION - can_user_access_dossier_contexte_modification |
191 |
nmeucci |
5620 |
* |
192 |
softime |
6565 |
* Vérifie que l'utilisateur a bien accès au dossier lié à la commission instanciée. |
193 |
|
|
* Cette méthode vérifie que l'utilisateur est lié au groupe du dossier, et si le |
194 |
|
|
* dossier est confidentiel qu'il a accès aux confidentiels de ce groupe. |
195 |
|
|
* |
196 |
nmeucci |
5620 |
*/ |
197 |
softime |
6565 |
function can_user_access_dossier_contexte_modification() { |
198 |
nmeucci |
5620 |
|
199 |
softime |
6565 |
$id_dossier = $this->getVal('dossier'); |
200 |
|
|
// |
201 |
|
|
if ($id_dossier !== "" && $id_dossier !== null) { |
202 |
softime |
7996 |
$dossier = $this->f->get_inst__om_dbform(array( |
203 |
|
|
"obj" => "dossier_instruction", |
204 |
|
|
"idx" => $id_dossier, |
205 |
|
|
)); |
206 |
softime |
6565 |
// |
207 |
|
|
return $dossier->can_user_access_dossier(); |
208 |
nmeucci |
5620 |
} |
209 |
softime |
6565 |
return false; |
210 |
nmeucci |
5620 |
} |
211 |
|
|
|
212 |
mbroquet |
3730 |
} |
213 |
|
|
|
214 |
softime |
7996 |
|