diff options
| author | George Halkiadakis <gchalkiadakis@sklavenitis.co.gr> | 2023-05-24 05:06:01 +0300 |
|---|---|---|
| committer | George Halkiadakis <gchalkiadakis@sklavenitis.co.gr> | 2023-05-24 05:06:01 +0300 |
| commit | 63dc17d0abc398c135f6d049d28174c3925416c9 (patch) | |
| tree | 3c68552b737096b073368ac8d874b0cd46640adb /public/app/controllers/Office.php | |
| parent | 2f5f034a97fd39b372d9c23b1b04db74c4469f22 (diff) | |
| download | gyraf1gov-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.php | 35 |
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]); } |
