1515
1616class PredefinedFilterController extends Controller
1717{
18+
1819 protected PredefinedFilterService $ service ;
1920
2021 public function __construct (PredefinedFilterService $ service )
@@ -37,9 +38,9 @@ public function index(Request $request) : JsonResponse | array
3738 $ sort = $ request ->input ('sort ' , 'name ' );
3839 $ order = $ request ->input ('order ' , 'asc ' );
3940
40- $ allowed_columns = ['id ' , 'name ' , 'is_public ' , 'created_by ' ];
41+ $ allowedColumns = ['id ' , 'name ' , 'is_public ' , 'created_by ' ];
4142
42- if (!in_array ($ sort , $ allowed_columns )) {
43+ if (!in_array ($ sort , $ allowedColumns )) {
4344 $ sort = 'name ' ;
4445 }
4546
@@ -67,7 +68,7 @@ public function show(int $id)
6768 return response ()->json (['message ' => trans ('admin/predefinedFilters/message.does_not_exist ' )], 404 );
6869 }
6970
70- if ($ filter ->userHasPermission (Auth::user (), 'view ' )){
71+ if ($ filter ->userHasPermission (Auth::user (), 'view ' )) {
7172 return response ()->json ($ filter ->toArray ());
7273 }
7374
@@ -124,16 +125,9 @@ public function update(Request $request, int $id): JsonResponse
124125
125126 $ validated = $ validator ->validated ();
126127
127- $ newIsPublic = $ validated ['is_public ' ] ?? $ filter ->is_public ;
128- $ currentIsPublic = $ filter ->is_public ;
129-
130- if (!$ filter ->userHasPermission ($ user , 'edit ' )){
131- return response ()->json (['message ' => trans ('admin/predefinedFilters/message.not_allowed_to_edit ' )], 403 );
132- }
133-
134- //create permission
135- if ((!$ currentIsPublic && $ newIsPublic ) && !$ filter ->userHasPermission ($ user , 'create ' )){
136- return response ()->json (['message ' => trans ('admin/predefinedFilters/message.update.not_allowed_to_change_isPublic ' )], 403 );
128+ $ updatedPermission = $ this ->updatePermissions ($ validated , $ filter , $ user );
129+ if ($ updatedPermission !== null ) {
130+ return $ updatedPermission ;
137131 }
138132
139133 $ updated = $ this ->service ->updateFilter ($ filter , $ validated );
@@ -143,6 +137,7 @@ public function update(Request $request, int $id): JsonResponse
143137 'filter_data ' => $ updated ,
144138 ]);
145139 }
140+
146141 public function destroy (int $ id )
147142 {
148143 $ user = auth ()->user ();
@@ -165,4 +160,21 @@ public function selectlist(Request $request)
165160 $ filters = $ this ->service ->selectList ($ request , true );
166161 return (new SelectlistTransformer )->transformSelectlist ($ filters );
167162 }
163+
164+ private function updatePermissions ($ validated , $ filter , $ user ) {
165+ $ newIsPublic = $ validated ['is_public ' ] ?? $ filter ->is_public ;
166+ $ currentIsPublic = $ filter ->is_public ;
167+
168+ if (!$ filter ->userHasPermission ($ user , 'edit ' )) {
169+ return response ()->json (['message ' => trans ('admin/predefinedFilters/message.not_allowed_to_edit ' )], 403 );
170+ }
171+
172+ //create permission
173+ if ((!$ currentIsPublic && $ newIsPublic )
174+ && !$ filter ->userHasPermission ($ user , 'create ' )) {
175+ return response ()->json (['message ' => trans ('admin/predefinedFilters/message.update.not_allowed_to_change_isPublic ' )], 403 );
176+ }
177+
178+ return null ;
179+ }
168180}
0 commit comments