diff --git a/application/modules/courses/controllers/EditController.php b/application/modules/courses/controllers/EditController.php index 63f79621249202f2900b0ed5e8ede44cfeadaa9e..cc41c5aa04f006ed26eddabcd6719254d6bd4c02 100644 --- a/application/modules/courses/controllers/EditController.php +++ b/application/modules/courses/controllers/EditController.php @@ -145,15 +145,13 @@ class Courses_EditController extends Creq_Controller_Action } if (in_array($request->getType(), array('RecertifyACE', 'RecertifyACEAndChangeCourse'))) { - // old code - /* $course->setAceRecertification( - $rawIn['ace']['recertify']['semestersTaught'], - $rawIn['ace']['recertify']['dataRevealed'], - $rawIn['ace']['recertify']['dataFeedback'], - $rawIn['ace']['recertify']['dataIncomplete'], - $rawIn['ace']['recertify']['developPlan'], - $rawIn['ace']['recertify']['blackboardUpload'] - ); */ + // look to see if hidden elements exist + foreach ($rawIn['ace']['recertify-hidden'] as $key => $value) + { + if (empty($rawIn['ace']['recertify'][$key])) { + $rawIn['ace']['recertify'][$key] = ""; + } + } $course->setAceRecertification($rawIn['ace']['recertify']); $course->setAceRecertificationBlackboardUpload($rawIn['ace']['blackboardUpload']); diff --git a/application/modules/courses/models/CourseModel.php b/application/modules/courses/models/CourseModel.php index ff90d9a69ea68c3c686c4d9de86fc8e054ca9ef3..98553dcf984dea210791f9eeb81d6588775027a6 100644 --- a/application/modules/courses/models/CourseModel.php +++ b/application/modules/courses/models/CourseModel.php @@ -1230,31 +1230,7 @@ class Courses_CourseModel extends Unl_Model $db = Zend_Registry::get('db'); - // old code - /* $sql = 'INSERT INTO creqCourseAceRecertifications (generation, semestersTaught, dataRevealed, dataFeedback, dataIncomplete, developPlan, blackboardUpload) VALUES '; - $sqlParts = array(); - foreach ($models as $model) { - $sqlParts[] = $db->quoteInto('(?, ', $model->_data['courseGenerationId']) - . $db->quoteInto('?, ' , implode(',', $model->_data['aceRecertification']['semestersTaught'])) - . $db->quoteInto('?, ' , $model->_data['aceRecertification']['dataRevealed']) - . $db->quoteInto('?, ' , $model->_data['aceRecertification']['dataFeedback']) - . $db->quoteInto('?, ' , $model->_data['aceRecertification']['dataIncomplete']) - . $db->quoteInto('?, ' , $model->_data['aceRecertification']['developPlan']) - . $db->quoteInto('?)' , $model->_data['aceRecertification']['blackboardUpload']); - } - $sql .= implode(', ', $sqlParts); - $db->query($sql); - - $lastId = $db->lastInsertId(); - foreach ($models as $model) { - if (!is_array($model->_data['aceRecertification'])) { - continue; - } - - $model->_data['aceRecertification']['courseAceRecertificationId'] = $lastId; - $lastId++; - } */ - + // TO DO: If old fields of 'semestersTaught, dataRevealed, dataFeedback, dataIncomplete, developPlan' are removed from database, update query below foreach ($models as $model) { $sql = 'INSERT INTO creqCourseAceRecertifications (generation, blackboardUpload, semestersTaught, dataRevealed, dataFeedback, dataIncomplete, developPlan) VALUES '; $sql .= $db->quoteInto('(?, ', $model->_data['courseGenerationId']); @@ -1282,39 +1258,6 @@ class Courses_CourseModel extends Unl_Model $db = Zend_Registry::get('db'); - // Update the courseAceRecertifications table - /* $sql = 'CREATE TEMPORARY TABLE creqCourseAceRecertificationsUpdate ' - . 'SELECT * FROM creqCourseAceRecertifications LIMIT 0'; - $db->query($sql); - - $sql = 'INSERT INTO creqCourseAceRecertificationsUpdate VALUES '; - $sqlParts = array(); - foreach ($models as $model) { - $sqlParts[] = $db->quoteInto('(?, ', $model->_data['aceRecertification']['courseAceRecertificationId']) - . $db->quoteInto('?, ' , $model->_data['courseGenerationId']) - . $db->quoteInto('?, ' , implode(',', $model->_data['aceRecertification']['semestersTaught'])) - . $db->quoteInto('?, ' , $model->_data['aceRecertification']['dataRevealed']) - . $db->quoteInto('?, ' , $model->_data['aceRecertification']['dataFeedback']) - . $db->quoteInto('?, ' , $model->_data['aceRecertification']['dataIncomplete']) - . $db->quoteInto('?, ' , $model->_data['aceRecertification']['developPlan']) - . $db->quoteInto('?)' , $model->_data['aceRecertification']['blackboardUpload']); - } - $sql .= implode(', ', $sqlParts); - $db->query($sql); - - $sql = 'UPDATE creqCourseAceRecertifications AS a, ' - . ' creqCourseAceRecertificationsUpdate AS b ' - . 'SET a.generation = b.generation, ' - . ' a.semestersTaught = b.semestersTaught, ' - . ' a.dataRevealed = b.dataRevealed, ' - . ' a.dataFeedback = b.dataFeedback, ' - . ' a.dataIncomplete = b.dataIncomplete, ' - . ' a.developPlan = b.developPlan, ' - . ' a.blackboardUpload = b.blackboardUpload ' - . 'WHERE a.courseAceRecertificationId = b.courseAceRecertificationId '; - $db->query($sql); - $db->query('DROP TABLE creqCourseAceRecertificationsUpdate'); */ - foreach ($models as $model) { $recert_id = ""; @@ -2987,16 +2930,6 @@ class Courses_CourseModel extends Unl_Model public function setAceRecertification($arrayRecertQA) { - // old code - /* $this->_data['aceRecertification'] = array( - 'semestersTaught' => is_array($semestersTaught) ? $semestersTaught : array(), - 'dataRevealed' => $dataRevealed, - 'dataFeedback' => $dataFeedback, - 'dataIncomplete' => $dataIncomplete, - 'developPlan' => $developPlan, - 'blackboardUpload' => in_array($blackboardUpload, array('no', 'yes')) ? $blackboardUpload : 'no', - ); */ - $questionIds = array(); foreach ($arrayRecertQA as $key => $value) { @@ -3022,7 +2955,11 @@ class Courses_CourseModel extends Unl_Model $new_records[$i]["questionType"] = $record["questionType"]; $new_records[$i]["questionSort"] = $record["questionSort"]; if ($record["questionType"] == "SemestersTaught") { - $new_records[$i]["answerText"] = implode(',',$arrayRecertQA[$record["courseAceRecertifyQuestionId"]]); + if (!empty($arrayRecertQA[$record["courseAceRecertifyQuestionId"]])) { + $new_records[$i]["answerText"] = implode(',',$arrayRecertQA[$record["courseAceRecertifyQuestionId"]]); + } else { + $new_records[$i]["answerText"] = ""; + } } else { $new_records[$i]["answerText"] = $arrayRecertQA[$record["courseAceRecertifyQuestionId"]]; } diff --git a/application/modules/courses/views/scripts/edit/index.phtml b/application/modules/courses/views/scripts/edit/index.phtml index 2bc11ec291e417db751345bb7391c7e4eeff8555..8d5b993a3f72a8e05b65056af62696ec9359d325 100644 --- a/application/modules/courses/views/scripts/edit/index.phtml +++ b/application/modules/courses/views/scripts/edit/index.phtml @@ -1111,6 +1111,9 @@ if (in_array($this->request->getType(), array('NewCourseWithACE', 'AddACEToCours <?php if ($question['questionType'] == "SemestersTaught") { $semesterText = explode(',', $question['answerText']); + + // display hidden element so we know this checkbox exists even if empty when posted + echo $this->formHidden('ace[recertify-hidden]['.$question['courseAceRecertifyQuestionId'].']',""); ?> <table id="semestersTaught" class="zentable primary"> <thead> @@ -1128,8 +1131,10 @@ if (in_array($this->request->getType(), array('NewCourseWithACE', 'AddACEToCours <?php foreach (array(8, 1, 5) as $season) { ?> <?php $termCode = 1 . ($season == 8 ? substr($year, -2) : substr($year+1, -2)). $season; ?> <td> - <?php echo $this->formCheckbox( - 'ace[recertify]['.$question['courseAceRecertifyQuestionId'].'][]', + <?php + // display checkbox + echo $this->formCheckbox( + 'ace[recertify]['.$question['courseAceRecertifyQuestionId'].'][]', in_array($termCode, $semesterText) ? $termCode : NULL, NULL, array($termCode) diff --git a/application/modules/courses/views/scripts/view/course-info.phtml b/application/modules/courses/views/scripts/view/course-info.phtml index 6837dbba235870d8d652782d16de922f2a151d62..a19b36f8bad2d0993896509d20f493b473360097 100644 --- a/application/modules/courses/views/scripts/view/course-info.phtml +++ b/application/modules/courses/views/scripts/view/course-info.phtml @@ -58,12 +58,14 @@ <div class="answer"> <?php if ($question['questionType'] == "SemestersTaught") { - $semesterText = explode(',', $question['answerText']); - $semestersTaught = array(); - foreach ($semesterText as $semesterTaught) { - $semestersTaught[] = $this->termDescription($semesterTaught) . ' (' . $semesterTaught . ')'; + if (!empty($question['answerText'])) { + $semesterText = explode(',', $question['answerText']); + $semestersTaught = array(); + foreach ($semesterText as $semesterTaught) { + $semestersTaught[] = $this->termDescription($semesterTaught) . ' (' . $semesterTaught . ')'; + } + echo implode(', ', $semestersTaught); } - echo implode(', ', $semestersTaught); } elseif ($question['questionType'] == "TextArea") { echo nl2br(htmlentities($question['answerText'], ENT_COMPAT, 'UTF-8')); } else {