11
11
use App \Models \FormField ;
12
12
use Illuminate \Support \Facades \Auth ;
13
13
use Spatie \Permission \Models \Role ;
14
+ use Spatie \Permission \Models \Permission ;
14
15
15
16
class ResourceController extends Controller
16
17
{
@@ -22,7 +23,14 @@ class ResourceController extends Controller
22
23
public function index ($ table , Request $ request )
23
24
{
24
25
$ role = Role::where ('name ' , '= ' , 'guest ' )->first ();
25
- if (!$ role ->hasPermissionTo ('browse bread ' . $ table )){
26
+ try {
27
+ if ($ role ->hasPermissionTo ('browse bread ' . $ table )){
28
+ $ guestHasPermission = true ;
29
+ }
30
+ } catch (\Throwable $ e ) {
31
+ $ guestHasPermission = false ;
32
+ }
33
+ if (!$ guestHasPermission ){
26
34
if (empty (Auth::user ())){
27
35
abort ('401 ' );
28
36
}else {
@@ -52,15 +60,22 @@ public function index($table, Request $request)
52
60
public function create ($ table , Request $ request )
53
61
{
54
62
$ role = Role::where ('name ' , '= ' , 'guest ' )->first ();
55
- if (!$ role ->hasPermissionTo ('add bread ' . $ table )){
63
+ try {
64
+ if ($ role ->hasPermissionTo ('add bread ' . $ table )){
65
+ $ guestHasPermission = true ;
66
+ }
67
+ } catch (\Throwable $ e ) {
68
+ $ guestHasPermission = false ;
69
+ }
70
+ if (!$ guestHasPermission ){
56
71
if (empty (Auth::user ())){
57
72
abort ('401 ' );
58
73
}else {
59
74
if (!Auth::user ()->can ('add bread ' . $ table )){
60
75
abort ('401 ' );
61
76
}
62
77
}
63
- }
78
+ }
64
79
$ form = Form::find ( $ table );
65
80
if ($ form ->add == 1 ){
66
81
$ resourceService = new ResourceService ();
@@ -74,8 +89,7 @@ public function create($table, Request $request)
74
89
'inputOptions ' => $ formService ->getFromOptionsStandardInput (),
75
90
]);
76
91
}else {
77
- $ request ->session ()->flash ('message ' , 'Add to table is not enable ' );
78
- return redirect ()->route ('resource.index ' , $ table );
92
+ abort ('401 ' );
79
93
}
80
94
}
81
95
@@ -88,15 +102,22 @@ public function create($table, Request $request)
88
102
public function store ($ table , Request $ request )
89
103
{
90
104
$ role = Role::where ('name ' , '= ' , 'guest ' )->first ();
91
- if (!$ role ->hasPermissionTo ('add bread ' . $ table )){
105
+ try {
106
+ if ($ role ->hasPermissionTo ('add bread ' . $ table )){
107
+ $ guestHasPermission = true ;
108
+ }
109
+ } catch (\Throwable $ e ) {
110
+ $ guestHasPermission = false ;
111
+ }
112
+ if (!$ guestHasPermission ){
92
113
if (empty (Auth::user ())){
93
114
abort ('401 ' );
94
115
}else {
95
116
if (!Auth::user ()->can ('add bread ' . $ table )){
96
117
abort ('401 ' );
97
118
}
98
119
}
99
- }
120
+ }
100
121
$ toValidate = array ();
101
122
$ form = Form::find ( $ table );
102
123
$ formFields = FormField::where ('form_id ' , '= ' , $ table )->where ('add ' , '= ' , '1 ' )->get ();
@@ -110,8 +131,7 @@ public function store($table, Request $request)
110
131
$ request ->session ()->flash ('message ' , 'Successfully added to ' . $ form ->name );
111
132
return redirect ()->route ('resource.index ' , $ table );
112
133
}else {
113
- $ request ->session ()->flash ('message ' , 'Add to table is not enable ' );
114
- return redirect ()->route ('resource.index ' , $ table );
134
+ abort ('401 ' );
115
135
}
116
136
}
117
137
@@ -121,18 +141,25 @@ public function store($table, Request $request)
121
141
* @param int $id
122
142
* @return \Illuminate\Http\Response
123
143
*/
124
- public function show ($ table , $ id )
144
+ public function show ($ table , $ id, Request $ request )
125
145
{
126
146
$ role = Role::where ('name ' , '= ' , 'guest ' )->first ();
127
- if (!$ role ->hasPermissionTo ('read bread ' . $ table )){
147
+ try {
148
+ if ($ role ->hasPermissionTo ('read bread ' . $ table )){
149
+ $ guestHasPermission = true ;
150
+ }
151
+ } catch (\Throwable $ e ) {
152
+ $ guestHasPermission = false ;
153
+ }
154
+ if (!$ guestHasPermission ){
128
155
if (empty (Auth::user ())){
129
156
abort ('401 ' );
130
157
}else {
131
158
if (!Auth::user ()->can ('read bread ' . $ table )){
132
159
abort ('401 ' );
133
160
}
134
161
}
135
- }
162
+ }
136
163
$ form = Form::find ( $ table );
137
164
if ($ form ->read == 1 ){
138
165
$ resourceService = new ResourceService ();
@@ -141,8 +168,7 @@ public function show($table, $id)
141
168
'columns ' => $ resourceService ->show ($ form ->id , $ form ->table_name , $ id ),
142
169
]);
143
170
}else {
144
- $ request ->session ()->flash ('message ' , 'Read this table is not enable ' );
145
- return redirect ()->route ('resource.index ' , $ table );
171
+ abort ('401 ' );
146
172
}
147
173
}
148
174
@@ -155,7 +181,14 @@ public function show($table, $id)
155
181
public function edit ($ table , $ id )
156
182
{
157
183
$ role = Role::where ('name ' , '= ' , 'guest ' )->first ();
158
- if (!$ role ->hasPermissionTo ('edit bread ' . $ table )){
184
+ try {
185
+ if ($ role ->hasPermissionTo ('edit bread ' . $ table )){
186
+ $ guestHasPermission = true ;
187
+ }
188
+ } catch (\Throwable $ e ) {
189
+ $ guestHasPermission = false ;
190
+ }
191
+ if (!$ guestHasPermission ){
159
192
if (empty (Auth::user ())){
160
193
abort ('401 ' );
161
194
}else {
@@ -176,8 +209,7 @@ public function edit($table, $id)
176
209
'id ' => $ id ,
177
210
]);
178
211
}else {
179
- $ request ->session ()->flash ('message ' , 'Edit table is not enable ' );
180
- return redirect ()->route ('resource.index ' , $ table );
212
+ abort ('401 ' );
181
213
}
182
214
}
183
215
@@ -191,7 +223,14 @@ public function edit($table, $id)
191
223
public function update ($ table , $ id , Request $ request )
192
224
{
193
225
$ role = Role::where ('name ' , '= ' , 'guest ' )->first ();
194
- if (!$ role ->hasPermissionTo ('edit bread ' . $ table )){
226
+ try {
227
+ if ($ role ->hasPermissionTo ('edit bread ' . $ table )){
228
+ $ guestHasPermission = true ;
229
+ }
230
+ } catch (\Throwable $ e ) {
231
+ $ guestHasPermission = false ;
232
+ }
233
+ if (!$ guestHasPermission ){
195
234
if (empty (Auth::user ())){
196
235
abort ('401 ' );
197
236
}else {
@@ -213,8 +252,7 @@ public function update($table, $id, Request $request)
213
252
$ request ->session ()->flash ('message ' , 'Successfully edited ' . $ form ->name );
214
253
return redirect ()->route ('resource.index ' , $ table );
215
254
}else {
216
- $ request ->session ()->flash ('message ' , 'Edit table is not enable ' );
217
- return redirect ()->route ('resource.index ' , $ table );
255
+ abort ('401 ' );
218
256
}
219
257
}
220
258
@@ -227,7 +265,14 @@ public function update($table, $id, Request $request)
227
265
public function destroy ($ table , Request $ request , $ id )
228
266
{
229
267
$ role = Role::where ('name ' , '= ' , 'guest ' )->first ();
230
- if (!$ role ->hasPermissionTo ('delete bread ' . $ table )){
268
+ try {
269
+ if ($ role ->hasPermissionTo ('delete bread ' . $ table )){
270
+ $ guestHasPermission = true ;
271
+ }
272
+ } catch (\Throwable $ e ) {
273
+ $ guestHasPermission = false ;
274
+ }
275
+ if (!$ guestHasPermission ){
231
276
if (empty (Auth::user ())){
232
277
abort ('401 ' );
233
278
}else {
@@ -246,8 +291,7 @@ public function destroy($table, Request $request, $id)
246
291
return view ('dashboard.resource.delete ' , ['table ' => $ table , 'id ' => $ id , 'formName ' => $ form ->name ]);
247
292
}
248
293
}else {
249
- $ request ->session ()->flash ('message ' , 'Delete object from table is not enable ' );
250
- return redirect ()->route ('resource.index ' , $ table );
294
+ abort ('401 ' );
251
295
}
252
296
}
253
297
}
0 commit comments