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;
use Modules\Menu\Entities\Menu;
use Modules\Menu\Entities\Menuitem;
use Modules\Menu\Http\Requests\CreateMenuItemRequest;
use Modules\Menu\Http\Requests\UpdateMenuItemRequest;
use Modules\Menu\Repositories\MenuItemRepository;
class MenuItemController
......@@ -31,7 +32,7 @@ class MenuItemController
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!');
return $this->redirector->route('dashboard.menu.edit', [$menu->id]);
......@@ -42,7 +43,21 @@ class MenuItemController
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
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 @@
@stop
@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="col-md-12">
<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