Blame view

src/Template/Element/menu_view.ctp 10.4 KB
f4e6dc02   Alexandre   Version: 2.5.2.0
1
2
3
4
<?php 
use Cake\ORM\TableRegistry;
?>

4260780b   Alexandre   Migration vue, co...
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<h3 style="margin-top: 20px;"><?php echo $pluralHumanName;?></h3>
<ul>
	<?php
	/**
	 * menu_vieuw.ctp
	 * Lower left menu bar definition
	 * Buttons definition and action : "retour a la liste"  + "Edit" + "Suppr." 
	 * Used with dom, categorie,sscat, emprunt, suivi, utilisateur
	 */
		$t = strtolower($singularHumanName);
		$t = str_replace('groupes', 'groupe', $t);
		$t = str_replace('thematique', 'thémat.', $t);
		$t = str_replace('metier', 'métier', $t);
		$t = str_replace('categorie', 'catégorie', $t);
69ea278c   Alexis Proust   mise a jour fichier
19
		$t = str_replace('unite','unité',$t);
4260780b   Alexandre   Migration vue, co...
20
21
22
23
	?>
	<!-- RETOUR action -->
	<li>
		<?php
bc2274a0   Alexandre   Version: 2.4.6.3
24
		if($this->request->session()->read("retourForm1")) {
3ef8f907   Alexandre   Version: 2.4.5.0
25
26
27
28
29
			echo $this->Html->link ('<i class="icon-arrow-left"></i> Retour', 'javascript:window.history.go(-2)', ['escape' => false]);
		} else {
			echo $this->Html->link ('<i class="icon-arrow-left"></i> Retour', 'javascript:window.history.go(-1)', ['escape' => false]);	
		}
				
602e9d7a   Alexandre   Version: 2.5.5.0
30
31
		
				
4260780b   Alexandre   Migration vue, co...
32
33
34
35
36
		?>
	</li>
	
	<!-- EDIT action -->
	<li><?php
8b90af53   Alexandre   Version: 2.4.2.12
37
	$isAuthorized = false;
9fc6b8a2   Alexandre   Version: 2.4.2.6
38
39
40
	
	if($singularHumanName == 'Matériel') {
		if (in_array($materiel->status, ['CREATED', 'VALIDATED'])) {
69ea278c   Alexis Proust   mise a jour fichier
41
			if((($role == 'Utilisateur'|| $role == 'Responsable') && (in_array($username, [$materiel->nom_createur, $materiel->nom_responsable]))) || (in_array($role, ['Administration', 'Administration Plus', 'Super Administrateur']))) {
8b90af53   Alexandre   Version: 2.4.2.12
42
				$isAuthorized = true;
602e9d7a   Alexandre   Version: 2.5.5.0
43
44
45
46
47
48
49
50
51
52
			} else if($role == 'Responsable') {
				if(isset($userConnected->groupes_metier_id) && $userConnected->groupes_metier_id != $idGmNa && $materiel->groupes_metier_id == $userConnected->groupes_metier_id) {
					$isAuthorized = true;
				}
				else if (isset($userConnected->groupe_thematique_id) && $userConnected->groupe_thematique_id != $idGtNa && $materiel->groupes_thematique_id == $userConnected->groupe_thematique_id) {
					$isAuthorized = true;
				}
				else {
					$isAuthorized = false;
				}
9fc6b8a2   Alexandre   Version: 2.4.2.6
53
54
55
			}
		}else {
			if(in_array($role, ['Administration Plus', 'Super Administrateur'])) {
8b90af53   Alexandre   Version: 2.4.2.12
56
				$isAuthorized = true;
9fc6b8a2   Alexandre   Version: 2.4.2.6
57
58
59
60
			}
		}
	}
	else if (in_array($singularHumanName, ['Suivi', 'Emprunt'])) {
bc2274a0   Alexandre   Version: 2.4.6.3
61
		if (in_array($role, ['Administration', 'Administration Plus', 'Super Administrateur'])) {
8b90af53   Alexandre   Version: 2.4.2.12
62
			$isAuthorized = true;
9fc6b8a2   Alexandre   Version: 2.4.2.6
63
64
65
		}else {
			if($singularHumanName == 'Suivi') {
				if(in_array($username, [$suivi->nom_createur])) {
8b90af53   Alexandre   Version: 2.4.2.12
66
					$isAuthorized = true;
9fc6b8a2   Alexandre   Version: 2.4.2.6
67
				}
602e9d7a   Alexandre   Version: 2.5.5.0
68
69
70
71
72
73
74
75
76
77
				else if($role == 'Responsable') {
					if(isset($userConnected->groupes_metier_id) && $userConnected->groupes_metier_id != $idGmNa && $suivi->groupes_metier_id == $userConnected->groupes_metier_id) {
						$isAuthorized = true;
					}
					else if (isset($userConnected->groupe_thematique_id) && $userConnected->groupe_thematique_id != $idGtNa && $suivi->groupes_thematique_id == $userConnected->groupe_thematique_id) {
						$isAuthorized = true;
					}
					else {
						$isAuthorized = false;
					}
bc2274a0   Alexandre   Version: 2.4.6.3
78
				}
9fc6b8a2   Alexandre   Version: 2.4.2.6
79
80
			} else {
				if(in_array($username, [$emprunt->nom_createur, $emprunt->nom_emprunteur])) {
8b90af53   Alexandre   Version: 2.4.2.12
81
					$isAuthorized = true;
9fc6b8a2   Alexandre   Version: 2.4.2.6
82
				}
bc2274a0   Alexandre   Version: 2.4.6.3
83
84
85
				else if ($role == 'Responsable') {
					$isAuthorized = true;
				}
9fc6b8a2   Alexandre   Version: 2.4.2.6
86
87
88
89
90
			}
		}
	}
	else if ($singularHumanName == 'Utilisateur') {
		if($role == 'Super Administrateur') {
8b90af53   Alexandre   Version: 2.4.2.12
91
			$isAuthorized = true;
9fc6b8a2   Alexandre   Version: 2.4.2.6
92
93
		}
	}
69ea278c   Alexis Proust   mise a jour fichier
94
95
96
97
98
99
100
	else if ($singularHumanName == 'Fournisseur') {
		if($role == 'Super Administrateur') {
			$isAuthorized = true;
		}else if($role == 'Administration') {
					$isAuthorized = true;
				}
	}
f4e6dc02   Alexandre   Version: 2.5.2.0
101
102
103
104
	else if ($singularHumanName == 'Document') {
		if(in_array($role, ['Administration', 'Administration Plus', 'Super Administrateur'])) {
			$isAuthorized = true;
		}
a0fefb3d   Thibaud Ajas   bugfixes suite au...
105
		$doc = TableRegistry::get('Documents')->get((int)$this->request->getAttribute('params')['pass'][0]);
f4e6dc02   Alexandre   Version: 2.5.2.0
106
107
108
109
110

			$id = $doc->get('materiel_id');
			
			if(empty($id)) {
				$id = $doc->get('suivi_id');
f4e6dc02   Alexandre   Version: 2.5.2.0
111
				if ($role == 'Responsable') {
602e9d7a   Alexandre   Version: 2.5.5.0
112
113
114
115
116
117
118
119
120
121
					$suiviTable = TableRegistry::get('Suivis');
					if(isset($userConnected->groupes_metier_id) && $userConnected->groupes_metier_id != $idGmNa) {
						$isAuthorized = ($suiviTable->exists(['id' => $id, 'groupes_metier_id' => $userConnected->groupes_metier_id]));
					}
					else if (isset($userConnected->groupe_thematique_id) && $userConnected->groupe_thematique_id != $idGtNa) {
						$isAuthorized = ($suiviTable->exists(['id' => $id, 'groupes_thematique_id' => $userConnected->groupe_thematique_id]));
					}
					else {
						$isAuthorized = false;
					}
f4e6dc02   Alexandre   Version: 2.5.2.0
122
123
124
125
126
				}
				if ($role == 'Utilisateur') {
					$isAuthorized = $suiviTable->exists(['id' => $id, 'nom_createur' => $username]);
				}
			} else {
69ea278c   Alexis Proust   mise a jour fichier
127
				$materielTable = TableRegistry::get('Materiels');
f4e6dc02   Alexandre   Version: 2.5.2.0
128
				if ($role == 'Responsable') {
69ea278c   Alexis Proust   mise a jour fichier
129
				
602e9d7a   Alexandre   Version: 2.5.5.0
130
131
132
133
134
135
136
137
138
					if(isset($userConnected->groupes_metier_id) && $userConnected->groupes_metier_id != $idGmNa) {
						$isAuthorized = ($materielTable->exists(['id' => $id, 'groupes_metier_id' => $userConnected->groupes_metier_id]));
					}
					else if (isset($userConnected->groupe_thematique_id) && $userConnected->groupe_thematique_id != $idGtNa) {
						$isAuthorized = ($materielTable->exists(['id' => $id, 'groupes_thematique_id' => $userConnected->groupe_thematique_id]));
					}
					else {
						$isAuthorized = false;
					}	
f4e6dc02   Alexandre   Version: 2.5.2.0
139
140
141
142
143
144
				}
				if ($role == 'Utilisateur') {
					$isAuthorized = ($materielTable->exists(['id' => $id, 'nom_createur' => $username]) || $materielTable->exists(['id' => $id, 'nom_responsable' => $username]));
				}		
			}
			
69ea278c   Alexis Proust   mise a jour fichier
145
146
147
148
149
150
151
	}else if ($singularHumanName == 'Formulaire') {
		
			$isAuthorized = false;
		
	}else {
 		if (in_array($role, ['Administration Plus', 'Super Administrateur'])) {
 			$isAuthorized = true;
9fc6b8a2   Alexandre   Version: 2.4.2.6
152
153
		}
	}
8b90af53   Alexandre   Version: 2.4.2.12
154
	if ($isAuthorized == true) {
9b4da83b   Alexandre   Version: 2.5.0.0
155
			$action = '';
69ea278c   Alexis Proust   mise a jour fichier
156
			if(strstr($t, 'catégorie') || strstr($t,'unité') ||  strstr($t,'formule'))
9b4da83b   Alexandre   Version: 2.5.0.0
157
158
159
160
161
				$action = ' Editer cette';
			elseif ( strstr($t, 'utilisateur') || strstr($t, 'emprunt'))
				$action = ' Editer cet';
			else
				$action = ' Editer ce';
9fc6b8a2   Alexandre   Version: 2.4.2.6
162
	
9b4da83b   Alexandre   Version: 2.5.0.0
163
			$action = "$action $t";
9fc6b8a2   Alexandre   Version: 2.4.2.6
164
	
9b4da83b   Alexandre   Version: 2.5.0.0
165
166
167
168
			echo $this->Html->link('<i class="icon-pencil"></i>' . $action,
				['action' => 'edit', $lien],
				['escape' => false,'onclick' => 'return true;']
				);
9fc6b8a2   Alexandre   Version: 2.4.2.6
169
170
171
172
173
	}
	



4260780b   Alexandre   Migration vue, co...
174
175
176
177
178
179
		?>
	</li>
	
	<!-- DELETE action -->
	<li>
		<?php 
8b90af53   Alexandre   Version: 2.4.2.12
180
		$isAuthorized = false;
9fc6b8a2   Alexandre   Version: 2.4.2.6
181
182
183
		
		if($singularHumanName == 'Matériel') {
			if ($materiel->status == 'CREATED') {
69ea278c   Alexis Proust   mise a jour fichier
184
				if((($role == 'Utilisateur' || $role == 'Responsable') && (in_array($username, [$materiel->nom_createur, $materiel->nom_responsable]))) || (in_array($role, ['Administration', 'Administration Plus', 'Super Administrateur']))) {
8b90af53   Alexandre   Version: 2.4.2.12
185
					$isAuthorized = true;
602e9d7a   Alexandre   Version: 2.5.5.0
186
187
188
189
190
191
192
193
194
195
196
				} 
				else if($role == 'Responsable') {
					if(isset($userConnected->groupes_metier_id) && $userConnected->groupes_metier_id != $idGmNa && $materiel->groupes_metier_id == $userConnected->groupes_metier_id) {
						$isAuthorized = true;
					}
					else if (isset($userConnected->groupe_thematique_id) && $userConnected->groupe_thematique_id != $idGtNa && $materiel->groupes_thematique_id == $userConnected->groupe_thematique_id) {
						$isAuthorized = true;
					}
					else {
						$isAuthorized = false;
					}
9fc6b8a2   Alexandre   Version: 2.4.2.6
197
198
199
200
				}
			}
		}
		else if (in_array($singularHumanName, ['Suivi', 'Emprunt'])) {
bc2274a0   Alexandre   Version: 2.4.6.3
201
			if (in_array($role, ['Administration', 'Administration Plus', 'Super Administrateur'])) {
8b90af53   Alexandre   Version: 2.4.2.12
202
				$isAuthorized = true;
9fc6b8a2   Alexandre   Version: 2.4.2.6
203
204
205
			}else {
				if($singularHumanName == 'Suivi') {
					if(in_array($username, [$suivi->nom_createur])) {
8b90af53   Alexandre   Version: 2.4.2.12
206
						$isAuthorized = true;
bc2274a0   Alexandre   Version: 2.4.6.3
207
					} 
602e9d7a   Alexandre   Version: 2.5.5.0
208
209
210
211
212
213
214
215
216
217
					else if($role == 'Responsable') {
						if(isset($userConnected->groupes_metier_id) && $userConnected->groupes_metier_id != $idGmNa && $suivi->groupes_metier_id == $userConnected->groupes_metier_id) {
							$isAuthorized = true;
						}
						else if (isset($userConnected->groupe_thematique_id) && $userConnected->groupe_thematique_id != $idGtNa && $suivi->groupes_thematique_id == $userConnected->groupe_thematique_id) {
							$isAuthorized = true;
						}
						else {
							$isAuthorized = false;
						}
9fc6b8a2   Alexandre   Version: 2.4.2.6
218
219
220
					}
				} else {
					if(in_array($username, [$emprunt->nom_createur, $emprunt->nom_emprunteur])) {
8b90af53   Alexandre   Version: 2.4.2.12
221
						$isAuthorized = true;
9fc6b8a2   Alexandre   Version: 2.4.2.6
222
					}
bc2274a0   Alexandre   Version: 2.4.6.3
223
224
225
					else if ($role == 'Responsable') {
						$isAuthorized = true;
					}
9fc6b8a2   Alexandre   Version: 2.4.2.6
226
227
				}
			}
602e9d7a   Alexandre   Version: 2.5.5.0
228
229
230
231
232
		} 	
		else if ($singularHumanName == 'Document') {
		if(in_array($role, ['Administration', 'Administration Plus', 'Super Administrateur'])) {
			$isAuthorized = true;
		}
a0fefb3d   Thibaud Ajas   bugfixes suite au...
233
		$doc = TableRegistry::get('Documents')->get((int)$this->request->getAttribute('params')['pass'][0]);
602e9d7a   Alexandre   Version: 2.5.5.0
234

f4e6dc02   Alexandre   Version: 2.5.2.0
235
			$id = $doc->get('materiel_id');
602e9d7a   Alexandre   Version: 2.5.5.0
236
			
f4e6dc02   Alexandre   Version: 2.5.2.0
237
238
			if(empty($id)) {
				$id = $doc->get('suivi_id');
f4e6dc02   Alexandre   Version: 2.5.2.0
239
				if ($role == 'Responsable') {
602e9d7a   Alexandre   Version: 2.5.5.0
240
241
242
243
244
245
246
247
248
249
					$suiviTable = TableRegistry::get('Suivis');
					if(isset($userConnected->groupes_metier_id) && $userConnected->groupes_metier_id != $idGmNa) {
						$isAuthorized = ($suiviTable->exists(['id' => $id, 'groupes_metier_id' => $userConnected->groupes_metier_id]));
					}
					else if (isset($userConnected->groupe_thematique_id) && $userConnected->groupe_thematique_id != $idGtNa) {
						$isAuthorized = ($suiviTable->exists(['id' => $id, 'groupes_thematique_id' => $userConnected->groupe_thematique_id]));
					}
					else {
						$isAuthorized = false;
					}
f4e6dc02   Alexandre   Version: 2.5.2.0
250
251
252
253
254
				}
				if ($role == 'Utilisateur') {
					$isAuthorized = $suiviTable->exists(['id' => $id, 'nom_createur' => $username]);
				}
			} else {
69ea278c   Alexis Proust   mise a jour fichier
255
				$materielTable = TableRegistry::get('Materiels');
f4e6dc02   Alexandre   Version: 2.5.2.0
256
				if ($role == 'Responsable') {
602e9d7a   Alexandre   Version: 2.5.5.0
257
258
259
260
261
262
263
264
265
					if(isset($userConnected->groupes_metier_id) && $userConnected->groupes_metier_id != $idGmNa) {
						$isAuthorized = ($materielTable->exists(['id' => $id, 'groupes_metier_id' => $userConnected->groupes_metier_id]));
					}
					else if (isset($userConnected->groupe_thematique_id) && $userConnected->groupe_thematique_id != $idGtNa) {
						$isAuthorized = ($materielTable->exists(['id' => $id, 'groupes_thematique_id' => $userConnected->groupe_thematique_id]));
					}
					else {
						$isAuthorized = false;
					}	
f4e6dc02   Alexandre   Version: 2.5.2.0
266
267
268
				}
				if ($role == 'Utilisateur') {
					$isAuthorized = ($materielTable->exists(['id' => $id, 'nom_createur' => $username]) || $materielTable->exists(['id' => $id, 'nom_responsable' => $username]));
602e9d7a   Alexandre   Version: 2.5.5.0
269
				}		
f4e6dc02   Alexandre   Version: 2.5.2.0
270
			}
602e9d7a   Alexandre   Version: 2.5.5.0
271
272
			
	}
9fc6b8a2   Alexandre   Version: 2.4.2.6
273
274
		else {
			if (in_array($role, ['Super Administrateur'])) {
8b90af53   Alexandre   Version: 2.4.2.12
275
				$isAuthorized = true;
9fc6b8a2   Alexandre   Version: 2.4.2.6
276
277
278
			}
		}
		
8b90af53   Alexandre   Version: 2.4.2.12
279
		if($isAuthorized == true) {
f4e6dc02   Alexandre   Version: 2.5.2.0
280
				$action = ''; 
69ea278c   Alexis Proust   mise a jour fichier
281
				if(strstr($t, 'catégorie') || strstr($t,'unité') || strstr($t,'formule'))
f4e6dc02   Alexandre   Version: 2.5.2.0
282
283
284
285
286
					$action = ' Supprimer cette';
				elseif ( strstr($t, 'utilisateur') || strstr($t, 'emprunt') )
					$action = ' Supprimer cet';
				else 
					$action = ' Supprimer ce';
4260780b   Alexandre   Migration vue, co...
287
			
f4e6dc02   Alexandre   Version: 2.5.2.0
288
289
290
				echo $this->Form->postLink('<i class="icon-trash"></i>' . $action . ' ' . $t,
					['action' => 'delete', $lien],
					['escape' => false, 'confirm' => __('Êtes-vous sur de vouloir supprimer '.$lien.' ?')]);
b9143fb9   Alexandre   Ajout page pdo_er...
291
292
		}

4260780b   Alexandre   Migration vue, co...
293
294
295
				
		?>
	</li>
9fc6b8a2   Alexandre   Version: 2.4.2.6
296
</ul>