public function edit(Request $request, WidgetBoxHandler $handler, $id)
{
/** @var WidgetBox $widgetbox */
$widgetbox = $handler->find($id);
if ($widgetbox === null) {
throw new NotFoundWidgetBoxException();
}
if (\Gate::denies('edit', new Instance('widgetbox.' . $id))) {
throw new AccessDeniedHttpException();
}
app('xe.theme')->selectBlankTheme();
$permission = null;
if ($request->user()->isAdmin()) {
$permission = array_merge($this->getPermArguments('widgetbox.' . $id, ['edit'])['edit'], ['mode' => null]);
}
return XePresenter::make('widgetbox.edit', compact('widgetbox', 'permission'));
}