summaryrefslogtreecommitdiff
path: root/public/app/routes/user.php
diff options
context:
space:
mode:
authorGeorge Halkiadakis <gchalkiadakis@sklavenitis.co.gr>2023-05-27 13:06:44 +0300
committerGeorge Halkiadakis <gchalkiadakis@sklavenitis.co.gr>2023-05-27 13:06:44 +0300
commitd1338cbb59d0752155f17d94b0b9b073df95183f (patch)
tree75b7fe87a47ee6961dc38263582117bb920fa1d4 /public/app/routes/user.php
parent38cc5c0c3abed6cfe4fbe0cbabec60a8ed64784d (diff)
downloadgyraf1gov-d1338cbb59d0752155f17d94b0b9b073df95183f.tar.gz
gyraf1gov-d1338cbb59d0752155f17d94b0b9b073df95183f.tar.bz2
gyraf1gov-d1338cbb59d0752155f17d94b0b9b073df95183f.zip
content model; add petition to database
Diffstat (limited to 'public/app/routes/user.php')
-rw-r--r--public/app/routes/user.php134
1 files changed, 94 insertions, 40 deletions
diff --git a/public/app/routes/user.php b/public/app/routes/user.php
index 26483f4..12ca7d2 100644
--- a/public/app/routes/user.php
+++ b/public/app/routes/user.php
@@ -2,6 +2,7 @@
use app\controllers\Auth;
use app\controllers\Classroom_user;
+use app\controllers\Office;
/** User Connection Management Routes
@@ -25,28 +26,12 @@ Route::add('/logout', function() {
header('Location: /'); die();
});
-// request activation (from invitation page; POST:form is sent)
-Route::add('/account/activate', function() { Auth::activate(); }, 'post');
+
// request password reset
Route::add('/account/reset_password', function() { Auth::reset_password(); } );
-// invite some users
-Route::add('/invite', function() {
- Auth::allowRoles([1, 2, 3]);
- Render::view('admin/invite');
-});
-
-Route::add('/panel', function() {
- Render::view('user/panel');
- // Render::json([
- // 'connected' => Auth::is_connected(),
- // 'user' => Auth::user_data(),
- // ]);
-});
-
-
// Replies to common requests (POST method)
// --- -- -- - - -
@@ -58,36 +43,105 @@ Route::add('/account/check-login', function() {
'post'
);
-// user sends a registration form
-Route::add('/account/register', function() {
- $response = Auth::register();
- Render::json($response);
-},'post');
-// Account Management
-// --- -- -- - - -
+/* DEPRICATED:
+ // Account Management
+ ////////////////////////////////////////////////////////////////////////////////
+
+ // user profile
+ Route::add('/account/profile', function() {
+ $user = Auth::is_connected();
+ if ($user === false) {
+ Render::view('error/general',
+ [
+ 'title' => 'Nope!',
+ 'message' => "<h2>No profile</h2>User is not connected"
+ ]
+ );
-// user profile
-Route::add('/account/profile', function() {
- $user = Auth::is_connected();
- if ($user === false) {
- Render::view('error/general',
- [
- 'title' => 'Nope!',
- 'message' => "<h2>No profile</h2>User is not connected"
- ]
- );
-
- } else {
- Render::json(['success' => true, 'status' => 'user is connected']);
+ } else {
+ Render::json(['success' => true, 'status' => 'user is connected']);
+ }
}
- }
-);
+ );
+--- */
+
+
+// routes for connected users
+////////////////////////////////////////////////////////////////////////////////
+
+if (Auth::is_connected()) {
+
+ // serve content
+ // -------------------------------------------------------------------------
+
+ // control panel
+ // --- -- -- - - -
+ Route::add('/panel', function() {
+ Render::view('user/panel',[
+ 'is_admin' => Auth::in_admin_group(),
+ 'content' => 'info',
+ 'user' => json_decode(json_encode(
+ Auth::user_data(), JSON_UNESCAPED_UNICODE
+ ))
+ ]);
+ });
+
+ // file of petitions
+ // --- -- -- - - -
+ Route::add('/user/petitions', function() {
+ Render::view('admin/invite');
+ });
+
+ // request New petition form
+ // --- -- -- - - -
+ Route::add('/petition/([0-9a-z\-_]*)', function($tag) {
+ Office::request_petition($tag);
+ });
+
+ // request existing petition
+ // --- -- -- - - -
+ Route::add('/petition/signature/([0-9a-f]*)', function($signature) {
+ Office::filter_request_petition($signature);
+ });
+
+
+ // CRUD content
+ // -------------------------------------------------------------------------
+
+ // add petition
+ // --- -- -- - - -
+ Route::add('/petition/new', function() {
+ Office::add_petition();
+ }, 'post');
+
+
+}
+
+
+
+// routes for administrators
+////////////////////////////////////////////////////////////////////////////////
+
+if (Auth::in_admin_group()) {
+
+ // administer petitions
+ // --- -- -- - - -
+ Route::add('/admin/petitions', function() {
+ Render::view('user/panel');
+ });
+
+ // invite user(s)
+ // --- -- -- - - -
+ Route::add('/admin/invite', function() {
+ Render::view('admin/invite');
+ });
+}
// temporary (on development)
-// --- -- -- - --
+////////////////////////////////////////////////////////////////////////////////
// NOTE: these is only for testing purposes
// test connection