/**
  * Update the menu.
  *
  * @param Menu $menu Menu type
  *
  * @return \Illuminate\Http\RedirectResponse
  */
 public function update(Menu $menu)
 {
     $this->validate(request(), ['code' => ['required', Rule::unique('menus')->ignore($menu->id)], 'title' => 'required', 'sort_order' => 'required|integer']);
     if (request()->ajax()) {
         return ajaxSuccess();
     }
     if ($menu->update(['code' => snake_slug(request()->code), 'title' => ucfirst(request()->title), 'sort_order' => request()->sort_order])) {
         flash()->success(trans('admin::messages.success'), trans('admin::menus.updated', ['name' => request()->title]));
     }
     return redirect()->route('menus.index');
 }
Esempio n. 2
0
 /**
  * Return all menus with page tree structure.
  *
  * @return \Illuminate\Database\Eloquent\Collection
  */
 public static function getAllWithTree()
 {
     $menus = Menu::all();
     foreach ($menus as &$menu) {
         $menu->tree = static::buildTreeMenu($menu->code);
     }
     return $menus;
 }
Esempio n. 3
0
 /**
  * Bind data to the view.
  *
  * @param  View  $view
  * @return void
  */
 public function compose(View $view)
 {
     foreach (Menu::all() as $menu) {
         $view->with($menu->code . 'Menu', $this->buildMenu($menu));
     }
 }
Esempio n. 4
0
 /**
  * Bind data to the view.
  *
  * @param View $view Instance of Illuminate\View\View
  *
  * @return void
  */
 public function compose(View $view)
 {
     $view->with('menus', Menu::getAllWithTree());
     $view->with('activeUrl', url('/') . '/' . request()->segment(1) . (request()->segment(2) ? '/' . request()->segment(2) : ''));
 }