/** * Creates a form for adding permissions * * @param int $id * @param Role $role * @return \Kris\LaravelFormBuilder\Form */ protected function getAddUserForm($id, Role $role) { $form = $this->form('Reactor\\Html\\Forms\\Users\\AddUserForm', ['url' => route('reactor.roles.users.associate', $id)]); $choices = User::all()->diff($role->users)->pluck('first_name', 'id')->toArray(); $form->modify('user', 'select', ['choices' => $choices]); return [$form, count($choices)]; }
/** * @param Request $request * @param User $user */ protected function validateEditForm(Request $request, User $user) { $this->validateForm('Reactor\\Html\\Forms\\Users\\EditForm', $request, ['email' => 'required|email|max:255|unique:users,email,' . $user->getKey()]); }
/** * Registers event listeners * (mostly for view cache model events) */ protected function registerEventListeners() { User::saved(function ($user) { $this->app['reactor.viewcache']->flushKeywords(['userview' . $user->getKey()]); }); foreach (['saved', 'deleted'] as $event) { Node::$event(function ($node) { $parent = $node->parent; while ($parent) { if ($parent->hidesChildren()) { return; } $parent = $parent->parent; } $this->app['reactor.viewcache']->flushKeywords(['reactor.views.navigation.nodes']); }); Permission::$event(function ($permission) { $this->app['reactor.viewcache']->flushReactor(); }); Role::$event(function ($role) { $this->app['reactor.viewcache']->flushReactor(); }); } }
/** * Shows the activity for the user * * @param int $id * @return Response */ public function activity($id) { $user = User::findOrFail($id); $activities = chronicle()->getUserActivity($id, 30); return $this->compileView('users.activity', compact('user', 'activities'), trans('general.activity')); }
/** * @param Request $request * @param User $profile */ protected function validateUpdateProfile(Request $request, User $profile) { $this->validateForm('Reactor\\Html\\Forms\\Users\\EditForm', $request, ['email' => 'required|email|unique:users,email,' . $profile->getKey()]); }
/** * Populates site information * * @param Request $request * @param InstallHelper $helper * @return redirect */ public function postSite(Request $request, InstallHelper $helper) { $this->validate($request, ['meta_title' => 'required']); chronicle()->pauseRecording(); $user = User::first(); $home = Node::published()->whereHome(1)->firstOrFail(); $home->associateOwner($user); $home->fill($request->only(['meta_title', 'meta_keywords', 'meta_description', 'meta_author'])); $home->save(); Artisan::call('key:generate'); $helper->setEnvVariable('APP_STATUS', 'INSTALLED'); return redirect()->route('install-complete'); }