summaryrefslogtreecommitdiff
path: root/public/app/controllers/Petition.php
blob: fa73cf0c53b4989e2a0078ca8394fbf4baa24455 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<?php 

namespace app\controllers;

use Registry;
use Render;
use app\controllers\Auth;
use app\extends\App_manager;
use app\models\Cms_model;
use app\extends\Cache_service;


class Petition {

    private static function render_common_petition($opts)
    {

    }

    private static function render_penalty_form($opts)
    {
        $user_id = $opts['user']->getID();

        $form_setup = json_decode(json_encode(PENALTY_FORM, JSON_UNESCAPED_UNICODE));

        // get all teachers 
        $teachers_array = Registry::use('database')->runQuery(
            "SELECT concat(last_name, ' ', first_name) as TeacherName
            FROM user ORDER BY TeacherName", []
        );
        $teachers = [];     // constuct teacher names as a simple array
        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
        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; }
                if ($form_setup->form[$i]->name == 'president') { $keyPresident = $i; }
                if ($form_setup->form[$i]->name == 'members') { $keyMembers = $i; }
            }
        }

        // set option sources 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
        $form = JsonToForm::json_form($form_setup, [
            ['name' => 'user_id', 'value' => $user_id]       // pass user identity
        ]);

        Render::view('templates/penalty', ['form' => $form]);

    }




}