summaryrefslogtreecommitdiff
path: root/public/app/controllers/Office.php
diff options
context:
space:
mode:
authorGeorge Halkiadakis <gchalkiadakis@sklavenitis.co.gr>2023-05-24 05:06:01 +0300
committerGeorge Halkiadakis <gchalkiadakis@sklavenitis.co.gr>2023-05-24 05:06:01 +0300
commit63dc17d0abc398c135f6d049d28174c3925416c9 (patch)
tree3c68552b737096b073368ac8d874b0cd46640adb /public/app/controllers/Office.php
parent2f5f034a97fd39b372d9c23b1b04db74c4469f22 (diff)
downloadgyraf1gov-63dc17d0abc398c135f6d049d28174c3925416c9.tar.gz
gyraf1gov-63dc17d0abc398c135f6d049d28174c3925416c9.tar.bz2
gyraf1gov-63dc17d0abc398c135f6d049d28174c3925416c9.zip
forming default values for auto fields
Diffstat (limited to 'public/app/controllers/Office.php')
-rw-r--r--public/app/controllers/Office.php35
1 files changed, 27 insertions, 8 deletions
diff --git a/public/app/controllers/Office.php b/public/app/controllers/Office.php
index d0c10b9..9eb2a4c 100644
--- a/public/app/controllers/Office.php
+++ b/public/app/controllers/Office.php
@@ -162,25 +162,44 @@ class Office {
private static function render_application_form($opts)
{
+ // #1: user-id ---------------------------------------------------------
$user_id = $opts['user']->getID();
-
+
+ // #2: form template ---------------------------------------------------
$form_setup = json_decode(json_encode(APPLICATION_FORM, JSON_UNESCAPED_UNICODE));
- // get Form's HTML and Jsvascript
+ // #3: inject default values -------------------------------------------
+
+ // #3.1: inject user data
+ $form_setup->defaults = json_decode( json_encode(
+ Auth::user_data(), JSON_UNESCAPED_UNICODE
+ ));
+ // #3.2 inject `sector` and `position` <option>s
+
+ // #4: get Form's HTML and Javascript ----------------------------------
$form = JsonToForm::json_form($form_setup, [
['name' => 'user_id', 'value' => $user_id] // pass user identity
]);
+ // #5: render the view -------------------------------------------------
Render::view('templates/application', ['form' => $form]);
}
+
+ /** render penalty form
+ *
+ */
private static function render_penalty_form($opts)
{
- $user_id = $opts['user']->getID();
+ // #1: user-id ---------------------------------------------------------
+ $user_id = $opts['user']->getID();
+ // #2: form template ---------------------------------------------------
$form_setup = json_decode(json_encode(PENALTY_FORM, JSON_UNESCAPED_UNICODE));
- // get all teachers
+ // #3: prepare values to inject; then inject ---------------------------
+
+ // #3.1: get all teachers
$teachers_array = Registry::use('database')->runQuery(
"SELECT concat(last_name, ' ', first_name) as TeacherName
FROM user ORDER BY TeacherName", []
@@ -189,9 +208,8 @@ class Office {
foreach($teachers_array as $key => $person) {
$teachers[] = $person['TeacherName'];
}
- // print_r( $teachers); die();
- // get $key of rapporteur, president and members inside the form_setup->form array
+ // #3.2: get $key of rapporteur, president and members <select>s
for($i=0; $i < sizeof($form_setup->form) ; $i++) {
if (isset($form_setup->form[$i]->name)) {
if ($form_setup->form[$i]->name == 'rapporteur') { $keyRapporteur = $i; }
@@ -200,16 +218,17 @@ class Office {
}
}
- // set option sources for rapporteur, president and members
+ // #3.3: inject <option>s for `rapporteur`, `president` and `members`
$form_setup->form[$keyRapporteur]->options = $teachers;
$form_setup->form[$keyPresident]->options = $teachers;
$form_setup->form[$keyMembers]->options = $teachers;
- // get Form's HTML and Jsvascript
+ // #4: get Form's HTML and Javascript ----------------------------------
$form = JsonToForm::json_form($form_setup, [
['name' => 'user_id', 'value' => $user_id] // pass user identity
]);
+ // #5: render the view -------------------------------------------------
Render::view('templates/penalty', ['form' => $form]);
}