Closed agasigp closed 5 years ago
hi @agasigp I hope you are well, could you already solve this error ?, I have the same error and I can not solve it, I would greatly appreciate it if you can help me.
@kcifuentes that seems to be solved there: https://github.com/LavaLite/framework/pull/44, but not merged yet by @Renfos yet
@gachowy Yup, I did that PR but not merged yet. For temporary, my solution is overide the controller and route (web.php)
// routes/web.php
Route::group(
[
'prefix' => trans_setlocale() . '/admin/menu',
],
function () {
Route::resource('submenu', 'SubMenuResourceController');
}
);
// app/Http/Controllers/SubMenuResourceController.php
<?php
namespace App\Http\Controllers;
use App\Http\Controllers\ResourceController as ResourceController;
use Form;
use Litepie\Menu\Http\Requests\MenuRequest;
use Litepie\Menu\Interfaces\MenuRepositoryInterface;
class SubMenuResourceController extends ResourceController
{
public function __construct(MenuRepositoryInterface $menu)
{
$this->repository = $menu;
parent::__construct();
}
/**
* Display the specified resource.
*
* @param Request $request
* @param int $id
*
* @return Response
*/
public function show(MenuRequest $request, $id)
{
$menu = $this->repository->find($id);
Form::populate($menu);
return view('menu::admin.sub.show', compact('menu'));
}
/**
* Show the form for creating a new resource.
*
* @param Request $request
*
* @return Response
*/
public function create(MenuRequest $request)
{
$menu = $this->repository->newInstance([]);
$menu->parent_id = $request->get('parent_id', 0);
Form::populate($menu);
return view('menu::admin.sub.create', compact('menu'));
}
/**
* Create the specified resource.
*
* @param Request $request
*
* @return Response
*/
public function store(MenuRequest $request)
{
try {
$attributes = $request->all();
$attributes['parent_id'] = hashids_decode($attributes['parent_id']);
$menu = $this->repository->create($attributes);
return $this->response
->message(trans('messages.success.created', ['Module' => trans('menu::menu.name')]))
->code(204)
->status('success')
->url(guard_url('menu/submenu/'.$menu->getRouteKey()))
->redirect();
} catch (Exception $e) {
return $this->response
->message($e->getMessage())
->code(400)
->status('error')
->url(guard_url('menu/menu/submenu'))
->redirect();
}
}
/**
* Show the form for editing the specified resource.
*
* @param Request $request
* @param int $id
*
* @return Response
*/
public function edit(MenuRequest $request, $id)
{
$menu = $this->repository->find($id);
Form::populate($menu);
return view('menu::admin.sub.edit', compact('menu'));
}
/**
* Update the specified resource.
*
* @param Request $request
* @param int $id
*
* @return Response
*/
public function update(MenuRequest $request, $id)
{
try {
$attributes = $request->all();
$menu = $this->repository->update($attributes, $id);
return $this->response->message(trans('messages.success.updated', ['Module' => trans('menu::menu.name')]))
->code(204)
->status('success')
->url(guard_url('menu/submenu/'.$menu->getRouteKey()))
->redirect();
} catch (Exception $e) {
return $this->response->message($e->getMessage())
->code(400)
->status('error')
->url(guard_url('menu/submenu/'.$menu->getRouteKey()))
->redirect();
}
}
}
The issue was solved. It's been merged.
I got an server error when I clicked the link on Menu. Here's the output of log error & screenshot of the error :
[2019-03-11 09:43:53] local.ERROR: compact(): Undefined variable: parent {"userId":1,"email":"admin@admin.com","exception":"[object] (ErrorException(code: 0): compact(): Undefined variable: parent at /Users/layana/project/web/kiddles/vendor/lavalite/framework/src/Litepie/Menu/Http/Controllers/SubMenuResourceController.php:32)