1: <?php
2: namespace Budovy;
3:
4: class RoleRepository extends Repository {
5: 6: 7: 8: 9:
10: function getPairData() {
11: return $this->getTable()->select('code, name')->order('name ASC')->fetchPairs('code', 'name');
12: }
13:
14: public function isAllowed(\Nette\Security\User $user, $presenterName, $actionName, $parameter) {
15: switch ($presenterName) {
16: case 'Statistic':
17: if (!$user->isAllowed('statistic', 'view')) {
18: return false;
19: }
20:
21: break;
22:
23: case 'User':
24: if (!$user->isAllowed('user', 'view')) {
25: return false;
26: }
27:
28: break;
29:
30: case 'ScheduledTask':
31: case 'PeriodicTask':
32: case 'Breakdown':
33: switch ($actionName) {
34: case 'create':
35: case 'edit':
36: if (!$user->isAllowed('task', 'edit')) {
37: return false;
38: }
39:
40: break;
41:
42: case 'realize':
43: if (!$user->isAllowed('task', 'realize')) {
44: return false;
45: }
46:
47: break;
48: }
49:
50: if ($parameter != null) {
51: switch ($parameter) {
52: case 'Delete':
53: if (!$user->isAllowed('task', 'delete')) {
54: return false;
55: }
56:
57: break;
58:
59: case 'Authorize':
60: if (!$user->isAllowed('task', 'authorize')) {
61: return false;
62: }
63:
64: break;
65: }
66: }
67:
68: break;
69:
70: case 'Document':
71: switch ($actionName) {
72: case 'default':
73: case 'preview':
74: if (!$user->isAllowed('document', 'view')) {
75: return false;
76: }
77:
78: break;
79: case 'create':
80: case 'edit':
81: if (!$user->isAllowed('document', 'edit')) {
82: return false;
83: }
84:
85: break;
86: }
87:
88: if ($parameter != null) {
89: switch ($parameter) {
90: case 'Delete':
91: if (!$user->isAllowed('document', 'delete')) {
92: return false;
93: }
94:
95: break;
96: }
97: }
98:
99: break;
100:
101: case 'Unit':
102: case 'Operation':
103: case 'Contact':
104: case 'Contactbinding':
105: switch ($actionName) {
106: case 'default':
107: case 'preview':
108: if (!$user->isAllowed('setup', 'view')) {
109: return false;
110: }
111:
112: break;
113: case 'create':
114: case 'edit':
115: if (!$user->isAllowed('setup', 'edit')) {
116: return false;
117: }
118:
119: break;
120: }
121:
122: if ($parameter != null) {
123: switch ($parameter) {
124: case 'Delete':
125: if (!$user->isAllowed('setup', 'delete')) {
126: return false;
127: }
128:
129: break;
130: }
131: }
132:
133: break;
134: }
135:
136: return true;
137: }
138: }