} catch (\Exception $e) { $message = "Error: " . implode("\n", $user->getMessages()); } $type = $data['success'] == false ? 'danger' : 'success'; $this->flash->addMessage($type, $message); $this->view->render($response, 'user/register.twig', $data); }); $app->get('/dashboard', function ($request, $response, $args) { $data = []; $this->view->render($response, 'user/dashboard.twig', $data); }); $app->get('/view/{userId}', function ($request, $response, $args) { $db = $this->getContainer()->get('db'); $user = new \Conftrack\Model\User($db); $user->findById($args['userId']); $groups = new \Conftrack\Collection\Groups($db); $groups->findAll(); $data = ['viewUser' => $user->toArray(), 'sponsors' => $user->sponsors->toArray(true), 'groups' => $groups->toArray(true), 'userGroups' => $user->groups->toArray(true)]; $this->view->render($response, 'user/view.twig', $data); }); $app->post('/{userId}/group', function ($request, $response, $args) { $data = ['success' => false]; $body = $request->getParsedBody(); $userGroup = new \Conftrack\Model\UserGroup($this->getContainer()->get('db')); $userGroup->load(['user_id' => $args['userId'], 'group_id' => $body['groupId']]); try { $userGroup->verify(); $userGroup->save(); $data['success'] = true; $data['message'] = 'Group added successfully'; } catch (\Exception $e) {
}); $app->post('/users/status', function ($request, $response, $args) { $data = ['success' => false]; $body = $request->getParsedBody(); $user = new \Conftrack\Model\User($this->getContainer()->get('db')); $user->findById($body['userId']); if ($user->id == null) { throw new \Exception('User not found!'); } else { $user->status == 'active' ? $user->disable() : $user->enable(); $data['success'] = true; } return $response->withJson($data); }); $app->get('/groups', function ($request, $response, $args) { $groups = new \Conftrack\Collection\Groups($this->getContainer()->get('db')); $groups->findAll(); $data = ['groups' => $groups->toArray(true)]; $this->view->render($response, 'groups/index.twig', $data); }); $app->get('/groups/create', function ($request, $response, $args) { $data = []; $this->view->render($response, 'groups/create.twig', $data); }); $app->post('/groups/create', function ($request, $response, $args) { $data = ['success' => false]; $body = $request->getParsedBody(); $group = new \Conftrack\Model\Group($this->getContainer()->get('db')); $group->load(['name' => $body['name'], 'group_key' => $body['key'], 'description' => $body['description']]); try { $group->verify();