public function tableCheck(Request $request, Scoring $scoring, Application $application, $id) { $users = $application->users()->where('role', 'admin')->all(); if (!$users) { throw new AdminIsNotActivatedException(); } $userIds = []; foreach ($users as $user) { $userIds[] = strval($user['user_id']); } $users = User::whereIn('_id', $userIds)->where('active', true); if ($users->count() == 0) { throw new AdminIsNotActivatedException(); } return $this->response->json($scoring->check($id, $request->all(), $application->_id, $application->getSettingsElem('show_meta', false))); }
public function decisionMake(Decisions\Make $event) { $apps = Application::where('_id', $event->decision->application)->where('users.role', 'admin')->get(['users.user_id', 'users.role']); $userIds = []; foreach ($apps as $app) { foreach ($app->users as $user) { if ($user->role == 'admin') { $userIds[] = strval($user->user_id); } } } $this->intercom->decisionMake($event->decision, $userIds); $this->mixpanel->decisionMake($event->decision, $userIds); }
public function deleteProject(Application $application) { Table::where(['applications' => ['$in' => [$application->_id]]])->delete(); $application->delete(); return $this->response->json(); }
public function invite(Application $application) { $current_user = $this->request->user()->getApplicationUser(); $this->validationRules['invite']['scope'] = 'required|array|in:' . join(',', $current_user->scope); $this->validateRoute(); $project = $application->toArray(); $fill = $this->request->all(); $fill['project'] = ['_id' => $project['_id'], 'title' => $project['title']]; $invitation = (new Invitation())->fill($fill)->save(); $this->getMailService()->sendEmailInvitation($invitation); return $this->response->json($invitation->toArray()); }