/** * @param Menu $menu * * @return Menu */ public function extendWith(Menu $menu) { $menu->group(trans('workshop::workshop.title'), function (Group $group) { $group->weight(100); $group->item(trans('workshop::workshop.modules'), function (Item $item) { $item->icon('fa fa-cogs'); $item->weight(100); $item->route('admin.workshop.modules.index'); $item->authorize($this->auth->hasAccess('workshop.modules.index')); }); $group->item(trans('workshop::workshop.themes'), function (Item $item) { $item->icon('fa fa-cogs'); $item->weight(101); $item->route('admin.workshop.themes.index'); $item->authorize($this->auth->hasAccess('workshop.themes.index')); }); // $group->item(trans('workshop::workshop.title'), function (Item $item) { // $item->weight(100); // $item->authorize( // $this->auth->hasAccess('workshop.modules.index') or $this->auth->hasAccess('workshop.themes.index') // ); // $item->item(trans('workshop::workshop.modules'), function (Item $item) { // $item->icon('fa fa-cogs'); // $item->weight(100); // $item->route('admin.workshop.modules.index'); // $item->authorize( // $this->auth->hasAccess('workshop.modules.index') // ); // }); // }); }); return $menu; }
/** * @param Menu $menu * * @return Menu */ public function extendWith(Menu $menu) { $menu->group(trans('core::sidebar.content'), function (Group $group) { $group->item(trans('localisation::abcs.title.abcs'), function (Item $item) { $item->icon('fa fa-copy'); $item->weight(10); $item->authorize(); $item->item(trans('localisation::countries.title.countries'), function (Item $item) { $item->icon('fa fa-copy'); $item->weight(0); $item->append('admin.localisation.country.create'); $item->route('admin.localisation.country.index'); $item->authorize($this->auth->hasAccess('localisation.countries.index')); }); $item->item(trans('localisation::zones.title.zones'), function (Item $item) { $item->icon('fa fa-copy'); $item->weight(1); $item->append('admin.localisation.zone.create'); $item->route('admin.localisation.zone.index'); $item->authorize($this->auth->hasAccess('localisation.zones.index')); }); // append }); }); return $menu; }
/** * Handle an incoming request. * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle($request, \Closure $next) { if (!$this->auth->check()) { return redirect()->guest('auth/login'); } return $next($request); }
/** * @param Menu $menu * * @return Menu */ public function extendWith(Menu $menu) { $menu->group(trans('core::sidebar.content'), function (Group $group) { $group->item('Knowledgebase', function (Item $item) { $item->icon('fa fa-copy'); $item->weight(10); $item->authorize(); $item->item(trans('knowledgebase::articles.title.articles'), function (Item $item) { $item->icon('fa fa-copy'); $item->weight(0); $item->append('admin.knowledgebase.article.create'); $item->route('admin.knowledgebase.article.index'); $item->authorize($this->auth->hasAccess('knowledgebase.articles.index')); }); $item->item(trans('knowledgebase::categories.title.categories'), function (Item $item) { $item->icon('fa fa-copy'); $item->weight(0); $item->append('admin.knowledgebase.category.create'); $item->route('admin.knowledgebase.category.index'); $item->authorize($this->auth->hasAccess('knowledgebase.categories.index')); }); // append }); }); return $menu; }
/** * @param $request * @param \Closure $next * @param $permission * @return \Illuminate\Http\RedirectResponse|Response */ public function handle($request, \Closure $next, $permission) { if ($this->auth->hasAccess($permission) === false) { return $this->handleUnauthorizedRequest($request, $permission); } return $next($request); }
/** * @param Menu $menu * * @return Menu */ public function extendWith(Menu $menu) { $menu->group(trans('core::sidebar.content'), function (Group $group) { $group->item(trans('blog::blog.title'), function (Item $item) { $item->icon('fa fa-copy'); $item->weight(0); $item->item(trans('blog::post.title.post'), function (Item $item) { $item->icon('fa fa-copy'); $item->weight(0); $item->append('admin.blog.post.create'); $item->route('admin.blog.post.index'); $item->authorize($this->auth->hasAccess('blog.posts.index')); }); $item->item(trans('blog::tag.title.tag'), function (Item $item) { $item->icon('fa fa-copy'); $item->weight(0); $item->append('admin.blog.tag.create'); $item->route('admin.blog.tag.index'); $item->authorize($this->auth->hasAccess('blog.tags.index')); }); $item->item(trans('blog::category.title.category'), function (Item $item) { $item->icon('fa fa-file-text'); $item->weight(1); $item->route('admin.blog.category.index'); $item->append('admin.blog.category.create'); $item->authorize($this->auth->hasAccess('blog.categories.index')); }); }); }); return $menu; }
/** * @param Menu $menu * * @return Menu */ public function extendWith(Menu $menu) { $menu->group(trans('core::sidebar.content'), function (Group $group) { $group->item('Customers', function (Item $item) { $item->icon('fa fa-copy'); $item->weight(10); $item->authorize(); $item->item(trans('customers::companies.title.companies'), function (Item $item) { $item->icon('fa fa-copy'); $item->weight(0); $item->append('admin.customers.company.create'); $item->route('admin.customers.company.index'); $item->authorize($this->auth->hasAccess('customers.companies.index')); }); $item->item(trans('customers::members.title.members'), function (Item $item) { $item->icon('fa fa-copy'); $item->weight(0); $item->append('admin.customers.member.create'); $item->route('admin.customers.member.index'); $item->authorize($this->auth->hasAccess('customers.members.index')); }); // append }); }); return $menu; }
/** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle($request, \Closure $next) { if ($this->auth->check()) { return Redirect::route(config('asgard.user.users.redirect_route_after_login')); } return $next($request); }
/** * @param Menu $menu * * @return Menu */ public function extendWith(Menu $menu) { $menu->group(trans('core::sidebar.content'), function (Group $group) { $group->item('Staff', function (Item $item) { $item->icon('fa fa-copy'); $item->weight(10); $item->authorize(); $item->item(trans('staff::departments.title.departments'), function (Item $item) { $item->icon('fa fa-copy'); $item->weight(0); $item->append('admin.staff.department.create'); $item->route('admin.staff.department.index'); $item->authorize($this->auth->hasAccess('staff.departments.index')); }); $item->item(trans('staff::employees.title.employees'), function (Item $item) { $item->icon('fa fa-copy'); $item->weight(0); $item->append('admin.staff.employee.create'); $item->route('admin.staff.employee.index'); $item->authorize($this->auth->hasAccess('staff.employees.index')); }); // append }); }); return $menu; }
/** * Push a notification on the dashboard * @param string $title * @param string $message * @param string $icon * @param string|null $link */ public function push($title, $message, $icon, $link = null) { $notification = $this->notification->create(['user_id' => $this->userId ?: $this->auth->check()->id, 'icon_class' => $icon, 'link' => $link, 'title' => $title, 'message' => $message]); if (true === config('asgard.notification.config.real-time', false)) { $this->triggerEventFor($notification); } }
/** * Handle the command * * @param $command * @throws InvalidOrExpiredResetCode * @throws UserNotFoundException * @return mixed */ public function handle($command) { $this->input = $command; $user = $this->findUser(); if (!$this->auth->completeResetPassword($user, $this->input->code, $this->input->password)) { throw new InvalidOrExpiredResetCode(); } return $user; }
/** * Reset the grid for the current user */ public function reset() { $widget = $this->widget->findForUser($this->auth->check()->id); if (!$widget) { return redirect()->route('dashboard.index')->with('warning', trans('dashboard::dashboard.reset not needed')); } $this->widget->destroy($widget); return redirect()->route('dashboard.index')->with('success', trans('dashboard::dashboard.dashboard reset')); }
/** * Show the form for editing the specified resource. * * @param int $id * @return Response */ public function edit($id) { if (!($user = $this->user->find($id))) { flash()->error(trans('user::messages.user not found')); return redirect()->route('admin.user.user.index'); } $roles = $this->role->all(); $currentUser = $this->auth->check(); return view('user::admin.users.edit', compact('user', 'roles', 'currentUser')); }
/** * Remove the specified resource from storage. * * @param int $id * * @return Response */ public function store(MediaImageRequest $request, $id) { if ($this->auth->user()->hasRole('admin')) { $user = $this->user->find($id); } else { $user = $this->auth->user(); } $user->clearMediaCollection('profile'); $savedImage = $user->addMedia($request->files->get('image'))->toMediaLibrary('profile'); return $this->response->item($savedImage, new ProfilePictureTransformer()); }
/** * @param Menu $menu * * @return Menu */ public function extendWith(Menu $menu) { $menu->group(trans('core::sidebar.collaboration'), function (Group $group) { $group->weight(12); $group->item(trans('documents::module.title'), function (Item $item) { $item->route('backend::documents.documents.index'); $item->authorize($this->auth->can('documents::access-documents')); }); }); return $menu; }
/** * @param Menu $menu * * @return Menu */ public function extendWith(Menu $menu) { $menu->group(trans('core::sidebar.content'), function (Group $group) { $group->item(trans('tags::tag.title.tags'), function (Item $item) { $item->weight(2); $item->icon('fa fa-tags'); $item->route('admin.tags.tag.index'); $item->authorize($this->auth->hasAccess('tags.tags.index')); }); }); return $menu; }
/** * @param Menu $menu * * @return Menu */ public function extendWith(Menu $menu) { $menu->group(trans('core::sidebar.content'), function (Group $group) { $group->weight(10); $group->item(trans('calendar::calendar.title.calendar'), function (Item $item) { $item->weight(10); $item->route('backend::calendar.calendar.index'); $item->authorize($this->auth->can('calendar::manage-calendar')); }); }); return $menu; }
/** * @param Menu $menu * * @return Menu */ public function extendWith(Menu $menu) { $menu->group('Content', function (Group $group) { $group->item(trans('Sites'), function (Item $item) { $item->icon('fa fa-sitemap'); $item->weight(0); $item->route('admin.site.site.index'); $item->authorize($this->auth->hasAccess('site.sites.index')); }); }); return $menu; }
/** * @param Menu $menu * * @return Menu */ public function extendWith(Menu $menu) { $menu->group(trans('workshop::workshop.title'), function (Group $group) { $group->item(trans('setting::settings.title.settings'), function (Item $item) { $item->icon('fa fa-cog'); $item->weight(50); $item->route('admin.setting.settings.index'); $item->authorize($this->auth->hasAccess('setting.settings.index')); }); }); return $menu; }
/** * @param Menu $menu * * @return Menu */ public function extendWith(Menu $menu) { $menu->group(trans('core::sidebar.content'), function (Group $group) { $group->item(trans('dynamicfield::dynamicfield.title.dynamicfield'), function (Item $item) { $item->icon('fa fa-cubes'); $item->weight(50); $item->append('admin.dynamicfield.group.create'); $item->route('admin.dynamicfield.group.index'); $item->authorize($this->auth->hasAccess('dynamicfield.group.index')); }); }); return $menu; }
/** * @param Menu $menu * * @return Menu */ public function extendWith(Menu $menu) { $menu->group(trans('core::sidebar.content'), function (Group $group) { $group->weight(10); $group->item(trans('page::module.title'), function (Item $item) { $item->weight(12); $item->icon('fa fa-file'); $item->route('backend::page.pages.index'); $item->authorize($this->auth->can('page::manage-page')); }); }); return $menu; }
/** * @param Menu $menu * * @return Menu */ public function extendWith(Menu $menu) { $menu->group(trans('core::sidebar.content'), function (Group $group) { $group->item('Podcasts', function (Item $item) { $item->icon('fa fa-copy'); $item->weight(10); $item->append('admin.podcast.podcast.create'); $item->route('admin.podcast.podcast.index'); $item->authorize($this->auth->hasAccess('podcast.podcasts.index')); }); }); return $menu; }
/** * @param Menu $menu * * @return Menu */ public function extendWith(Menu $menu) { $menu->group(trans('core::sidebar.content'), function (Group $group) { $group->weight(10); $group->item(trans('gallery::module.title'), function (Item $item) { $item->weight(20); $item->icon('fa fa-picture-o'); $item->route('backend::gallery.gallery.index'); $item->authorize($this->auth->can('gallery::manage-gallery')); }); }); return $menu; }
/** * Finish the reset process * @param array $data * @return mixed * @throws InvalidOrExpiredResetCode * @throws UserNotFoundException */ public function finishReset(array $data) { $user = $this->user->find(array_get($data, 'userId')); if ($user === null) { throw new UserNotFoundException(); } $code = array_get($data, 'code'); $password = array_get($data, 'password'); if (!$this->auth->completeResetPassword($user, $code, $password)) { throw new InvalidOrExpiredResetCode(); } return $user; }
/** * @param Menu $menu * * @return Menu */ public function extendWith(Menu $menu) { $menu->group(trans('core::sidebar.content'), function (Group $group) { $group->weight(90); $group->item(trans('menu::menu.title'), function (Item $item) { $item->weight(3); $item->icon('fa fa-bars'); $item->route('admin.menu.menu.index'); $item->authorize($this->auth->hasAccess('menu.menus.index')); }); }); return $menu; }
/** * @param Menu $menu * * @return Menu */ public function extendWith(Menu $menu) { $menu->group(trans('core::sidebar.content'), function (Group $group) { $group->item(trans('gallery::galleries.title.galleries'), function (Item $item) { $item->icon('fa fa-copy'); $item->weight(10); $item->append('admin.gallery.gallery.create'); $item->route('admin.gallery.gallery.index'); $item->authorize($this->auth->hasAccess('gallery.galleries.index')); }); }); return $menu; }
/** * @param Menu $menu * * @return Menu */ public function extendWith(Menu $menu) { $menu->group(trans('core::sidebar.workshop'), function (Group $group) { $group->weight(20); $group->item(trans('setting::module.title'), function (Item $item) { $item->weight(10); $item->icon('fa fa-gear'); $item->route('backend::setting.settings.index'); $item->authorize($this->auth->can('setting::manage-setting')); }); }); return $menu; }
/** * @param Menu $menu * * @return Menu */ public function extendWith(Menu $menu) { $menu->group(trans('dashboard::dashboard.name'), function (Group $group) { $group->weight(0); $group->hideHeading(); $group->item(trans('dashboard::dashboard.name'), function (Item $item) { $item->icon('fa fa-dashboard'); $item->route('dashboard.index'); $item->isActiveWhen(route('dashboard.index', null, false)); $item->authorize($this->auth->hasAccess('dashboard.index')); }); }); return $menu; }
/** * @param Menu $menu * * @return Menu */ public function extendWith(Menu $menu) { $menu->group(trans('core::sidebar.content'), function (Group $group) { $group->item(trans('block::blocks.title.blocks'), function (Item $item) { $item->authorize($this->auth->hasAccess('block.blocks.index')); $item->icon('fa fa-cube'); $item->weight(0); $item->append('admin.block.block.create'); $item->route('admin.block.block.index'); $item->authorize($this->auth->hasAccess('block.blocks.index')); }); }); return $menu; }
/** * @param Request $request * @param callable $next * @return mixed */ public function handle(Request $request, \Closure $next) { $action = $this->route->getActionName(); $actionMethod = substr($action, strpos($action, "@") + 1); $segmentPosition = $this->getSegmentPosition($request); $moduleName = $this->getModuleName($request, $segmentPosition); $entityName = $this->getEntityName($request, $segmentPosition); $permission = $this->getPermission($moduleName, $entityName, $actionMethod); if (!$this->auth->hasAccess($permission)) { Flash::error(trans('core::core.permission denied', ['permission' => $permission])); return Redirect::back(); } return $next($request); }