/** * List trainings and allow person to be assigned */ public function assignTrainingAction() { $id = $this->getSanParam('id'); $this->view->assign('id', $id); $maxAge = $this->getSanParam('maxage'); $this->view->assign('maxage', $maxAge); $person = new Person(); $rows = $person->find($id); $row = $rows->current(); $this->view->assign('person_row', $row); require_once 'models/table/Training.php'; $tableObj = new Training(); $age = "training_start_date < NOW() AND training_start_date > DATE_SUB(NOW(), INTERVAL 30 DAY)"; switch ($maxAge) { case '60days': $age = "training_start_date < NOW() AND training_start_date > DATE_SUB(NOW(), INTERVAL 60 DAY)"; break; case '1quarter': $age = "training_start_date < NOW() AND training_start_date > DATE_SUB(NOW(), INTERVAL 96 DAY)"; break; case '6months': $age = "training_start_date < NOW() AND training_start_date > DATE_SUB(NOW(), INTERVAL 185 DAY)"; break; case 'all': $age = '1'; break; } $trainings = $tableObj->getTrainingsAssign($id, $age); foreach ($trainings as $k => $r) { $trainings[$k]['input_checkbox'] = '<input type="checkbox" name="training_ids[]" value="' . $r['training_id'] . '">'; } $this->view->assign('trainings', $trainings); $request = $this->getRequest(); // save if ($request->isPost()) { $status = ValidationContainer::instance(); $training_ids = $this->getSanParam('training_ids'); if ($training_ids) { require_once 'models/table/PersonToTraining.php'; foreach ($training_ids as $training_id) { $tableObj = new PersonToTraining(); $result = $tableObj->addPersonToTraining($id, $training_id); } $status->setStatusMessage(t('The') . ' ' . t('Training') . t('(s) have been assigned.')); $status->setRedirect('/person/edit/id/' . $id); } else { $status->setStatusMessage(t('No') . ' ' . t('Trainings') . ' ' . t('selected') . '.'); } $this->sendData($status); } }