Commit 9a738bf7 authored by Nicolas Widart's avatar Nicolas Widart

Adding update menu item functionality

parent 956c4e27
...@@ -5,6 +5,7 @@ use Laracasts\Flash\Flash; ...@@ -5,6 +5,7 @@ use Laracasts\Flash\Flash;
use Modules\Menu\Entities\Menu; use Modules\Menu\Entities\Menu;
use Modules\Menu\Entities\Menuitem; use Modules\Menu\Entities\Menuitem;
use Modules\Menu\Http\Requests\CreateMenuItemRequest; use Modules\Menu\Http\Requests\CreateMenuItemRequest;
use Modules\Menu\Http\Requests\UpdateMenuItemRequest;
use Modules\Menu\Repositories\MenuItemRepository; use Modules\Menu\Repositories\MenuItemRepository;
class MenuItemController class MenuItemController
...@@ -31,7 +32,7 @@ class MenuItemController ...@@ -31,7 +32,7 @@ class MenuItemController
public function store(Menu $menu, CreateMenuItemRequest $request) public function store(Menu $menu, CreateMenuItemRequest $request)
{ {
$this->menuItem->create(array_merge($request->all(), ['menu_id' => $menu->id])); $this->menuItem->create($this->addMenuId($menu, $request));
Flash::success('Menu item created!'); Flash::success('Menu item created!');
return $this->redirector->route('dashboard.menu.edit', [$menu->id]); return $this->redirector->route('dashboard.menu.edit', [$menu->id]);
...@@ -42,7 +43,21 @@ class MenuItemController ...@@ -42,7 +43,21 @@ class MenuItemController
return view('menu::admin.menuitems.edit', compact('menu', 'menuItem')); return view('menu::admin.menuitems.edit', compact('menu', 'menuItem'));
} }
public function update(Menu $menu, Menuitem $menuItem) public function update(Menu $menu, Menuitem $menuItem, UpdateMenuItemRequest $request)
{ {
$this->menuItem->update($menuItem, $this->addMenuId($menu, $request));
Flash::success('Menu item updated!');
return $this->redirector->route('dashboard.menu.edit', [$menu->id]);
}
/**
* @param Menu $menu
* @param \Illuminate\Foundation\Http\FormRequest $request
* @return array
*/
private function addMenuId(Menu $menu, $request)
{
return array_merge($request->all(), ['menu_id' => $menu->id]);
} }
} }
<?php namespace Modules\Menu\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class UpdateMenuItemRequest extends FormRequest
{
public function rules()
{
return [];
}
public function authorize()
{
return true;
}
public function messages()
{
return [];
}
}
...@@ -23,6 +23,14 @@ class EloquentMenuItemRepository extends EloquentBaseRepository implements MenuI ...@@ -23,6 +23,14 @@ class EloquentMenuItemRepository extends EloquentBaseRepository implements MenuI
public function update($menuItem, $data) public function update($menuItem, $data)
{ {
$menuItem->menu_id = $data['menu_id'];
$menuItem->page_id = $data['page_id'];
$menuItem->target = $data['target'];
$menuItem->module_name = $data['module'];
$translatableData = Helper::separateLanguages($data);
Helper::updateTranslated($menuItem, $translatableData);
return $menuItem;
} }
} }
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
@stop @stop
@section('content') @section('content')
{!! Form::open(['route' => ['dashboard.menuitem.edit', $menu->id, $menuItem->id], 'method' => 'post']) !!} {!! Form::open(['route' => ['dashboard.menuitem.update', $menu->id, $menuItem->id], 'method' => 'put']) !!}
<div class="row"> <div class="row">
<div class="col-md-12"> <div class="col-md-12">
<div class="box box-info"> <div class="box box-info">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment