<?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);
$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();