/**
  * Rearrange quickadmin menu items
  *
  * @param Request $request
  *
  * @return \Illuminate\Http\RedirectResponse
  */
 public function rearrange(Request $request)
 {
     $menusList = Menu::with(['children'])->where('menu_type', '!=', 0)->where('parent_id', null)->orderBy('position')->get();
     foreach ($menusList as $menu) {
         if ($menu->children()->first() == null) {
             $menu->position = $request->{'menu-' . $menu->id};
             $menu->save();
         } else {
             $menu->position = $request->{'menu-' . $menu->id};
             $menu->save();
             foreach ($menu->children as $child) {
                 $child->position = $request->{'child-' . $child->id};
                 $child->parent_id = $request->{'child-parent-' . $child->id};
                 $child->save();
             }
         }
     }
     return redirect()->back();
 }
Пример #2
0
<?php

/**
 * Package routing file specifies all of this package routes.
 */
use Illuminate\Support\Facades\View;
use Laraveldaily\Quickadmin\Models\Menu;
if (Schema::hasTable('menus')) {
    $menus = Menu::with('children')->where('menu_type', '!=', 0)->orderBy('position')->get();
    View::share('menus', $menus);
    if (!empty($menus)) {
        Route::group(['middleware' => ['web', 'auth', 'role'], 'prefix' => config('quickadmin.route'), 'namespace' => 'App\\Http\\Controllers'], function () use($menus) {
            foreach ($menus as $menu) {
                switch ($menu->menu_type) {
                    case 1:
                        Route::post(strtolower($menu->name) . '/massDelete', ['as' => config('quickadmin.route') . '.' . strtolower($menu->name) . '.massDelete', 'uses' => 'Admin\\' . ucfirst(camel_case($menu->name)) . 'Controller@massDelete']);
                        Route::resource(strtolower($menu->name), 'Admin\\' . ucfirst(camel_case($menu->name)) . 'Controller');
                        break;
                    case 3:
                        Route::controller(strtolower($menu->name), 'Admin\\' . ucfirst(camel_case($menu->name)) . 'Controller', ['getIndex' => config('quickadmin.route') . '.' . strtolower($menu->name) . '.index']);
                        break;
                }
            }
        });
    }
}
Route::group(['namespace' => 'Laraveldaily\\Quickadmin\\Controllers', 'middleware' => ['web', 'auth']], function () {
    // Dashboard home page route
    Route::get(config('quickadmin.homeRoute'), 'QuickadminController@index');
    Route::group(['middleware' => 'role'], function () {
        // Menu routing
Пример #3
0
<?php

/**
 * Package routing file specifies all of this package routes.
 */
use Illuminate\Support\Facades\View;
use Laraveldaily\Quickadmin\Models\Menu;
/*
* Amir's custom code
* ->leftJoin('sitesplugins', 'menus.id', '=', 'sitesplugins.menu_id')
*/
if (Schema::hasTable('menus')) {
    $menus = Menu::with('children')->where('menu_type', '!=', 0)->leftJoin('sitesplugins', 'menus.id', '=', 'sitesplugins.menu_id')->select(DB::raw('GROUP_CONCAT(sitesplugins.sites_id) as   sites_id'), 'menus.*')->groupBy('menus.id')->orderBy('position')->get();
    View::share('menus', $menus);
    if (!empty($menus)) {
        Route::group(['middleware' => ['web', 'auth', 'role'], 'prefix' => config('quickadmin.route'), 'namespace' => 'App\\Http\\Controllers'], function () use($menus) {
            foreach ($menus as $menu) {
                switch ($menu->menu_type) {
                    case 1:
                        Route::post(strtolower($menu->name) . '/massDelete', ['as' => config('quickadmin.route') . '.' . strtolower($menu->name) . '.massDelete', 'uses' => 'Admin\\' . ucfirst(camel_case($menu->name)) . 'Controller@massDelete']);
                        Route::resource(strtolower($menu->name), 'Admin\\' . ucfirst(camel_case($menu->name)) . 'Controller');
                        break;
                    case 3:
                        Route::controller(strtolower($menu->name), 'Admin\\' . ucfirst(camel_case($menu->name)) . 'Controller', ['getIndex' => config('quickadmin.route') . '.' . strtolower($menu->name) . '.index']);
                        break;
                }
            }
        });
    }
}
Route::group(['namespace' => 'Laraveldaily\\Quickadmin\\Controllers', 'middleware' => ['web', 'auth']], function () {