1111use App \Models \FormField ;
1212use Illuminate \Support \Facades \Auth ;
1313use Spatie \Permission \Models \Role ;
14+ use Spatie \Permission \Models \Permission ;
1415
1516class ResourceController extends Controller
1617{
@@ -22,7 +23,14 @@ class ResourceController extends Controller
2223 public function index ($ table , Request $ request )
2324 {
2425 $ 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 ){
2634 if (empty (Auth::user ())){
2735 abort ('401 ' );
2836 }else {
@@ -52,15 +60,22 @@ public function index($table, Request $request)
5260 public function create ($ table , Request $ request )
5361 {
5462 $ 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 ){
5671 if (empty (Auth::user ())){
5772 abort ('401 ' );
5873 }else {
5974 if (!Auth::user ()->can ('add bread ' . $ table )){
6075 abort ('401 ' );
6176 }
6277 }
63- }
78+ }
6479 $ form = Form::find ( $ table );
6580 if ($ form ->add == 1 ){
6681 $ resourceService = new ResourceService ();
@@ -74,8 +89,7 @@ public function create($table, Request $request)
7489 'inputOptions ' => $ formService ->getFromOptionsStandardInput (),
7590 ]);
7691 }else {
77- $ request ->session ()->flash ('message ' , 'Add to table is not enable ' );
78- return redirect ()->route ('resource.index ' , $ table );
92+ abort ('401 ' );
7993 }
8094 }
8195
@@ -88,15 +102,22 @@ public function create($table, Request $request)
88102 public function store ($ table , Request $ request )
89103 {
90104 $ 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 ){
92113 if (empty (Auth::user ())){
93114 abort ('401 ' );
94115 }else {
95116 if (!Auth::user ()->can ('add bread ' . $ table )){
96117 abort ('401 ' );
97118 }
98119 }
99- }
120+ }
100121 $ toValidate = array ();
101122 $ form = Form::find ( $ table );
102123 $ formFields = FormField::where ('form_id ' , '= ' , $ table )->where ('add ' , '= ' , '1 ' )->get ();
@@ -110,8 +131,7 @@ public function store($table, Request $request)
110131 $ request ->session ()->flash ('message ' , 'Successfully added to ' . $ form ->name );
111132 return redirect ()->route ('resource.index ' , $ table );
112133 }else {
113- $ request ->session ()->flash ('message ' , 'Add to table is not enable ' );
114- return redirect ()->route ('resource.index ' , $ table );
134+ abort ('401 ' );
115135 }
116136 }
117137
@@ -121,18 +141,25 @@ public function store($table, Request $request)
121141 * @param int $id
122142 * @return \Illuminate\Http\Response
123143 */
124- public function show ($ table , $ id )
144+ public function show ($ table , $ id, Request $ request )
125145 {
126146 $ 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 ){
128155 if (empty (Auth::user ())){
129156 abort ('401 ' );
130157 }else {
131158 if (!Auth::user ()->can ('read bread ' . $ table )){
132159 abort ('401 ' );
133160 }
134161 }
135- }
162+ }
136163 $ form = Form::find ( $ table );
137164 if ($ form ->read == 1 ){
138165 $ resourceService = new ResourceService ();
@@ -141,8 +168,7 @@ public function show($table, $id)
141168 'columns ' => $ resourceService ->show ($ form ->id , $ form ->table_name , $ id ),
142169 ]);
143170 }else {
144- $ request ->session ()->flash ('message ' , 'Read this table is not enable ' );
145- return redirect ()->route ('resource.index ' , $ table );
171+ abort ('401 ' );
146172 }
147173 }
148174
@@ -155,7 +181,14 @@ public function show($table, $id)
155181 public function edit ($ table , $ id )
156182 {
157183 $ 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 ){
159192 if (empty (Auth::user ())){
160193 abort ('401 ' );
161194 }else {
@@ -176,8 +209,7 @@ public function edit($table, $id)
176209 'id ' => $ id ,
177210 ]);
178211 }else {
179- $ request ->session ()->flash ('message ' , 'Edit table is not enable ' );
180- return redirect ()->route ('resource.index ' , $ table );
212+ abort ('401 ' );
181213 }
182214 }
183215
@@ -191,7 +223,14 @@ public function edit($table, $id)
191223 public function update ($ table , $ id , Request $ request )
192224 {
193225 $ 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 ){
195234 if (empty (Auth::user ())){
196235 abort ('401 ' );
197236 }else {
@@ -213,8 +252,7 @@ public function update($table, $id, Request $request)
213252 $ request ->session ()->flash ('message ' , 'Successfully edited ' . $ form ->name );
214253 return redirect ()->route ('resource.index ' , $ table );
215254 }else {
216- $ request ->session ()->flash ('message ' , 'Edit table is not enable ' );
217- return redirect ()->route ('resource.index ' , $ table );
255+ abort ('401 ' );
218256 }
219257 }
220258
@@ -227,7 +265,14 @@ public function update($table, $id, Request $request)
227265 public function destroy ($ table , Request $ request , $ id )
228266 {
229267 $ 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 ){
231276 if (empty (Auth::user ())){
232277 abort ('401 ' );
233278 }else {
@@ -246,8 +291,7 @@ public function destroy($table, Request $request, $id)
246291 return view ('dashboard.resource.delete ' , ['table ' => $ table , 'id ' => $ id , 'formName ' => $ form ->name ]);
247292 }
248293 }else {
249- $ request ->session ()->flash ('message ' , 'Delete object from table is not enable ' );
250- return redirect ()->route ('resource.index ' , $ table );
294+ abort ('401 ' );
251295 }
252296 }
253297}
0 commit comments