@@ -75,7 +75,7 @@ public function createCrud()
7575 $ defaultValuesCbox = FieldsDescriber::default_cbox ();
7676 $ menusSelect = Menu::whereNotIn ('menu_type ' , [2 , 3 ])->lists ('title ' , 'id ' );
7777 $ roles = Role::all ();
78- $ parentsSelect = Menu::where ('menu_type ' , 2 )->lists ('title ' , 'id ' )->prepend ('-- no parent -- ' , ' null ' );
78+ $ parentsSelect = Menu::where ('menu_type ' , 2 )->lists ('title ' , 'id ' )->prepend ('-- no parent -- ' , null );
7979 // Get columns for relationship
8080 $ models = [];
8181 foreach (Menu::whereNotIn ('menu_type ' , [2 , 3 ])->get () as $ menu ) {
@@ -166,27 +166,15 @@ public function insertCrud(Request $request)
166166 $ cached ['name ' ] = $ request ->name ;
167167 $ cached ['soft_delete ' ] = $ request ->soft ;
168168 $ cache ->put ('fieldsinfo ' , $ cached );
169- $ roles = Role::all ();
170- $ rolesInsert = '' ;
171- $ first = true ;
172- foreach ($ roles as $ role ) {
173- if ($ request ->{'role- ' . $ role ->id } == 1 ) {
174- if ($ first != true ) {
175- $ rolesInsert .= ', ' ;
176- }
177- $ rolesInsert .= $ role ->id ;
178- $ first = false ;
179- }
180- }
181169 // Create menu entry
182- Menu::create ([
170+ $ menu = Menu::create ([
183171 'position ' => 0 ,
184172 'icon ' => $ request ->icon != '' ? $ request ->icon : 'fa-database ' ,
185173 'name ' => $ request ->name ,
186174 'title ' => $ request ->title ,
187- 'parent_id ' => $ request ->parent_id != 0 ? $ request ->parent_id : null ,
188- 'roles ' => $ rolesInsert
175+ 'parent_id ' => $ request ->parent_id ? : null ,
189176 ]);
177+ $ menu ->roles ()->sync ($ request ->input ('roles ' , []));
190178 // Create migrations
191179 $ migrationBuilder = new MigrationBuilder ();
192180 $ migrationBuilder ->build ();
@@ -238,27 +226,15 @@ public function insertParent(Request $request)
238226 if ($ validation ->fails ()) {
239227 return redirect ()->back ()->withInput ()->withErrors ($ validation );
240228 }
241- $ roles = Role::all ();
242- $ rolesInsert = '' ;
243- $ first = true ;
244- foreach ($ roles as $ role ) {
245- if ($ request ->{'role- ' . $ role ->id } == 1 ) {
246- if ($ first != true ) {
247- $ rolesInsert .= ', ' ;
248- }
249- $ rolesInsert .= $ role ->id ;
250- $ first = false ;
251- }
252- }
253- Menu::create ([
229+ $ menu = Menu::create ([
254230 'position ' => 0 ,
255231 'menu_type ' => 2 ,
256232 'icon ' => $ request ->icon != '' ? $ request ->icon : 'fa-database ' ,
257233 'name ' => ucfirst (camel_case ($ request ->title )),
258234 'title ' => $ request ->title ,
259235 'parent_id ' => null ,
260- 'roles ' => $ rolesInsert
261236 ]);
237+ $ menu ->roles ()->sync ($ request ->input ('roles ' , []));
262238
263239 return redirect ()->route ('menu ' );
264240 }
@@ -269,7 +245,7 @@ public function insertParent(Request $request)
269245 */
270246 public function createCustom ()
271247 {
272- $ parentsSelect = Menu::where ('menu_type ' , 2 )->lists ('title ' , 'id ' )->prepend ('-- no parent -- ' , ' null ' );
248+ $ parentsSelect = Menu::where ('menu_type ' , 2 )->lists ('title ' , 'id ' )->prepend ('-- no parent -- ' , null );
273249 $ roles = Role::all ();
274250
275251 return view ('qa::menus.createCustom ' , compact ('parentsSelect ' , 'roles ' ));
@@ -299,62 +275,38 @@ public function insertCustom(Request $request)
299275 $ viewsBuilder = new ViewsBuilder ();
300276 $ viewsBuilder ->buildCustom ($ request ->name );
301277
302- $ roles = Role::all ();
303- $ rolesInsert = '' ;
304- $ first = true ;
305- foreach ($ roles as $ role ) {
306- if ($ request ->{'role- ' . $ role ->id } == 1 ) {
307- if ($ first != true ) {
308- $ rolesInsert .= ', ' ;
309- }
310- $ rolesInsert .= $ role ->id ;
311- $ first = false ;
312- }
313- }
314- Menu::create ([
278+ $ menu = Menu::create ([
315279 'position ' => 0 ,
316280 'menu_type ' => 3 ,
317281 'icon ' => $ request ->icon != '' ? $ request ->icon : 'fa-database ' ,
318282 'name ' => $ request ->name ,
319283 'title ' => $ request ->title ,
320- 'parent_id ' => $ request ->parent_id != 0 ? $ request ->parent_id : null ,
321- 'roles ' => $ rolesInsert
284+ 'parent_id ' => $ request ->parent_id ? : null ,
322285 ]);
286+ $ menu ->roles ()->sync ($ request ->input ('roles ' , []));
323287
324288 return redirect ()->route ('menu ' );
325289 }
326290
327291 public function edit ($ id )
328292 {
329293 $ menu = Menu::findOrFail ($ id );
330- $ parentsSelect = Menu::where ('menu_type ' , 2 )->lists ('title ' , 'id ' )->prepend ('-- no parent -- ' , ' null ' );
294+ $ parentsSelect = Menu::where ('menu_type ' , 2 )->lists ('title ' , 'id ' )->prepend ('-- no parent -- ' , null );
331295 $ roles = Role::all ();
332296
333297 return view ('qa::menus.edit ' , compact ('menu ' , 'parentsSelect ' , 'roles ' ));
334298 }
335299
336300 public function update (Request $ request , $ id )
337301 {
338- $ roles = Role::all ();
339- $ rolesInsert = '' ;
340- $ first = true ;
341- foreach ($ roles as $ role ) {
342- if ($ request ->{'role- ' . $ role ->id } == 1 ) {
343- if ($ first != true ) {
344- $ rolesInsert .= ', ' ;
345- }
346- $ rolesInsert .= $ role ->id ;
347- $ first = false ;
348- }
349- }
350- $ requestArray = $ request ->all ();
351- if (!isset ($ requestArray ['parent_id ' ])) {
352- $ requestArray ['parent_id ' ] = null ;
353- }
354- $ requestArray ['roles ' ] = $ rolesInsert ;
355- $ menu = Menu::findOrFail ($ id );
302+ $ requestArray = $ request ->all ();
303+ $ requestArray ['parent_id ' ] = $ requestArray ['parent_id ' ] ? : null ;
304+ $ menu = Menu::findOrFail ($ id );
356305 $ menu ->update ($ requestArray );
306+ $ menu ->roles ()->sync ($ request ->input ('roles ' , []));
357307
358308 return redirect ()->route ('menu ' );
359309 }
360310}
311+
312+
0 commit comments