diff --git a/app/Controllers/Admin/Groups.php b/app/Controllers/Admin/Groups.php new file mode 100644 index 0000000..4689494 --- /dev/null +++ b/app/Controllers/Admin/Groups.php @@ -0,0 +1,164 @@ +aauth = new Aauth(); + $this->request = Services::request(); + helper('form'); + helper('aauth'); + } + + /** + * Index + * + * @return void + */ + public function index() + { + $data = $this->aauth->listGroupsPaginated(); + + $data['cssFiles'] = [ + '/assets/css/admin/groups/index.css' + ]; + + echo view('Templates/HeaderAdmin', $data); + echo view('Admin/Groups/Home', $data); + echo view('Templates/FooterAdmin'); + } + + /** + * New + * + * @return void + */ + public function new() + { + echo view('Templates/HeaderAdmin'); + echo view('Admin/Groups/New'); + echo view('Templates/FooterAdmin'); + } + + /** + * Create + * + * @return void + */ + public function create() + { + $name = $this->request->getPost('name'); + $definition = $this->request->getPost('definition'); + + if (! $this->aauth->createGroup($name, $definition)) + { + return redirect()->back()->with('errors', $this->aauth->getErrorsArray()); + } + + return redirect()->to('/admin/groups'); + } + + /** + * Edit + * + * @return void + */ + public function edit($groupId) + { + $data['group'] = $this->aauth->getGroup($groupId); + + echo view('Templates/HeaderAdmin'); + echo view('Admin/Groups/Edit', $data); + echo view('Templates/FooterAdmin'); + } + + /** + * Update + * + * @return void + */ + public function update($groupId) + { + $name = $this->request->getPost('name'); + $definition = $this->request->getPost('definition'); + + if (! $this->aauth->updateGroup($groupId, empty($name) ? null : $name, empty($definition) ? null : $definition)) + { + return redirect()->back()->with('errors', $this->aauth->getErrorsArray()); + } + + return redirect()->to('/admin/groups/edit/' . $groupId); + } + + /** + * Show + * + * @return void + */ + public function show($groupId) + { + $data['group'] = $this->aauth->getGroup($groupId); + + echo view('Templates/HeaderAdmin'); + echo view('Admin/Groups/Show', $data); + echo view('Templates/FooterAdmin'); + } + + /** + * Delete + * + * @return void + */ + public function delete($groupId) + { + if (! $this->aauth->getGroup($groupId)) + { + return redirect()->to('/admin/groups'); + } + + $id = $this->request->getPost('id'); + if ($groupId === $id) + { + if ($this->aauth->deleteGroup($groupId)) + { + return redirect()->to('/admin/groups'); + } + } + + $data['group'] = $this->aauth->getGroup($groupId); + + echo view('Templates/HeaderAdmin'); + echo view('Admin/Groups/Delete', $data); + echo view('Templates/FooterAdmin'); + } + +} diff --git a/app/Controllers/Admin/Perms.php b/app/Controllers/Admin/Perms.php new file mode 100644 index 0000000..c94023b --- /dev/null +++ b/app/Controllers/Admin/Perms.php @@ -0,0 +1,164 @@ +aauth = new Aauth(); + $this->request = Services::request(); + helper('form'); + helper('aauth'); + } + + /** + * Index + * + * @return void + */ + public function index() + { + $data = $this->aauth->listPermsPaginated(); + + $data['cssFiles'] = [ + '/assets/css/admin/groups/index.css' + ]; + + echo view('Templates/HeaderAdmin', $data); + echo view('Admin/Perms/Home', $data); + echo view('Templates/FooterAdmin'); + } + + /** + * New + * + * @return void + */ + public function new() + { + echo view('Templates/HeaderAdmin'); + echo view('Admin/Perms/New'); + echo view('Templates/FooterAdmin'); + } + + /** + * Create + * + * @return void + */ + public function create() + { + $name = $this->request->getPost('name'); + $definition = $this->request->getPost('definition'); + + if (! $this->aauth->createPerm($name, $definition)) + { + return redirect()->back()->with('errors', $this->aauth->getErrorsArray()); + } + + return redirect()->to('/admin/groups'); + } + + /** + * Edit + * + * @return void + */ + public function edit($permId) + { + $data['group'] = $this->aauth->getPerm($permId); + + echo view('Templates/HeaderAdmin'); + echo view('Admin/Perms/Edit', $data); + echo view('Templates/FooterAdmin'); + } + + /** + * Update + * + * @return void + */ + public function update($permId) + { + $name = $this->request->getPost('name'); + $definition = $this->request->getPost('definition'); + + if (! $this->aauth->updatePerm($permId, empty($name) ? null : $name, empty($definition) ? null : $definition)) + { + return redirect()->back()->with('errors', $this->aauth->getErrorsArray()); + } + + return redirect()->to('/admin/groups/edit/' . $permId); + } + + /** + * Show + * + * @return void + */ + public function show($permId) + { + $data['group'] = $this->aauth->getPerm($permId); + + echo view('Templates/HeaderAdmin'); + echo view('Admin/Perms/Show', $data); + echo view('Templates/FooterAdmin'); + } + + /** + * Delete + * + * @return void + */ + public function delete($permId) + { + if (! $this->aauth->getPerm($permId)) + { + return redirect()->to('/admin/groups'); + } + + $id = $this->request->getPost('id'); + if ($permId === $id) + { + if ($this->aauth->deletePerm($permId)) + { + return redirect()->to('/admin/groups'); + } + } + + $data['group'] = $this->aauth->getPerm($permId); + + echo view('Templates/HeaderAdmin'); + echo view('Admin/Perms/Delete', $data); + echo view('Templates/FooterAdmin'); + } + +} diff --git a/app/Language/en/Admin.php b/app/Language/en/Admin.php index adef116..7bce5cd 100644 --- a/app/Language/en/Admin.php +++ b/app/Language/en/Admin.php @@ -25,36 +25,74 @@ * @codeCoverageIgnore */ return [ - 'homeHeader' => 'Admin Area', - 'homeText' => 'Welcome to CodeIgniter-Aauth\'s Admin Area', - 'homeBreadcrumbTitle' => 'Home', + 'homeHeader' => 'Admin Area', + 'homeText' => 'Welcome to CodeIgniter-Aauth\'s Admin Area', + 'homeBreadcrumbTitle' => 'Home', - 'breadcrumbCommonNew' => 'New', - 'breadcrumbCommonEdit' => 'Edit', - 'breadcrumbCommonShow' => 'Show', - 'breadcrumbCommonDelete' => 'Delete', + 'breadcrumbCommonNew' => 'New', + 'breadcrumbCommonEdit' => 'Edit', + 'breadcrumbCommonShow' => 'Show', + 'breadcrumbCommonDelete' => 'Delete', - 'usersIndexHeader' => 'Users', - 'usersNewHeader' => 'New user', - 'usersNewSubmit' => 'Create new user', - 'usersEditHeader' => 'Edit user', - 'usersEditSubmit' => 'Update user', - 'usersShowHeader' => 'Show user', - 'usersDeleteHeader' => 'Delete user', - 'usersDeleteSubmit' => 'Delete user', - 'usersBreadcrumbTitle' => 'Users', - 'usersLabelId' => 'Id', - 'usersLabelEmail' => 'Email address', - 'usersLabelUsername' => 'Username', - 'usersLabelEmailCurrent' => 'Current email address', - 'usersLabelUsernameCurrent' => 'Current username', - 'usersLabelPassword' => 'Password', - 'usersLabelBanned' => 'Banned', - 'usersLabelCreatedAt' => 'Created at', - 'usersLabelUpdatedAt' => 'Updated at', - 'usersLabelLastIPAddress' => 'Last IP-Address', - 'usersLabelLastActivity' => 'Last Activity', - 'usersLabelLastLogin' => 'Last Login', - 'usersLinkNew' => 'Create new user', - 'usersLinkBack' => 'Back', + 'usersIndexHeader' => 'Users', + 'usersNewHeader' => 'New user', + 'usersNewSubmit' => 'Create new user', + 'usersEditHeader' => 'Edit user', + 'usersEditSubmit' => 'Update user', + 'usersShowHeader' => 'Show user', + 'usersDeleteHeader' => 'Delete user', + 'usersDeleteSubmit' => 'Delete user', + 'usersBreadcrumbTitle' => 'Users', + 'usersLabelId' => 'Id', + 'usersLabelEmail' => 'Email address', + 'usersLabelUsername' => 'Username', + 'usersLabelEmailCurrent' => 'Current email address', + 'usersLabelUsernameCurrent' => 'Current username', + 'usersLabelPassword' => 'Password', + 'usersLabelBanned' => 'Banned', + 'usersLabelCreatedAt' => 'Created at', + 'usersLabelUpdatedAt' => 'Updated at', + 'usersLabelLastIPAddress' => 'Last IP-Address', + 'usersLabelLastActivity' => 'Last Activity', + 'usersLabelLastLogin' => 'Last Login', + 'usersLinkNew' => 'Create new user', + 'usersLinkBack' => 'Back', + + 'groupsIndexHeader' => 'Groups', + 'groupsNewHeader' => 'New group', + 'groupsNewSubmit' => 'Create new group', + 'groupsEditHeader' => 'Edit group', + 'groupsEditSubmit' => 'Update group', + 'groupsShowHeader' => 'Show group', + 'groupsDeleteHeader' => 'Delete group', + 'groupsDeleteSubmit' => 'Delete group', + 'groupsBreadcrumbTitle' => 'Groups', + 'groupsLabelId' => 'Id', + 'groupsLabelName' => 'Name', + 'groupsLabelDefinition' => 'Definition', + 'groupsLabelNameCurrent' => 'Current Name', + 'groupsLabelDefinitionCurrent' => 'Current Definition', + 'groupsLabelCreatedAt' => 'Created at', + 'groupsLabelUpdatedAt' => 'Updated at', + 'groupsLinkNew' => 'Create new group', + 'groupsLinkBack' => 'Back', + + 'permsIndexHeader' => 'Perms', + 'permsNewHeader' => 'New perm', + 'permsNewSubmit' => 'Create new perm', + 'permsEditHeader' => 'Edit perm', + 'permsEditSubmit' => 'Update perm', + 'permsShowHeader' => 'Show perm', + 'permsDeleteHeader' => 'Delete perm', + 'permsDeleteSubmit' => 'Delete perm', + 'permsBreadcrumbTitle' => 'Perms', + 'permsLabelId' => 'Id', + 'permsLabelName' => 'Name', + 'permsLabelDefinition' => 'Definition', + 'permsLabelNameCurrent' => 'Current Name', + 'permsLabelDefinitionCurrent' => 'Current Definition', + 'permsLabelCreatedAt' => 'Created at', + 'permsLabelUpdatedAt' => 'Updated at', + 'permsLinkNew' => 'Create new perm', + 'permsLinkBack' => 'Back', ]; diff --git a/app/Views/Admin/Groups/Delete.php b/app/Views/Admin/Groups/Delete.php new file mode 100644 index 0000000..aaf404d --- /dev/null +++ b/app/Views/Admin/Groups/Delete.php @@ -0,0 +1,34 @@ +
+= $group['id'] ?>
+= $group['name'] ?>
+= $group['definition'] ?>
+= $group['name'] ?>
+= $group['definition'] ?>
+= lang('Admin.groupsLabelId') ?> | += lang('Admin.groupsLabelName') ?> | += lang('Admin.groupsLabelDefinition') ?> | += lang('Admin.groupsLabelCreatedAt') ?> | += lang('Admin.groupsLabelUpdatedAt') ?> | ++ |
---|---|---|---|---|---|
= $group['id'] ?> | += $group['name'] ?> | += $group['definition'] ?> | += $group['created_at'] ?> | += $group['updated_at'] ?> | ++ + | +
= $group['id'] ?>
+= $group['name'] ?>
+= $group['definition'] ?>
+= $perm['id'] ?>
+= $perm['name'] ?>
+= $perm['definition'] ?>
+= $perm['name'] ?>
+= $perm['definition'] ?>
+= lang('Admin.permsLabelId') ?> | += lang('Admin.permsLabelName') ?> | += lang('Admin.permsLabelDefinition') ?> | += lang('Admin.permsLabelCreatedAt') ?> | += lang('Admin.permsLabelUpdatedAt') ?> | ++ |
---|---|---|---|---|---|
= $perm['id'] ?> | += $perm['name'] ?> | += $perm['definition'] ?> | += $perm['created_at'] ?> | += $perm['updated_at'] ?> | ++ + | +
= $perm['id'] ?>
+= $perm['name'] ?>
+= $perm['definition'] ?>
+