Skip to content
Snippets Groups Projects
Commit 5a6a5225 authored by Tim Steiner's avatar Tim Steiner
Browse files

CourseAdmin will now save updates as new generations.

parent 8bcec3a1
No related branches found
No related tags found
No related merge requests found
......@@ -94,7 +94,13 @@ class CourseAdminController extends Nmc_Controller_Action
$in = $this->getRequest();
$course = CourseGenerations::getInstance()->findOne($_POST['courseId']);
if(!$course) {
if($course) {
$oldId = $course->getPrimaryKey();
$children = $course->getChildGenerations();
$course = clone $course;
} else {
$oldId = -1;
$children = array();
$course = CourseGenerations::getInstance()->fetchNew();
$course->type = 'official';
}
......@@ -177,12 +183,22 @@ class CourseAdminController extends Nmc_Controller_Action
$course->effectiveSemester = 20081;
}
$course->save();
$db = Zend_Registry::get('db');
$sql = 'UPDATE creqCourseGenerations '
. $db->quoteInto('SET parent = ? ', $course->getPrimaryKey())
. $db->quoteInto('WHERE parent = ? ', $oldId)
. $db->quoteInto('AND courseGenerationId != ? ', $course->getPrimaryKey());
$db->query($sql);
if (is_array($_POST['essentialStudies'])) {
foreach ($_POST['essentialStudies'] as $collegeName => $areas) {
$college = Colleges::getInstance()->fetchWithName($collegeName);
if (!$college) {
continue;
}
foreach ($course->crosslistings as $crosslisting) {
$courseCodeId = $crosslisting->courseCode;
$courseCode = CourseCodes::getInstance()->findOne($courseCodeId);
......@@ -207,11 +223,19 @@ class CourseAdminController extends Nmc_Controller_Action
if($courseId > 0) {
$course = CourseGenerations::getInstance()->findOne($courseId);
$parent = $course->parent;
$db = Zend_Registry::get('db');
$sql = 'UPDATE creqCourseGenerations '
. $db->quoteInto('SET parent = ? ', $parent)
. $db->quoteInto('WHERE parent = ? ', $courseId);
$db->query($sql);
$course->delete();
}
$out = new Nmc_View();
$out->refresh = '/courseadmin/index/' . $courseId;
$out->refresh = '/courseadmin/index/' . $parent;
echo $out->render('unl_index.xhtml');
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment