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

Add updating of bulletin sections to course request Make Official action. @2h00

parent 8c2343b6
No related branches found
No related tags found
No related merge requests found
......@@ -650,7 +650,7 @@ EOF;
return $departmentSectionNames;
}
static public function updateSubjectCode($oldCode, $newCode)
static public function updateCourseCode($oldCode, $newCode)
{
if ($oldCode == $newCode) {
return;
......@@ -661,7 +661,9 @@ EOF;
$majors = Bulletin_UtilityModel::getAllMajors();
$year = 2014;
$requestsToConsider = new Unl_Model_Collection('Requests_RequestModel');
foreach ($colleges as $collegeId => $college) {
set_time_limit(max(5, ini_get('max_execution_time')));
$requests = Bulletin_SectionModel::findActiveRequestByCollegeAndMajorId($college, NULL);
if (count($requests)) {
$request = $requests->pop();
......@@ -673,7 +675,10 @@ EOF;
$section->setCollegeId($collegeId);
}
self::_updateSubjectCode($oldCode, $newCode, $request, $section);
$result = self::_updateCourseCode($oldCode, $newCode, $request, $section);
if ($result instanceof Requests_RequestModel) {
$requestsToConsider[$request->getId()] = $result;
}
foreach ($collegeMajors[$college] as $majorId => $major) {
$requests = Bulletin_SectionModel::findActiveRequestByCollegeAndMajorId($college, $majorId);
......@@ -688,12 +693,17 @@ EOF;
$section->setMajorId($majorId);
}
self::_updateSubjectCode($oldCode, $newCode, $request, $section);
$result = self::_updateCourseCode($oldCode, $newCode, $request, $section);
if ($result instanceof Requests_RequestModel) {
$requestsToConsider[$request->getId()] = $result;
}
}
}
Requests_ApprovalChainModel::consider($requestsToConsider);
}
static protected function _updateSubjectCode($oldCode, $newCode, Requests_RequestModel $request, Bulletin_SectionModel $section)
static protected function _updateCourseCode($oldCode, $newCode, Requests_RequestModel $request, Bulletin_SectionModel $section)
{
$path = Bulletin_RepositoryModel::getInstance()->getFilePathForCollegeMajorYear(
$section->getCollegeLong(),
......@@ -760,8 +770,6 @@ EOF;
Requests_RequestModel::save($request);
$section->setRequest($request);
Bulletin_SectionModel::save($section);
} else {
echo $request->getId() . PHP_EOL;
}
Bulletin_RepositoryModel::getInstance()->saveFileContents(
......@@ -778,6 +786,8 @@ EOF;
$diffHtml
);
Requests_ApprovalChainModel::consider($request);
if ($request->getType() == 'BulletinAdminEdit') {
return $request;
}
}
}
\ No newline at end of file
......@@ -126,6 +126,16 @@ class Courses_ApprovalActionMakeOfficialModel extends Requests_ApprovalActionMod
$change['to']['courseNumber'],
$change['to']['courseLetter']
);
$cronJob = Cron_JobsModel::fetchNew();
$cronJob->setDate(new Zend_Date());
$cronJob->setClass('Bulletin_SectionModel');
$cronJob->setMethod('updateCourseCode');
$cronJob->setArguments($change['from'], $change['to']);
$collection = new Unl_Model_Collection('Cron_JobsModel');
$collection[] = $cronJob;
Cron_JobsModel::save($collection);
}
}
......
......@@ -242,12 +242,8 @@ class Cron_JobsModel extends Unl_Model
$this->_data['method'] = $method;
}
public function setArguments($arguments)
public function setArguments()
{
if (!is_array($arguments)) {
throw new Zend_Exception('$arguments must be an array.');
}
$this->_data['arguments'] = serialize($arguments);
$this->_data['arguments'] = serialize(func_get_args());
}
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment