public function updateItemPermission(Request $request, MenuHandler $handler, $menuId, $itemId)
{
XeDB::beginTransaction();
try {
$item = $handler->getItem($itemId);
$menu = $item->menu;
if ($menu->getKey() !== $menuId) {
throw new InvalidArgumentHttpException(400);
}
$this->permissionRegister($request, $handler->permKeyString($item), [MenuHandler::ACCESS, MenuHandler::VISIBLE]);
} catch (Exception $e) {
XeDB::rollback();
Input::flash();
return Redirect::back()->with('alert', ['type' => 'danger', 'message' => $e->getMessage()]);
}
XeDB::commit();
return Redirect::back()->with('alert', ['type' => 'success', 'message' => 'success']);
}