From b9db8e52ce3b38a77579a3ca3a1ccf6f2444e3d6 Mon Sep 17 00:00:00 2001 From: Tim Steiner <tsteiner2@unl.edu> Date: Wed, 15 Aug 2007 17:25:33 +0000 Subject: [PATCH] Add DF Removal, sidebar links in Edit Request now submit the form, 403 Error page for RequestController --- application/controllers/RequestController.php | 48 ++++++++++++++----- application/views/request/edit_wrapper.xhtml | 6 +-- application/views/request/submit.xhtml | 6 +-- application/views/request/time_location.xhtml | 27 +++++++++++ .../views/sidebars/requestProgress.xhtml | 2 +- .../javascript/request/edit_wrapper.js | 21 ++++++++ 6 files changed, 91 insertions(+), 19 deletions(-) diff --git a/application/controllers/RequestController.php b/application/controllers/RequestController.php index 61dbb069..254a881d 100755 --- a/application/controllers/RequestController.php +++ b/application/controllers/RequestController.php @@ -5,7 +5,7 @@ class RequestController extends Nmc_Controller_Action public function init() { - $this->_registerPlugin(new Nmc_Controller_Action_Plugin_Authorize()); + $this->_registerPlugin(new Application_Controller_Action_Plugin_Authorize()); } public function indexAction() @@ -99,13 +99,18 @@ class RequestController extends Nmc_Controller_Action public function loadAction() { - $in = $this->_getAllParams(); - - $requestId = Zend_Filter_Int::filter($in[0]); - $request = Requests::getInstance()->findOne($requestId); - $course = $request->getCourseGeneration(); + $in = $this->getRequest(); + $requestId = $in->getParam(0); - $course = clone $course; + if ($requestId == 'saved') { + $course = Nmc_Registry_Session::getInstance()->savedCourse; + $request = Nmc_Registry_Session::getInstance()->savedRequest; + } else { + $requestId = Zend_Filter_Int::filter($requestId); + $request = Requests::getInstance()->findOne($requestId); + $course = $request->getCourseGeneration(); + $course = clone $course; + } Nmc_Registry_Session::getInstance()->course = $course; Nmc_Registry_Session::getInstance()->request = $request; @@ -189,7 +194,7 @@ class RequestController extends Nmc_Controller_Action - $submit = Zend_Filter_Alpha::filter($_POST['submit']); + $submit = Zend_Filter_Alpha::filter($_POST['submitType']); if(is_array($_POST['request'])) { foreach($_POST['request'] as $key => $val) { @@ -207,7 +212,7 @@ class RequestController extends Nmc_Controller_Action unset($_POST['request']); - unset($_POST['submit']); + unset($_POST['submitType']); unset($_POST['p_subject']); unset($_POST['p_course_number']); @@ -416,8 +421,8 @@ class RequestController extends Nmc_Controller_Action if($submit == 'Submit') { return $this->_submitRequestAction(); - } else if ($submit == 'Save for Later Submission') { - // save for later + } else if ($submit == 'SaveforLaterSubmission') { + return $this->_saveUnfinishedRequest(); } else if ($submit == 'CancelRequest') { return $this->_cancelRequest(); } @@ -452,7 +457,9 @@ class RequestController extends Nmc_Controller_Action $prevForm = $requestFormOrder[$currentForm]; } - if($submit == 'Prev') { + if (in_array($submit, $requestFormOrder)) { + $targetForm = $submit; + } else if($submit == 'Prev') { $targetForm = $prevForm; } else { $targetForm = $nextForm; @@ -690,6 +697,23 @@ class RequestController extends Nmc_Controller_Action $view->refresh = '/home'; echo $view->render('unlModernWrapper.xhtml'); } + + protected function _saveUnfinishedRequest() + { + $user = Nmc_User::getInstance()->getUser(); + $course = Nmc_Registry_Session::getInstance()->course; + $request = Nmc_Registry_Session::getInstance()->request; + + Nmc_Registry_Session::getInstance()->savedCourse = $course; + Nmc_Registry_Session::getInstance()->savedRequest = $request; + + Nmc_Registry_Session::getInstance()->erase('course'); + Nmc_Registry_Session::getInstance()->erase('request'); + + $view = new Application_View(); + $view->refresh = '/home'; + echo $view->render('unlModernWrapper.xhtml'); + } } ?> diff --git a/application/views/request/edit_wrapper.xhtml b/application/views/request/edit_wrapper.xhtml index 0653d31b..a15fedcd 100644 --- a/application/views/request/edit_wrapper.xhtml +++ b/application/views/request/edit_wrapper.xhtml @@ -1,5 +1,5 @@ -<form action="/Request/update" method="post" enctype="multipart/form-data"> +<form id="editRequestForm" action="/Request/update" method="post" enctype="multipart/form-data"> <?php @include('' . $this->requestPage . '.xhtml'); ?> - <input id="prev_button" type="submit" name="submit" value="< Prev" /> - <input id="next_button" type="submit" name="submit" value="Next >" /> + <input id="prev_button" type="submit" name="submitType" value="< Prev" /> + <input id="next_button" type="submit" name="submitType" value="Next >" /> </form> diff --git a/application/views/request/submit.xhtml b/application/views/request/submit.xhtml index d09ae7ca..9d12e633 100644 --- a/application/views/request/submit.xhtml +++ b/application/views/request/submit.xhtml @@ -10,6 +10,6 @@ to finish your request. </h2> -<input id="submit_request" type="submit" name="submit" value="Submit" /> -<input id="save_request" type="submit" name="submit" value="Save for Later Submission" /> -<input id="cancel_request" type="submit" name="submit" value="Cancel Request" /> \ No newline at end of file +<input id="submit_request" type="submit" name="submitType" value="Submit" /> +<input id="save_request" type="submit" name="submitType" value="Save for Later Submission" /> +<input id="cancel_request" type="submit" name="submitType" value="Cancel Request" /> \ No newline at end of file diff --git a/application/views/request/time_location.xhtml b/application/views/request/time_location.xhtml index 6a9f175d..8b6bfb6a 100644 --- a/application/views/request/time_location.xhtml +++ b/application/views/request/time_location.xhtml @@ -36,6 +36,33 @@ </label> </fieldset> +<h2>DF Removal</h2> +<fieldset class="three_column"> + <label> + No + <input type="radio" + class="radio" + name="dfRemoval" + value="no" + <?php if($this->course->dfRemoval == 'no') { ?> + checked="checked" + <?php } ?> + /> + </label> + + <label> + Yes + <input type="radio" + class="radio" + name="dfRemoval" + value="yes" + <?php if($this->course->dfRemoval == 'yes') { ?> + checked="checked" + <?php } ?> + /> + </label> +</fieldset> + <h2>Delivery Method(s)</h2> <fieldset class="three_column"> <label> diff --git a/application/views/sidebars/requestProgress.xhtml b/application/views/sidebars/requestProgress.xhtml index b8984d6c..7ff05398 100644 --- a/application/views/sidebars/requestProgress.xhtml +++ b/application/views/sidebars/requestProgress.xhtml @@ -9,7 +9,7 @@ <div class="content"> <ul> <li class="completed"> - <a href="/Request/courseID">Course ID</a> + <a href="/Request/CourseID">Course ID</a> </li> <li> <a href="/Request/CreditHours">Credit Hours</a> diff --git a/document_root/javascript/request/edit_wrapper.js b/document_root/javascript/request/edit_wrapper.js index 3de6c513..5f9eeb6b 100644 --- a/document_root/javascript/request/edit_wrapper.js +++ b/document_root/javascript/request/edit_wrapper.js @@ -12,6 +12,12 @@ function onEditWrapperLoad() for(var i = 0; i < removeButtons.length; i++) { removeButtons[i].onclick = handleRemoveRecord; } + + var requestProgress = document.getElementById('requestProgress'); + var requestProgressLinks = requestProgress.getElementsByTagName('a'); + for (var i = 0; i < requestProgressLinks.length; i++) { + requestProgressLinks[i]. onclick = handleRequestProgressLinkClicked; + } } function handleAddRecord() @@ -71,5 +77,20 @@ function handleRemoveRecord() currentTable.removeChild(currentTR); + return false; +} + +function handleRequestProgressLinkClicked() +{ + var editRequestForm = document.getElementById('editRequestForm'); + var submitType = document.createElement('input'); + submitType.type = 'hidden'; + submitType.name = 'submitType'; + submitType.value = this.href.split('/').pop(); + editRequestForm.appendChild(submitType); + editRequestForm.submit( ); + + + return false; } -- GitLab