<?php

use PSU\TeacherCert;
respond('/[i:sgs_id]/[*]', function ($request, $response, $app) {
    $sgs_id = $request->param('sgs_id');
    $app->populate(TeacherCert\Student\GateSystem::get($sgs_id));
    $app->populate('schools', new TeacherCert\Schools());
    $app->populate('school_model', new TeacherCert\Model\Student\School());
    $app->populate('teacher_model', new TeacherCert\Model\Student\CooperatingTeacher());
    $app->populate('cancel_url', $app->resolver($app->student_gate_system));
    $app->breadcrumbs->push(new PSU\Template\Breadcrumb($app->student_gate_system->gate_system()->name, $app->resolver($app->gate_system)));
    $app->breadcrumbs->push(new PSU\Template\Breadcrumb(sprintf('%s (%s)', $app->student_gate_system->student()->person()->formatName('f l'), $app->student_gate_system->student()->person()->id), $app->resolver($app->student_gate_system)));
    $app->populate_constituents = function () use($app) {
        $rc = TeacherCert\ActiveRecord::$rowcache = new TeacherCert\RowCache();
        $where = sprintf('id IN (SELECT constituent_id FROM psu_teacher_cert.constituent_schools WHERE school_id = %d)', $app->student_school->school_id);
        $rc->cache('PSU\\TeacherCert\\Constituent', 'id', $where);
        $constituent_schools = new TeacherCert\CooperatingTeachers($app->student_school->school_id);
        $schools_options = TeacherCert\Model::collection($constituent_schools, 'name=constituent_name');
        usort($schools_options, function ($a, $b) {
            return strnatcasecmp($a[1], $b[1]);
        });
        $app->teacher_model->constituent_school_id->options = $schools_options;
    };
});
respond('GET', '/[i:sgs_id]/[add|edit|delete:action]/[i:ss_id]?', function ($request, $response, $app) {
    $ss_id = $request->param('ss_id');
    if ('edit' === $request->param('action')) {
        $app->populate('student_school', TeacherCert\Student\School::get($ss_id));
        $app->populate_constituents();
        // populate form with existing school data
        $f = get_object_vars($app->student_school);
Exemplo n.º 2
0
        $population->query(array('filter' => $q));
        $app->tpl->assign('population', $population);
        $app->tpl->display('results.tpl');
    }
});
respond('/[:gate_system]/[i:student_gate_system]/[:section]?', function ($request, $response, $app) {
    $sgs_id = $request->param('student_gate_system');
    $section = $request->param('section');
    if ('praxis' === $section) {
        $test_model = new PSU\TeacherCert\Model\Student\Test();
        $app->populate('test_model', $test_model);
    }
    $rc = TeacherCert\ActiveRecord::$rowcache = new TeacherCert\RowCache();
    $rc->cache('PSU\\TeacherCert\\ChecklistItem');
    $rc->cache('PSU\\TeacherCert\\ChecklistItemAnswer');
    $app->populate(StudentGateSystem::get($sgs_id));
    $app->tpl->page_title = $app->student->person()->formatName();
    $app->populate('student_gate_model', new TeacherCert\Model\Student\GateSystem());
    $app->student_gate_model->form(get_object_vars($app->student_gate_system));
});
respond('POST', '/[:gate_system]/[i:student_gate_system]', function ($request, $response, $app) {
    $response->deny_to_readonly();
    $action = $request->param('action');
    if ('complete' === $action) {
        $app->student_gate_system->exit_date = null;
        $app->student_gate_system->complete_date = time();
        $app->student_gate_system->save();
    } elseif ('exit' === $action) {
        $app->student_gate_system->exit_date = time();
        $app->student_gate_system->complete_date = null;
        $app->student_gate_system->save();