summaryrefslogtreecommitdiff
path: root/public/app
diff options
context:
space:
mode:
Diffstat (limited to 'public/app')
-rw-r--r--public/app/controllers/Office.php32
-rw-r--r--public/app/models/Content_model.php17
-rw-r--r--public/app/routes/user.php19
-rw-r--r--public/app/views/components/own_petitions.php89
-rw-r--r--public/app/views/user/panel.php67
5 files changed, 202 insertions, 22 deletions
diff --git a/public/app/controllers/Office.php b/public/app/controllers/Office.php
index a876f6c..83135de 100644
--- a/public/app/controllers/Office.php
+++ b/public/app/controllers/Office.php
@@ -112,7 +112,6 @@ class Office {
- ## -------------------------------------------------------------------------
## PETITION FORMS
## secretarial support / serve forms for teachers' requests and applications
## -------------------------------------------------------------------------
@@ -265,11 +264,8 @@ class Office {
- ## -------------------------------------------------------------------------
- ##
- ## PETITION SUBMITS
+ ## PETITION SUBMIT
## handle submits of forms
- ##
## -------------------------------------------------------------------------
@@ -309,11 +305,30 @@ class Office {
+
+ ## LIST PETITIONS
## -------------------------------------------------------------------------
- ##
+
+
+ public static function user_petitions()
+ {
+ $manager = new App_manager(); // use APP Manager
+ // to get the requester's user_id
+
+ $list = Content_model::user_petitions(
+ $manager->getUserToken()->getUser()->getID() // user-id
+ );
+
+ Render::json([
+ 'success' => true,
+ 'data' => $list
+ ]);
+ }
+
+
+
## TICKET METHODS (create, remove)
## tickets eliminate CSRF attacks
- ##
## -------------------------------------------------------------------------
/** create_ticket
@@ -369,10 +384,7 @@ class Office {
- ## -------------------------------------------------------------------------
- ##
## ADMIN METHODS (insert, updated etc.)
- ##
## -------------------------------------------------------------------------
diff --git a/public/app/models/Content_model.php b/public/app/models/Content_model.php
index ea19165..2a79159 100644
--- a/public/app/models/Content_model.php
+++ b/public/app/models/Content_model.php
@@ -53,17 +53,30 @@ class Content_model {
/** user petitions
*
- * get all petitions of a user
+ * get all petitions of a user;
*
* @param int $uid: user id
* @return array petition records
*/
public static function user_petitions($uid)
{
- return Registry::use('database')->runQuery(
+ $list = Registry::use('database')->runQuery(
"SELECT * FROM petition WHERE user_id = :uid",
[ ':uid' => $uid ]
);
+
+ $results = []; // re-format results
+ foreach($list as $key => $rec) {
+ $results[] = [
+ 'id' => $rec['id'],
+ 'type_id' => $rec['type_id'],
+ 'subject' => $rec['subject'],
+ 'signature' => $rec['signature'],
+ 'protocol' => $rec['protocol'] ?? '',
+ 'form_structure' => unserialize($rec['form_structure'])
+ ];
+ }
+ return $results;
}
diff --git a/public/app/routes/user.php b/public/app/routes/user.php
index 12ca7d2..4a09801 100644
--- a/public/app/routes/user.php
+++ b/public/app/routes/user.php
@@ -88,19 +88,30 @@ if (Auth::is_connected()) {
]);
});
- // file of petitions
+ // request PAGE list-my-petitions
// --- -- -- - - -
Route::add('/user/petitions', function() {
- Render::view('admin/invite');
+ Render::view('user/panel',[
+ 'is_admin' => Auth::in_admin_group(),
+ 'content' => 'own_petitions',
+ 'user' => json_decode(json_encode(
+ Auth::user_data(), JSON_UNESCAPED_UNICODE
+ ))
+ ]);
+ });
+
+ // requst RESULTS list my petitions
+ Route::add('/user/get/petitions', function() {
+ Office::user_petitions();
});
- // request New petition form
+ // request NEW petition FORM
// --- -- -- - - -
Route::add('/petition/([0-9a-z\-_]*)', function($tag) {
Office::request_petition($tag);
});
- // request existing petition
+ // request EXISTING PETITION
// --- -- -- - - -
Route::add('/petition/signature/([0-9a-f]*)', function($signature) {
Office::filter_request_petition($signature);
diff --git a/public/app/views/components/own_petitions.php b/public/app/views/components/own_petitions.php
new file mode 100644
index 0000000..8ea0f23
--- /dev/null
+++ b/public/app/views/components/own_petitions.php
@@ -0,0 +1,89 @@
+ <!-- title bar -->
+ <div class="title-bar">
+ <div><h5>Διαχείριση Αιτήσεων και Δοικητικών Εγγράφων</h5></div>
+ <div>
+ <!-- Button trigger modal -->
+ <a type="button" class="btn pull-right" href="/admin/edit_lesson">
+ <i class="fas fa-plus"></i> &nbsp; Νέο Μάθημα
+ </a>
+ </div>
+</div>
+
+<div class="manage">
+ <div class="row">
+ <div class="col-md-12">
+
+ <div id="petitions">
+
+ <table id="dt-petitions" class="table table-responsive dt-table" style="width:100%">
+ <thead>
+ <!--<th class="dt-id">α/α</th>-->
+ <th class="dt-title">Τίτλος</th>
+ <th class="dt-protocol">Αρ.Πρωτόκολλου</th>
+ <th class="dt-signature">Signature</th>
+ <th class="dt-datepost">Ημερ. Καταχώρισης</th>
+ <th class="dt-actions"></th>
+ </thead>
+ </table>
+
+ </div>
+
+ </div>
+ </div>
+</div><!-- /manage -->
+
+
+
+
+<?php if ($is_admin) : ?>
+
+<!-- MODAL for set protocol number -->
+<!-- NOTE: tabindex="-1" removed, ref:https://github.com/select2/select2-bootstrap-theme/issues/41 -->
+<div class="modal fade" id="managePetition" aria-labelledby="myModalLabel" aria-hidden="true">
+ <div class="modal-dialog modal-lg" role="document">
+ <div class="modal-content">
+
+ <form method="post" action="">
+
+ <div class="modal-header">
+ <h4 class="modal-title" id="myModalLabel">Απόδωση αριθμού πρψτόκολλου</h4>
+ <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
+ </div><!-- /modal-header -->
+
+ <!-- modal-body -->
+ <div class="modal-body">
+
+ <div class="row form-group">
+ <label class="control-label col-sm-12" for="protocol">Τίτλος</label>
+ <div class="col-sm-12">
+ <input class="form-control form-control-sm" type="text" name="protocol" value="" required="">
+ </div>
+ </div>
+
+ <div class="row form-group"><!-- hiddens -->
+ <input type="hidden" name="id" value="0"><!-- petition-id -->
+ <input type="hidden" name="signature" value=""><!-- signature -->
+ </div>
+
+ </div><!-- /modal body -->
+
+ <div class="modal-footer">
+ <div class="row" style="width: 50%;">
+ <div class="form-actions">
+ <div class="col-4">
+ <button type="button" class="btn btn-default js-modal-close col-sm-12" data-bs-dismiss="modal">Κλείσιμο</button>
+ </div>
+ <div class="col-8">
+ <button class="btn btn-success col-sm-12" type="submit">Καταχώριση</button>
+ </div>
+ </div>
+ </div>
+ </div><!-- /modal-footer -->
+
+ </form><!-- /form -->
+
+ </div>
+ </div>
+</div>
+
+<?php endif; ?> \ No newline at end of file
diff --git a/public/app/views/user/panel.php b/public/app/views/user/panel.php
index 01a3777..80f4071 100644
--- a/public/app/views/user/panel.php
+++ b/public/app/views/user/panel.php
@@ -55,13 +55,68 @@
</div>
</div>
-</body>
-<!-- scripts
- * handle show petition request
+<?php if (($is_admin) && ($content == 'admin_petitions')) : ?>
+
+ <!-- MODAL for set protocol number -->
+ <div class="modal fade" id="managePetition" aria-labelledby="myModalLabel" aria-hidden="true">
+ <div class="modal-dialog modal-lg" role="document">
+ <div class="modal-content">
+
+ <form method="post" action="">
+
+ <div class="modal-header">
+ <h4 class="modal-title" id="myModalLabel">Ενημέρωση αριθμού πρωτόκολλου</h4>
+ <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
+ </div><!-- /modal-header -->
+
+ <!-- modal-body -->
+ <div class="modal-body">
+
+ <div class="row form-group">
+ <label class="control-label col-sm-12" for="protocol">Τίτλος</label>
+ <div class="col-sm-12">
+ <input class="form-control form-control-sm" type="text" name="protocol" value="" required="">
+ </div>
+ </div>
+
+ <div class="row form-group"><!-- hiddens -->
+ <input type="hidden" name="id" value="0"><!-- petition-id -->
+ <input type="hidden" name="signature" value=""><!-- signature -->
+ </div>
+
+ </div><!-- /modal body -->
+
+ <div class="modal-footer">
+ <div class="row" style="width: 50%;">
+ <div class="form-actions">
+ <div class="col-4">
+ <button type="button" class="btn btn-default js-modal-close col-sm-12" data-bs-dismiss="modal">Κλείσιμο</button>
+ </div>
+ <div class="col-8">
+ <button class="btn btn-success col-sm-12" type="submit">Καταχώριση</button>
+ </div>
+ </div>
+ </div>
+ </div><!-- /modal-footer -->
+
+ </form><!-- /form -->
+
+ </div>
+ </div>
+ </div>
+
+<?php endif; ?>
+
+ </body>
+
+
+ <!-- scripts
+ * handle show petition request
+
+ if admin:
+ * modal + give protocol-number
+ -->
- if admin:
- * modal + give protocol-number
--->
</html>