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

Update the course request editing process to support editing more than one request at a time.

parent faf23461
No related branches found
No related tags found
No related merge requests found
......@@ -4,7 +4,8 @@ class Courses_EditController extends App_Controller_Action
{
public function indexAction()
{
$session = new Zend_Session_Namespace('Edit Request');
$in = $this->_getAllParams();
$session = new Zend_Session_Namespace('Edit Request ' . $in['id']);
$course = $session->course;
$request = $session->request;
......@@ -29,7 +30,7 @@ class Courses_EditController extends App_Controller_Action
$in = new Zend_Filter_Input($filter, $validator, $this->getRequest()->getParams(), $options);
$rawIn = $this->getRequest()->getParams();
$session = new Zend_Session_Namespace('Edit Request');
$session = new Zend_Session_Namespace('Edit Request ' . $rawIn['id']);
$course = $session->course;
$request = $session->request;
......@@ -175,16 +176,19 @@ class Courses_EditController extends App_Controller_Action
$session->errors = $errors;
if (count($errors) > 0) {
$this->_redirect('/courses/edit');
$this->_redirect('/courses/edit/index/id/' . $rawIn['id']);
} else {
$this->_redirect('/courses/view/index/id/session');
$this->_redirect('/courses/view/index/type/session/id/' . $rawIn['id']);
}
}
public function loadAction()
{
$in = $this->getRequest()->getParams();
$session = new Zend_Session_Namespace('Edit Request');
$tempId = hash('md5', uniqid());
$session = new Zend_Session_Namespace('Edit Request ' . $tempId);
if ($in['sessionId'] !== null) {
$id = $in['sessionId'];
$user = Auth_UserModel::findCurrentUser();
......@@ -201,19 +205,19 @@ class Courses_EditController extends App_Controller_Action
$parentCourse = Courses_CourseModel::findParentOfRequest($request);
unset($session->currentSavedRequestId);
}
$session->request = $request;
$session->course = $course;
$session->parentCourse = $parentCourse;
$this->_redirect('/courses/edit');
$this->_redirect('/courses/edit/index/id/' . $tempId);
}
public function submitPostAction()
{
$in = $this->getRequest()->getParams();
$session = new Zend_Session_Namespace('Edit Request');
$session = new Zend_Session_Namespace('Edit Request ' . $in['id']);
if ($in['effectiveSemester']) {
$session->course->setEffectiveSemester($in['effectiveSemester']);
}
......@@ -224,7 +228,7 @@ class Courses_EditController extends App_Controller_Action
}
if ($in['submitType'] == 'Return to Edit') {
$this->_redirect('/courses/edit');
$this->_redirect('/courses/edit/index/id/' . $in['id']);
}
if ($in['submitType'] == 'Abandon Changes') {
......@@ -251,7 +255,8 @@ class Courses_EditController extends App_Controller_Action
protected function _saveForLater()
{
$session = new Zend_Session_Namespace('Edit Request');
$in = $this->_getAllParams();
$session = new Zend_Session_Namespace('Edit Request ' . $in['id']);
$user = Auth_UserModel::findCurrentUser();
$savedRequestRegistry = RegistryModel::findByNamespaceAndKey($user->getId(), 'savedRequests');
$savedRequests = $savedRequestRegistry->getData();
......@@ -279,8 +284,9 @@ class Courses_EditController extends App_Controller_Action
}
protected function _saveRequest()
{
$session = new Zend_Session_Namespace('Edit Request');
{
$in = $this->_getAllParams();
$session = new Zend_Session_Namespace('Edit Request ' . $in['id']);
if ($session->currentSavedRequestId !== null) {
$id = $session->currentSavedRequestId;
......@@ -303,7 +309,8 @@ class Courses_EditController extends App_Controller_Action
protected function _startApproval()
{
$session = new Zend_Session_Namespace('Edit Request');
$in = $this->_getAllParams();
$session = new Zend_Session_Namespace('Edit Request ' . $in['id']);
Requests_ApprovalChainModel::consider($session->request);
}
......@@ -330,7 +337,7 @@ class Courses_EditController extends App_Controller_Action
return true;
}
protected function isCourseCodeAvailableAction()
public function isCourseCodeAvailableAction()
{
$in = $this->_getAllParams();
......
......@@ -108,12 +108,13 @@ class Courses_NewController extends App_Controller_Action
$course->setRemoved();
}
$session = new Zend_Session_Namespace('Edit Request');
$id = hash('md5', uniqid());
$session = new Zend_Session_Namespace('Edit Request ' . $id);
$session->parentCourse = $parentCourse;
$session->course = $course;
$session->request = $request;
unset($session->currentSavedRequestId);
$this->_redirect('/courses/edit');
$this->_redirect('/courses/edit/index/id/' . $id);
}
}
......@@ -4,10 +4,11 @@ class Courses_ViewController extends App_Controller_Action
{
public function indexAction()
{
$requestId = $this->getRequest()->getParam('id');
$in = $this->_getAllParams();
$requestId = $in['id'];
$myRequestSession = new Zend_Session_Namespace('My Requests');
if ($requestId == 'session') {
$session = new Zend_Session_Namespace('Edit Request');
if ($in['type'] == 'session') {
$session = new Zend_Session_Namespace('Edit Request ' . $in['id']);
$request = $session->request;
$course = $session->course;
$parentCourse = $session->parentCourse;
......@@ -110,6 +111,7 @@ class Courses_ViewController extends App_Controller_Action
$this->view->lastRoleId = $roleId;
$this->view->action = $action;
$this->view->actionRoleNames = $actionRoleNames;
$this->view->id = $in['id'];
$decisionSession = new Zend_Session_Namespace('decidePostAction');
$this->view->decisionMessage = $decisionSession->message;
......
......@@ -18,7 +18,7 @@ $this->layout()->breadcrumbs = array($breadcrumb . ': ' . $this->course->getCour
<?php echo $this->partial('view/course-files.phtml', $this); ?>
<?php if ($this->preview) { ?>
<form method="post" action="<?php echo $this->baseUrl(); ?>/courses/edit/submit.post">
<form method="post" action="<?php echo $this->baseUrl(); ?>/courses/edit/submit.post/id/<?php echo $this->id; ?>">
<fieldset>
<label>
Effective no sooner than:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment