public function editItemPermission(MenuHandler $handler, ModuleHandler $modules, $menuId, $itemId)
{
$item = $handler->getItem($itemId);
$menu = $item->menu;
if ($menu->getKey() !== $menuId) {
throw new InvalidArgumentHttpException(400);
}
try {
$menuType = $modules->getModuleObject($item->type);
} catch (NotFoundModuleException $e) {
$menuType = null;
}
$permArgs = $this->getPermArguments($handler->permKeyString($item), [MenuHandler::ACCESS, MenuHandler::VISIBLE]);
return XePresenter::make('menu.itemPermission', array_merge(['menu' => $menu, 'item' => $item, 'menuType' => $menuType], $permArgs));
}