From ce79709238272a82d048ae7e36540515e1a366cc Mon Sep 17 00:00:00 2001 From: Tim Steiner <tsteiner2@unl.edu> Date: Mon, 19 Nov 2007 16:41:18 +0000 Subject: [PATCH] Auto-update of grad tie-in course code. --- application/controllers/RequestController.php | 1 + application/views/request/course_id.xhtml | 6 +- document_root/javascript/request/courseId.js | 65 +++++++++++++++++++ 3 files changed, 69 insertions(+), 3 deletions(-) create mode 100644 document_root/javascript/request/courseId.js diff --git a/application/controllers/RequestController.php b/application/controllers/RequestController.php index 9562103e..93f9117f 100755 --- a/application/controllers/RequestController.php +++ b/application/controllers/RequestController.php @@ -612,6 +612,7 @@ class RequestController extends Nmc_Controller_Action $view->addCssFile('/ooss/request/course_id'); $view->addJsFile('/tinymce/jscripts/tiny_mce/tiny_mce.js'); $view->addJsFile('/javascript/mce.js'); + $view->addJsFile('/javascript/request/courseId.js'); $view->course = $course; $view->request = $request; diff --git a/application/views/request/course_id.xhtml b/application/views/request/course_id.xhtml index 89a06f00..5893b82a 100644 --- a/application/views/request/course_id.xhtml +++ b/application/views/request/course_id.xhtml @@ -1,15 +1,15 @@ <fieldset class="three_column"> <label> <h2>Subject</h2> - <input type="text" name="subject" value="<?php echo htmlspecialchars($this->course->subject); ?>" /> + <input type="text" name="subject" id="subject" value="<?php echo htmlspecialchars($this->course->subject); ?>" /> </label> <label> <h2>Course Number</h2> - <input type="text" name="courseNumber" value="<?php echo htmlspecialchars($this->course->courseNumber); ?>" /> + <input type="text" name="courseNumber" id="courseNumber" value="<?php echo htmlspecialchars($this->course->courseNumber); ?>" /> </label> <label> <h2>Alpha Suffix (opt.)</h2> - <input type="text" name="courseLetter" value="<?php echo htmlspecialchars($this->course->courseLetter); ?>" /> + <input type="text" name="courseLetter" id="courseLetter" value="<?php echo htmlspecialchars($this->course->courseLetter); ?>" /> </label> </fieldset> <fieldset class="one_column"> diff --git a/document_root/javascript/request/courseId.js b/document_root/javascript/request/courseId.js new file mode 100644 index 00000000..c0439dbc --- /dev/null +++ b/document_root/javascript/request/courseId.js @@ -0,0 +1,65 @@ +addLoadEvent(onCourseIdLoad); + +function onCourseIdLoad() +{ + var subjectNode = document.getElementById('subject'); + subjectNode.previousValue = subjectNode.value; + subjectNode.onchange = handleChangeSubject; + document.getElementById('courseNumber').onchange = handleChangeCourseNumber; + document.getElementById('courseLetter').onchange = handleChangeCourseLetter; +} + + + +function handleChangeSubject() +{ + var previousSubject = this.previousValue; + var currentSubject = this.value; + + this.previousValue = currentSubject; + + var gradTieInRows = getElementsByClass('grad_tie_in_row'); + var noChange = false; + for (var i = 0; i != gradTieInRows.length; i++) { + var gradTieInRow = gradTieInRows[i]; + var gradNode = gradTieInRows[i].childNodes[3].childNodes[1]; + + if (gradNode.value == currentSubject) { + noChange = true; + } + } + + if (noChange) { + return; + } + + for (var i = 0; i != gradTieInRows.length; i++) { + var gradNode = gradTieInRows[i].childNodes[1].childNodes[1]; + + if (gradNode.value == previousSubject) { + gradNode.value = currentSubject; + } + } + +} + +function handleChangeCourseNumber() +{ + var gradNumber = 800 + (this.value % 100); + var gradTieInRows = getElementsByClass('grad_tie_in_row'); + for (var i = 0; i != gradTieInRows.length; i++) { + + gradTieInRows[i].childNodes[3].childNodes[1].value = gradNumber; + } +} + + +function handleChangeCourseLetter() +{ + var gradLetter = this.value; + var gradTieInRows = getElementsByClass('grad_tie_in_row'); + for (var i = 0; i != gradTieInRows.length; i++) { + + gradTieInRows[i].childNodes[5].childNodes[1].value = gradLetter; + } +} \ No newline at end of file -- GitLab