diff --git a/application/controllers/RequestController.php b/application/controllers/RequestController.php
index 1c5a43364dd217d55038676078c2145d16610a7d..562f778409fe9b2b8ab35f7ca6d1b14ac3b7bb6b 100755
--- a/application/controllers/RequestController.php
+++ b/application/controllers/RequestController.php
@@ -131,7 +131,7 @@ class RequestController extends Nmc_Controller_Action
Nmc_Registry_Session::getInstance()->request = $request;
$out = new Application_View();
- $out->location = '/Request/CourseID';
+ $out->location = '/Request/Edit';
$out->render('unlModernWrapper.xhtml');
}
@@ -688,6 +688,28 @@ class RequestController extends Nmc_Controller_Action
echo $out->render('unlModernWrapper.xhtml');
}
+ public function editAction()
+ {
+ $in = $this->getRequest();
+
+ $course = Nmc_Registry_Session::getInstance()->course;
+ $request = Nmc_Registry_Session::getInstance()->request;
+
+ $view = new Application_View();
+ $view->addSidebarModule('bulletinPreview');
+ $view->addCssFile('/ooss/request/fullEdit');
+ $view->addJsFile('/javascript/request/fullEdit.js');
+ $view->addJsFile('/tinymce/jscripts/tiny_mce/tiny_mce.js');
+ $view->addJsFile('/javascript/mce.js');
+ $view->page = 'request/fullEdit';
+ $view->course = $course;
+ $view->request = $request;
+ $view->tagline = 'Edit Request';
+
+ $out = $this->getResponse();
+ $out->setBody($view->render('unlModernWrapper.xhtml'));
+ }
+
protected function _submitRequestAction()
{
try {
diff --git a/application/library/View/Helper/BulletinEntry.php b/application/library/View/Helper/BulletinEntry.php
index 0b997ebc5f4f89aadf8afc0d048979ed3bd38b6a..f5190ef92b51c867f21ed50714b14f8705a7c187 100644
--- a/application/library/View/Helper/BulletinEntry.php
+++ b/application/library/View/Helper/BulletinEntry.php
@@ -55,7 +55,7 @@ class Application_View_Helper_BulletinEntry
}
?>.
- <?php echo $course->title; //title ?>
+ <?php echo htmlentities($course->title); //title ?>
</b>
<?php
$shortCrosslisting = array();
diff --git a/application/library/View/Helper/BulletinEntryDiff.php b/application/library/View/Helper/BulletinEntryDiff.php
new file mode 100644
index 0000000000000000000000000000000000000000..19452502262c11f3bf5dfc82b7ecf5614df76a93
--- /dev/null
+++ b/application/library/View/Helper/BulletinEntryDiff.php
@@ -0,0 +1,360 @@
+<?php
+
+class Application_View_Helper_BulletinEntryDiff
+{
+ static protected $_diffRenderer;
+
+ public function bulletinEntryDiff($currentCourse, $proposedCourse)
+ {
+ // ES and IS
+ $currentES = ($currentCourse->isEssentialStudies() == true ? '[ES]' : '');
+ $proposedES = ($proposedCourse->isEssentialStudies() == true ? '[ES]' : '');
+ $diffES = $this->_getDiffText($currentES, $proposedIS);
+
+ $currentIS = ($currentCourse->integratedStudies == 'yes' ? '[IS]' : '');
+ $proposedIS = ($proposedCourse->integratedStudies == 'yes' ? '[IS]' : '');
+ $diffIS = $this->_getDiffText($currentIS, $proposedIS);
+
+ $cs = $currentCourse->subject;
+ $ps = $proposedCourse->subject;
+ $diffSubject = $this->_getDiffText($currentCourse->subject, $proposedCourse->subject);
+
+
+ // course number with same-subject crosslistings
+ if( in_array('Classroom', $currentCourse->deliveryMethods)
+ || in_array('Web', $currentCourse->deliveryMethods)
+ || $currentCourse->deliveryMethods[0] == ''
+ || count($currentCourse->deliveryMethods) == 0) {
+ $currentCourseId = $currentCourse->courseNumber . $currentCourse->courseLetter;
+ foreach($currentCourse->crosslistings as $crosslisting) {
+ if($crosslisting->type == 'home listing') {
+ continue;
+ }
+ if($crosslisting->subject == $course->subject) {
+ $currentCourseId .= '/' . $crosslisting->courseNumber . $crosslisting->courseLetter;
+ }
+ }
+ }
+ if( in_array('Classroom', $proposedCourse->deliveryMethods)
+ || in_array('Web', $proposedCourse->deliveryMethods)
+ || $proposedCourse->deliveryMethods[0] == ''
+ || count($proposedCourse->deliveryMethods) == 0) {
+ $proposedCourseId = $proposedCourse->courseNumber . $proposedCourse->courseLetter;
+ foreach($proposedCourse->crosslistings as $crosslisting) {
+ if($crosslisting->type == 'home listing') {
+ continue;
+ }
+ if($crosslisting->subject == $course->subject) {
+ $proposedCourseId .= '/' . $crosslisting->courseNumber . $crosslisting->courseLetter;
+ }
+ }
+ }
+ $diffCourseId = $this->_getDiffText($currentCourseId, $proposedCourseId);
+
+
+ // course number with 'x' for correspondence courses
+ if(in_array('Correspondence', $currentCourse->deliveryMethods)) {
+ $currentCorrespondence = ' [' . $currentCourse->courseNumber . $currentCourse->courseLetter . 'x';
+ foreach($currentCourse->crosslistings as $crosslisting) {
+ if ($crosslisting->type == 'home listing') {
+ continue;
+ }
+ if($crosslisting->subject == $course->subject) {
+ $currentCorrespondence .= '/' . $crosslisting->courseNumber . $crosslisting->courseLetter . 'x';
+ }
+ }
+ $currentCorrespondence .= ']';
+ }
+ if(in_array('Correspondence', $proposedCourse->deliveryMethods)) {
+ $proposedCorrespondence = ' [' . $proposedCourse->courseNumber . $proposedCourse->courseLetter . 'x';
+ foreach($proposedCourse->crosslistings as $crosslisting) {
+ if ($crosslisting->type == 'home listing') {
+ continue;
+ }
+ if($crosslisting->subject == $course->subject) {
+ $proposedCorrespondence .= '/' . $crosslisting->courseNumber . $crosslisting->courseLetter . 'x';
+ }
+ }
+ $proposedCorrespondence .= ']';
+ }
+ $diffCorrespondence = $this->_getDiffText($currentCorrespondence, $proposedCorrespondence);
+
+ $diffTitle = $this->_getDiffText($currentCourse->title, $proposedCourse->title);
+
+
+ // crosslistings in parenthesis
+ $shortCrosslisting = array();
+ foreach($currentCourse->crosslistings as $crosslisting) {
+ if($crosslisting->type == 'home listing') {
+ continue;
+ }
+ if($crosslisting->subject != $currentCourse->subject) {
+ $shortCrosslisting[$crosslisting->subject][] = $crosslisting->courseNumber
+ . $crosslisting->courseLetter;
+ }
+ }
+ if(count($shortCrosslisting) > 0) {
+ $currentCrosslistings = '(';
+ $subjectListings = array();
+ foreach($shortCrosslisting as $subject => $number) {
+ $subjectListings[] = $subject . ' ' . implode('/', $number);
+ }
+ $currentCrosslistings .= implode(', ', $subjectListings);
+ $currentCrosslistings .= ')';
+ }
+
+ $shortCrosslisting = array();
+ foreach($proposedCourse->crosslistings as $crosslisting) {
+ if($crosslisting->type == 'home listing') {
+ continue;
+ }
+ if($crosslisting->subject != $proposedCourse->subject) {
+ $shortCrosslisting[$crosslisting->subject][] = $crosslisting->courseNumber
+ . $crosslisting->courseLetter;
+ }
+ }
+ if(count($shortCrosslisting) > 0) {
+ $proposedCrosslistings = '(';
+ $subjectListings = array();
+ foreach($shortCrosslisting as $subject => $number) {
+ $subjectListings[] = $subject . ' ' . implode('/', $number);
+ }
+ $proposedCrosslistings .= implode(', ', $subjectListings);
+ $proposedCrosslistings .= ')';
+ }
+
+ $diffCrosslistings = $this->_getDiffText($currentCrosslistings, $proposedCrosslistings);
+
+
+
+
+ // credits
+ $singleCredits = array();
+ $minRange = '';
+ $maxRange = '';
+ $maxSemester = '';
+ $maxMajor = '';
+ foreach($currentCourse->credits as $credit) {
+ if($credit->type == 1) {
+ $singleCredits[] = $credit->hours;
+ } else if($credit->type == 2) {
+ $minRange = $credit->hours;
+ } else if($credit->type == 3) {
+ $maxRange = $credit->hours;
+ } else if($credit->type == 4) {
+ $maxSemester = $credit->hours;
+ } else if($credit->type == 5) {
+ $maxMajor = $credit->hours;
+ }
+ }
+ $creditListings = array();
+ if(count($singleCredits) > 0) {
+ $creditListings[] = implode(' or ', $singleCredits) . ' cr';
+ }
+ if($minRange != '' && $maxRange != '') {
+ $creditListings[] = $minRange . '-' . $maxRange . ' cr';
+ }
+ if($maxSemester != '') {
+ $creditListings[] = $maxSemester . ' cr per sem';
+ }
+ if($maxMajor != '') {
+ $creditListings[] = 'max ' . $maxMajor;
+ }
+
+ if(count($currentCourse->termsOffered) > 0 && count($currentCourse->termsOffered) < 3) {
+ $termsOffered = implode(', ', $currentCourse->termsOffered);
+ $termsOffered = strtr($termsOffered, array('Fall' => 'I', 'Spring' => 'II', 'Summer' => 'III'));
+ }
+
+ if(count($creditListings) > 0) {
+ $currentCredits = '(' . implode(', ', $creditListings);
+ if($termsOffered != '') {
+ $currentCredits .= ' ' . $termsOffered;
+ }
+ $currentCredits .= ')';
+ } else if($termsOffered != '') {
+ $currentCredits = '(' . $termsOffered . ')';
+ }
+
+ $singleCredits = array();
+ $minRange = '';
+ $maxRange = '';
+ $maxSemester = '';
+ $maxMajor = '';
+ foreach($proposedCourse->credits as $credit) {
+ if($credit->type == 1) {
+ $singleCredits[] = $credit->hours;
+ } else if($credit->type == 2) {
+ $minRange = $credit->hours;
+ } else if($credit->type == 3) {
+ $maxRange = $credit->hours;
+ } else if($credit->type == 4) {
+ $maxSemester = $credit->hours;
+ } else if($credit->type == 5) {
+ $maxMajor = $credit->hours;
+ }
+ }
+ $creditListings = array();
+ if(count($singleCredits) > 0) {
+ $creditListings[] = implode(' or ', $singleCredits) . ' cr';
+ }
+ if($minRange != '' && $maxRange != '') {
+ $creditListings[] = $minRange . '-' . $maxRange . ' cr';
+ }
+ if($maxSemester != '') {
+ $creditListings[] = $maxSemester . ' cr per sem';
+ }
+ if($maxMajor != '') {
+ $creditListings[] = 'max ' . $maxMajor;
+ }
+
+ if(count($proposedCourse->termsOffered) > 0 && count($proposedCourse->termsOffered) < 3) {
+ $termsOffered = implode(', ', $proposedCourse->termsOffered);
+ $termsOffered = strtr($termsOffered, array('Fall' => 'I', 'Spring' => 'II', 'Summer' => 'III'));
+ }
+
+ if(count($creditListings) > 0) {
+ $proposedCredits = '(' . implode(', ', $creditListings);
+ if($termsOffered != '') {
+ $proposedCredits .= ' ' . $termsOffered;
+ }
+ $proposedCredits .= ')';
+ } else if($termsOffered != '') {
+ $proposedCredits = '(' . $termsOffered . ')';
+ }
+
+ $diffCredits = $this->_getDiffText($currentCredits, $proposedCredits);
+
+
+
+
+
+
+ // campuses
+ if (count($currentCourse->campuses) > 1 || !in_array($currentCourse->campuses[0], array('UNL', ''))) {
+ $currentCampuses = '(' . implode(', ', $currentCourse->campuses) . ')';
+ }
+ if (count($proposedCourse->campuses) > 1 || !in_array($proposedCourse->campuses[0], array('UNL', ''))) {
+ $proposedCampuses = '(' . implode(', ', $proposedCourse->campuses) . ')';
+ }
+ $diffCampuses = $this->_getDiffText($currentCampuses, $proposedCampuses);
+
+
+
+
+
+ // activities
+ $activityListing = array();
+ foreach($currentCourse->activities as $activity) {
+ $newActivityListing = $activity->type;
+ if($activity->hours != '' && $activity->hours != '0') {
+ $newActivityListing .= ' ' . $activity->hours;
+ }
+ $activityListing[] = $newActivityListing;
+ }
+ if(count($activityListing) > 0) {
+ $currentActivities = ucfirst(implode(', ', $activityListing) . '.');
+ }
+
+ $activityListing = array();
+ foreach($proposedCourse->activities as $activity) {
+ $newActivityListing = $activity->type;
+ if($activity->hours != '' && $activity->hours != '0') {
+ $newActivityListing .= ' ' . $activity->hours;
+ }
+ $activityListing[] = $newActivityListing;
+ }
+ if(count($activityListing) > 0) {
+ $proposedActivities = ucfirst(implode(', ', $activityListing) . '.');
+ }
+
+ $diffActivities = $this->_getDiffText($currentActivities, $proposedActivities);
+
+
+
+
+ $diffPrereq = $this->_getDiffText($currentCourse->prerequisite, $proposedCourse->prerequisite);
+ $diffNotes = $this->_getDiffText($currentCourse->notes, $proposedCourse->notes);
+ $diffDescription = $this->_getDiffText($currentCourse->description, $proposedCourse->description);
+
+
+
+
+ ob_start();
+ ?>
+ <div class="bulletinEntry">
+ <div>
+ <?php echo $diffES; ?>
+ <?php echo $diffIS; ?>
+ <b>
+ <?php
+ // subject
+ echo $diffSubject . ' ';
+
+ // course number with same-subject crosslistings
+ echo $diffCourseId;
+
+ // course number with 'x' for correspondence courses
+ echo $diffCorrespondence;
+
+ ?>.
+ <?php echo $diffTitle; //title ?>
+ </b>
+ <?php
+ // crosslistings in parenthesis
+ echo $diffCrosslistings;
+ ?>
+
+ <?php
+ // credits
+ echo $diffCredits;
+ ?>
+
+ <?php
+ // campuses
+ echo $diffCampuses;
+ ?>
+
+ <?php
+ // activities
+ echo $diffActivities;
+
+ ?>
+ <?php if($diffPrereq != '') { ?>
+ Prereq: <?php echo $diffPrereq; ?>
+ <?php } ?>
+ <em><?php echo $diffNotes; ?></em>
+ </div>
+
+ <?php echo $diffDescription; ?>
+
+
+ </div>
+ <?php
+ return ob_get_clean();
+ }
+
+ protected function _getDiffText($current, $proposed)
+ {
+ $delim = ' ';
+
+ if (!self::$_diffRenderer) {
+ self::$_diffRenderer = new Text_Diff_Renderer_inline();
+ }
+
+ $currentArray = array();
+ for($tok = strtok($current, $delim); $tok !== false; $tok = strtok($delim)) {
+ $currentArray[] = $tok;
+ }
+
+ $proposedArray = array();
+ for($tok = strtok($proposed, $delim); $tok !== false; $tok = strtok($delim)) {
+ $proposedArray[] = $tok;
+ }
+
+ $diff = new Text_Diff('auto', array($currentArray, $proposedArray));
+ $diffText = ($diff->isEmpty() ? $current : self::$_diffRenderer->render($diff));
+
+ return $diffText;
+ }
+}
\ No newline at end of file
diff --git a/application/views/home.xhtml b/application/views/home.xhtml
index bb6b995789babdee81d49acc458e20672c97a4fe..b6bb72d55b4a9ff273359b54b7a10b19bf5296ce 100755
--- a/application/views/home.xhtml
+++ b/application/views/home.xhtml
@@ -29,7 +29,10 @@ function MM_swapImage() { //v3.0
<div class="box_shadow_2">
<div class="tr"></div>
<div class="tl">
- <h2>Announcements </h2>
+ <h2>
+ Announcements
+ <img src="/images/arrow1.png" alt="arrow 1" class="toggle_arrow" />
+ </h2>
<h3><em>User ID:</em> <?php echo Nmc_User::getInstance()->getUser()->getUserName(); ?></h3>
</div>
<div class="bl"></div>
@@ -43,7 +46,10 @@ function MM_swapImage() { //v3.0
<div class="box_shadow_2">
<div class="tr"></div>
<div class="tl">
- <h2>Saved Requests</h2>
+ <h2>
+ Saved Requests
+ <img src="/images/arrow1.png" alt="arrow 1" class="toggle_arrow" />
+ </h2>
<h3><em></em></h3>
</div>
<div class="bl"></div>
@@ -85,7 +91,10 @@ function MM_swapImage() { //v3.0
<div class="box_shadow_2">
<div class="tr"></div>
<div class="tl">
- <h2>My Submissions</h2>
+ <h2>
+ My Submissions
+ <img src="/images/arrow1.png" alt="arrow 1" class="toggle_arrow" />
+ </h2>
<h3><em></em></h3>
</div>
<div class="bl"></div>
@@ -114,7 +123,7 @@ function MM_swapImage() { //v3.0
<td><?php echo $request->getCourseGeneration()->subject . ' '
. $request->getCourseGeneration()->courseNumber
. $request->getCourseGeneration()->courseLetter; ?></td>
- <td>NONC</td>
+ <td><?php echo get_class($course->subject); ?></td>
<td><?php echo $request->type->name; ?></td>
<td><?php echo $request->getCurrentApprovalBody()->name; ?></td>
<td>
@@ -153,7 +162,10 @@ function MM_swapImage() { //v3.0
<div class="box_shadow_2">
<div class="tr"></div>
<div class="tl">
- <h2><?php echo $role->name;?></h2>
+ <h2>
+ <?php echo $role->name;?>
+ <img src="/images/arrow1.png" alt="arrow 1" class="toggle_arrow" />
+ </h2>
<h3><em></em> </h3>
</div>
<div class="bl"></div>
diff --git a/application/views/request/course_id.xhtml b/application/views/request/course_id.xhtml
index 63242017dbdb4d1853fbe74e7389588810ac1028..89a06f000cb729d4bf75143d29ee6d19a10289a0 100644
--- a/application/views/request/course_id.xhtml
+++ b/application/views/request/course_id.xhtml
@@ -64,7 +64,7 @@
</tr>
<tr>
<td colspan="4">
- <a href="#" class="add_record_button">Add Crosslisting</a>
+ <a href="#" class="add_record_button"><img src="/images/cross_listing_button.png" alt="Add Crosslisting" /></a>
<?php if(!$hasTieIn) { ?>
<a href="#"
class="add_record_button"
@@ -72,7 +72,7 @@
. '_' . $this->course->courseNumber
. '_' . $this->course->courseLetter; ?>"
>
- Add Graduate Tie-In
+ <img src="/images/grad_tie_button.png" alt="Add Graduate Tie-In" />
</a>
<?php } ?>
</td>
diff --git a/application/views/request/edit_wrapper.xhtml b/application/views/request/edit_wrapper.xhtml
index 36e9256ffba57c12cea0598bc915b79c762e2da3..40d2364e2d0e938d4f0160484086bb81d0af2264 100644
--- a/application/views/request/edit_wrapper.xhtml
+++ b/application/views/request/edit_wrapper.xhtml
@@ -1,5 +1,9 @@
<form id="editRequestForm" action="/Request/update" method="post" enctype="multipart/form-data">
<input id="prev_button" type="submit" name="submitType" value="< Prev" />
<input id="next_button" type="submit" name="submitType" value="Next >" />
+
+ <!-- input id="prev_button" type="image" src="/images/prev_button.png" name="submitType" value="< Prev" />
+ <input id="next_button" type="image" src="/images/next_button.png" name="submitType" value="Next >" /-->
+
<?php @include('' . $this->requestPage . '.xhtml'); ?>
</form>
diff --git a/application/views/request/fullEdit.xhtml b/application/views/request/fullEdit.xhtml
new file mode 100644
index 0000000000000000000000000000000000000000..5ee7f3b08b155707d1e87249ad9fd03ea210968a
--- /dev/null
+++ b/application/views/request/fullEdit.xhtml
@@ -0,0 +1,659 @@
+<form action="/Request/Update/" enctype="multipart/form-data" method="post">
+
+
+
+
+
+<div class="main_section">
+<h2>Course ID</h2>
+
+ <fieldset class="three_column" id="courseId">
+ <div class="column">
+ <label for="subject" class="required">Subject:</label>
+ <input type="text"
+ id="subject"
+ name="subject"
+ value="<?php echo htmlentities($this->course->subject, ENT_COMPAT, 'UTF-8'); ?>" />
+ </div>
+
+
+ <div class="column">
+ <label for="courseNumber" class="required">Course Number:</label>
+ <input type="text"
+ id="courseNumber"
+ name="courseNumber"
+ value="<?php echo htmlentities($this->course->courseNumber, ENT_COMPAT, 'UTF-8'); ?>" />
+ </div>
+
+ <div class="column">
+ <label for="courseLetter">Course Letter:</label>
+ <input type="text"
+ id="courseLetter"
+ name="courseLetter"
+ value="<?php echo htmlentities($this->course->courseLetter, ENT_COMPAT, 'UTF-8'); ?>" />
+ </div>
+
+ <div class="clear"></div>
+ </fieldset>
+
+
+ <fieldset>
+ <label for="title" class="required">Course Title:</label>
+ <input type="text" id="title" name="title" value="<?php echo htmlentities($this->course->title, ENT_COMPAT, 'UTF-8'); ?>" />
+
+ <div class="clear"></div>
+ </fieldset>
+
+
+ <fieldset class="three_column">
+ <h3>Crosslistings</h3>
+ <table>
+ <?php $hasTieIn = false;
+ foreach($this->course->crosslistings as $key => $crosslist) {
+ if($crosslist->type == 'grad tie-in') { $hasTieIn = true; }
+ if($crosslist->type != 'home listing') { ?>
+ <tr <?php if($crosslist->type == 'grad tie-in') { ?>class="grad_tie_in_row"<?php } ?>>
+ <th> Subject: </th>
+ <td> <input type="text"
+ name="crosslistings[<?php echo $key; ?>][subject]"
+ value="<?php echo $crosslist->subject; ?>"
+ <?php if($crosslist->type == 'grad tie-in') { ?>readonly=""<?php } ?>/> </td>
+ <th> Course Number: </th>
+ <td> <input type="text"
+ name="crosslistings[<?php echo $key; ?>][courseNumber]"
+ value="<?php echo $crosslist->courseNumber; ?>"
+ <?php if($crosslist->type == 'grad tie-in') { ?>readonly=""<?php } ?> /> </td>
+ <th> Course Letter: </th>
+ <td> <input type="text"
+ name="crosslistings[<?php echo $key; ?>][courseLetter]"
+ value="<?php echo $crosslist->courseLetter; ?>"
+ <?php if($crosslist->type == 'grad tie-in') { ?>readonly=""<?php } ?> /> </td>
+ <td class="hidden">
+ <input type="hidden"
+ name="crosslistings[<?php echo $key; ?>][type]"
+ value="<?php echo $crosslist->type; ?>" />
+ </td>
+ <td> <input type="checkbox"
+ id="crosslistings_<?php echo $key; ?>_delete"
+ name="crosslistings[<?php echo $key; ?>][delete]"
+ value="yes" />
+ <label for="crosslistings_<?php echo $key; ?>_delete">Remove</label>
+ </td>
+ </tr>
+ <?php } } ?>
+ <tr class="hidden_new_record">
+ <th> Subject: </th>
+ <td> <input disabled="disabled" type="text" name="crosslistings[__key__][subject]" /> </td>
+ <th> Course Number: </th>
+ <td> <input disabled="disabled" type="text" name="crosslistings[__key__][courseNumber]" /> </td>
+ <th> Course Letter: </th>
+ <td> <input disabled="disabled" type="text" name="crosslistings[__key__][courseLetter]" /> </td>
+ <td class="hidden"> <input disabled="disabled" type="hidden" name="crosslistings[__key__][type]" value="crosslisting" /> </td>
+ <td> <a href="#" class="remove_record_button">Remove</a> </td>
+ </tr>
+ <tr>
+ <td colspan="4">
+ <a href="#" class="add_record_button"><img src="/images/cross_listing_button.png" alt="Add Crosslisting" /></a>
+ <?php if(!$hasTieIn) { ?>
+ <a href="#"
+ class="add_record_button"
+ id="add_tie_in_button_<?php echo $this->course->subject
+ . '_' . $this->course->courseNumber
+ . '_' . $this->course->courseLetter; ?>"
+ >
+ <img src="/images/grad_tie_button.png" alt="Add Graduate Tie-In" />
+ </a>
+ <?php } ?>
+ </td>
+ </tr>
+ </table>
+ </fieldset>
+</div>
+
+
+
+
+
+
+
+<div class="main_section">
+<h2>Credit Hours</h2>
+
+ <div class="two_column">
+ <fieldset id="credits" class="column">
+ <h3 class="required">Credit (leave blank if not defined)</h3>
+
+ <div>
+ <label for="creditsSingleValues">Single Values</label>
+ <input type="text"
+ name="credits[1]"
+ id="creditsSingleValues"
+ value="<?php echo $this->creditsSingleValues; ?>" />
+ </div>
+ <div>
+ <label>Range</label>
+ <input type="text"
+ name="credits[2]"
+ value="<?php echo $this->creditsRangeMin; ?>" /> -
+ <input type="text"
+ name="credits[3]"
+ value="<?php echo $this->creditsRangeMax; ?>" />
+ </div>
+ <div>
+ <label>Max per Semester</label>
+ <input type="text"
+ name="credits[4]"
+ value="<?php echo $this->creditsMaxPerSemester; ?>" />
+ </div>
+ <div>
+ <label>Max per Degree</label>
+ <input type="text"
+ name="credits[5]"
+ value="<?php echo $this->creditsMaxPerDegree; ?>" />
+ </div>
+ </fieldset>
+
+
+ <fieldset class="three_column column">
+ <h3>Terms Offered<br />(Remove terms never taught)</h3>
+
+ <label>
+ <input type="checkbox"
+ name="termsOffered[]"
+ value="Fall"
+ <?php if(in_array('Fall', $this->course->termsOffered)) { ?>
+ checked="checked"
+ <?php } ?>
+ />
+ Fall
+ </label>
+ <br />
+ <label>
+ <input type="checkbox"
+ name="termsOffered[]"
+ value="Spring"
+ <?php if(in_array('Spring', $this->course->termsOffered)) { ?>
+ checked="checked"
+ <?php } ?>
+ />
+ Spring
+ </label>
+ <br />
+ <label>
+ <input type="checkbox"
+ name="termsOffered[]"
+ value="Summer"
+ <?php if(in_array('Summer', $this->course->termsOffered)) { ?>
+ checked="checked"
+ <?php } ?>
+ />
+ Summer
+ </label>
+ </fieldset>
+ </div>
+ <div class="clear"></div>
+
+
+ <fieldset class="two_of_three_column" id="activities">
+ <h3>Activity</h3>
+ <table>
+ <?php foreach($this->course->activities as $key => $activity) { ?>
+ <tr>
+ <th> Type </th>
+ <td>
+ <select name="activities[<?php echo $key; ?>][type]">
+ <option value="-1">--Select One--</option>
+ <option value="lec"
+ <?php if($activity->type == 'lec') { ?>selected="selected"<?php } ?>
+ >Lecture</option>
+ <option value="lab"
+ <?php if($activity->type == 'lab') { ?>selected="selected"<?php } ?>
+ >Lab</option>
+ <option value="quz"
+ <?php if($activity->type == 'quz') { ?>selected="selected"<?php } ?>
+ >Quiz</option>
+ <option value="rct"
+ <?php if($activity->type == 'rct') { ?>selected="selected"<?php } ?>
+ >Recitation</option>
+ <option value="stu"
+ <?php if($activity->type == 'stu') { ?>selected="selected"<?php } ?>
+ >Studio</option>
+ <option value="fld"
+ <?php if($activity->type == 'fld') { ?>selected="selected"<?php } ?>
+ >Field</option>
+ <option value="ind"
+ <?php if($activity->type == 'ind') { ?>selected="selected"<?php } ?>
+ >Independent Study</option>
+ <option value="psi"
+ <?php if($activity->type == 'psi') { ?>selected="selected"<?php } ?>
+ >P.S.I.</option>
+ </select>
+ </td>
+ <th> Hours per week </th>
+ <td> <input type="text"
+ name="activities[<?php echo $key; ?>][hours]"
+ value="<?php echo $activity->hours; ?>" /> </td>
+ <td> <input type="checkbox"
+ name="activities[<?php echo $key; ?>][delete]"
+ value="yes" /> </td>
+ </tr>
+ <?php } ?>
+ <tr class="hidden_new_record">
+ <th> Type </th>
+ <td>
+ <select disabled="disabled" name="activities[__key__][type]">
+ <option value="-1">--Select One--</option>
+ <option value="lec">Lecture</option>
+ <option value="lab">Lab</option>
+ <option value="quz">Quiz</option>
+ <option value="rct">Recitation</option>
+ <option value="stu">Studio</option>
+ <option value="fld">Field</option>
+ <option value="ind">Independent Study</option>
+ <option value="psi">P.S.I.</option>
+ </select>
+ </td>
+ <th> Hours per week </th>
+ <td> <input disabled="disabled" type="text" name="activities[__key__][hours]" /> </td>
+ <td> <a href="#" class="remove_record_button">Remove</a> </td>
+ </tr>
+ <tr>
+ <td colspan="3">
+ <a href="#" class="add_record_button">Add Activity</a>
+ </td>
+ </tr>
+ </table>
+ </fieldset>
+
+
+ <h3>Prerequisite</h3>
+ <fieldset>
+ <textarea id="prerequisite" name="prerequisite" class="mceEditor"><?php echo htmlentities($this->course->prerequisite, ENT_COMPAT, 'UTF-8'); ?></textarea>
+ </fieldset>
+
+
+ <div class="clear"></div>
+
+</div>
+
+
+
+
+
+
+<div class="main_section two_column" id="credits_and_terms_section">
+<h2>Time, Locations Taught</h2>
+
+
+ <fieldset class="four_column">
+ <div class="legend">Grading:</div>
+
+ <div class="column">
+ <input type="radio"
+ class="radio"
+ id="gradingType_unrestricted"
+ name="gradingType"
+ value="unrestricted"
+ <?php if($this->course->gradingType == 'unrestricted') { ?>
+ checked="checked"
+ <?php } ?>
+ />
+ <label for="gradingType_unrestricted">Unrestricted</label>
+ </div>
+
+ <div class="column">
+ <input type="radio"
+ class="radio"
+ id="gradingType_letter_grade_only"
+ name="gradingType"
+ value="letter grade only"
+ <?php if($this->course->gradingType == 'letter grade only') { ?>
+ checked="checked"
+ <?php } ?>
+ />
+ <label for="gradingType_letter_grade_only">Letter Grade Only</label>
+ </div>
+
+ <div class="column">
+ <input type="radio"
+ class="radio"
+ id="gradingType_pass_no_pass_only"
+ name="gradingType"
+ value="pass/no pass only"
+ <?php if($this->course->gradingType == 'pass/no pass only') { ?>
+ checked="checked"
+ <?php } ?>
+ />
+ <label for="gradingType_pass_no_pass_only">Pass / No Pass Only</label>
+ </div>
+
+ <div class="clear"></div>
+ </fieldset>
+
+
+ <?php if (!in_array($this->request->type->name, array('NewCourse', 'NewCourseWithIS'))) { ?>
+ <fieldset class="four_column">
+ <div class="legend">DF Removal:</div>
+ <div class="column">
+ <input type="radio"
+ id="dfRemoval_no"
+ class="radio"
+ name="dfRemoval"
+ value="no"
+ <?php if($this->course->dfRemoval == 'no') { ?>
+ checked="checked"
+ <?php } ?>
+ />
+ <label for="dfRemoval_no">No</label>
+ </div>
+
+ <div class="column">
+ <input type="radio"
+ id="dfRemoval_yes"
+ class="radio"
+ name="dfRemoval"
+ value="yes"
+ <?php if($this->course->dfRemoval == 'yes') { ?>
+ checked="checked"
+ <?php } ?>
+ />
+ <label for="dfRemoval_yes">Yes</label>
+ </div>
+
+ <div class="clear"></div>
+ </fieldset>
+ <?php } else { ?>
+ <input type="hidden" name="dfRemoval" value="no" />
+ <?php } ?>
+
+
+ <fieldset class="four_column">
+ <div class="legend required">Delivery Method(s):</div>
+
+ <div class="column">
+ <input type="checkbox"
+ id="deliveryMethods_classroom"
+ name="deliveryMethods[]"
+ value="Classroom"
+ <?php if(in_array('Classroom', $this->course->deliveryMethods)) { ?>
+ checked="checked"
+ <?php } ?>
+ />
+ <label for="deliveryMethods_classroom">Classroom</label>
+ </div>
+
+ <div class="column">
+ <input type="checkbox"
+ id="deliveryMethods_web"
+ name="deliveryMethods[]"
+ value="Web"
+ <?php if(in_array('Web', $this->course->deliveryMethods)) { ?>
+ checked="checked"
+ <?php } ?>
+ />
+ <label for="deliveryMethods_web">Web</label>
+ </div>
+
+ <div class="column">
+ <input type="checkbox"
+ id="deliveryMethods_correspondence"
+ name="deliveryMethods[]"
+ value="Correspondence"
+ <?php if(in_array('Correspondence', $this->course->deliveryMethods)) { ?>
+ checked="checked"
+ <?php } ?>
+ />
+ <label for="deliveryMethods_correspondence">Correspondence</label>
+ </div>
+
+ <div class="clear"></div>
+ </fieldset>
+
+
+ <fieldset class="four_column" id="campuses">
+ <div class="legend required">Campus(es)</div>
+
+ <div class="column">
+ <input type="checkbox"
+ id="campuses_unl"
+ name="campuses[]"
+ value="UNL"
+ <?php if(in_array('UNL', $this->course->campuses)) { ?>
+ checked="checked"
+ <?php } ?>
+ />
+ <label for="campuses_unl">UNL</label>
+ </div>
+ <div class="column">
+ <input type="checkbox"
+ id="campuses_uno"
+ name="campuses[]"
+ value="UNO"
+ <?php if(in_array('UNO', $this->course->campuses)) { ?>
+ checked="checked"
+ <?php } ?>
+ />
+ <label for="campuses_uno">UNO</label>
+ </div>
+ <div class="column">
+ <input type="checkbox"
+ id="campuses_unmc"
+ name="campuses[]"
+ value="UNMC"
+ <?php if(in_array('UNMC', $this->course->campuses)) { ?>
+ checked="checked"
+ <?php } ?>
+ />
+ <label for="campuses_unmc">UNMC</label>
+ </div>
+ <div class="column"> <!-- spacer --></div>
+ <div class="column">
+ <input type="checkbox"
+ id="campuses_unk"
+ name="campuses[]"
+ value="UNK"
+ <?php if(in_array('UNK', $this->course->campuses)) { ?>
+ checked="checked"
+ <?php } ?>
+ />
+ <label for="campuses_unk">UNK</label>
+ </div>
+
+
+ <div class="clear"></div>
+ </fieldset>
+
+
+ <fieldset class="four_column">
+ <div class="legend">IS/ES Status</div>
+
+ <div class="column">
+ <input type="hidden" name="integratedStudies" value="no" />
+ <input type="checkbox"
+ name="__integratedStudies"
+ disabled="disabled"
+ <?php if($this->course->integratedStudies == 'yes') { ?>
+ checked="checked"
+ <?php } ?>
+ />
+ <label>Integrated Studies</label>
+ </div>
+
+ <div class="column">
+ <input type="hidden"
+ name="__essentialStudies"
+ disabled="disabled"
+ value="no" />
+ <input type="checkbox"
+ name="__essentialStudies"
+ disabled="disabled"
+ <?php if($this->course->isEssentialStudies()) { ?>
+ checked="checked"
+ <?php } ?>
+ />
+ <label>Essential Studies</label>
+ </div>
+
+ <div class="clear"></div>
+ </fieldset>
+
+
+ <div class="clear"></div>
+</div>
+
+
+
+
+
+
+
+
+
+<div class="main_section">
+<h2>Notes & Description</h2>
+
+
+ <h3>Notes</h3>
+ <fieldset>
+ <textarea id="notes" name="notes" class="mceEditor"><?php echo htmlentities($this->course->notes, ENT_COMPAT, 'UTF-8'); ?></textarea>
+ </fieldset>
+
+
+ <h3>Description</h3>
+ <fieldset>
+ <textarea id="description" name="description" class="mceEditor"><?php echo htmlentities($this->course->description, ENT_COMPAT, 'UTF-8'); ?></textarea>
+ </fieldset>
+
+
+ <div class="clear"></div>
+
+</div>
+
+
+
+
+
+
+
+
+
+
+<div class="main_section">
+<h2>Graduate Tie-In</h2>
+
+
+ <fieldset>
+ <label>
+ Credits<br />
+ <input type="text" name="gradTieIn[credits]" value="<?php echo $this->course->gradTieIn->credits; ?>" /><br />
+ </label>
+ <label>
+ Prereq<br />
+ <textarea name="gradTieIn[prerequisites]" class="mceEditor"><?php echo $this->course->gradTieIn->prerequisites; ?></textarea><br />
+ </label>
+ <label>
+ Notes<br />
+ <textarea name="gradTieIn[notes]" class="mceEditor"><?php echo $this->course->gradTieIn->notes; ?></textarea>
+ </label>
+ </fieldset>
+
+
+</div>
+
+
+
+
+
+
+
+
+
+
+<div class="main_section">
+<h2>Supportive Material</h2>
+
+
+ <fieldset>
+ <label>
+ <h3 class="required">Justification</h3>
+ <textarea name="request[justification]" class="mceEditor"><?php echo htmlspecialchars($this->request->justification); ?></textarea>
+ </label>
+ </fieldset>
+
+
+ <fieldset>
+ <label>
+ <?php if (in_array($this->request->type->name, array('NewCourse', 'NewCourseWithIS'))) { ?>
+ <h3 class="required">Syllabus</h3>
+ <?php } else { ?>
+ <h3>Syllabus</h3>
+ <?php } ?>
+
+ <?php echo htmlspecialchars($this->request->getFileByType(RequestFile::SYLLABUS_TYPE)->title); ?>
+ <input type="file" name="request[<?php echo RequestFile::SYLLABUS_TYPE; ?>]" />
+ </label>
+ <label>
+ Remove
+ <input type="hidden" name="removeFiles[<?php echo RequestFile::SYLLABUS_TYPE; ?>]" value="no" />
+ <input type="checkbox" name="removeFiles[<?php echo RequestFile::SYLLABUS_TYPE; ?>]" value="yes" />
+ </label>
+ </fieldset>
+
+
+ <fieldset>
+ <label>
+ <h3>Crosslist Memo</h3>
+ <?php echo htmlspecialchars($this->request->getFileByType(RequestFile::CROSSLIST_MEMO_TYPE)->title); ?>
+ <input type="file" name="request[<?php echo RequestFile::CROSSLIST_MEMO_TYPE; ?>]" />
+ </label>
+ <label>
+ Remove
+ <input type="hidden" name="removeFiles[<?php echo RequestFile::CROSSLIST_MEMO_TYPE; ?>]" value="no" />
+ <input type="checkbox" name="removeFiles[<?php echo RequestFile::CROSSLIST_MEMO_TYPE; ?>]" value="yes" />
+ </label>
+ </fieldset>
+
+
+ <?php if(in_array($this->request->type->name, array('NewCourseWithIS', 'AddISToCourse'))) { ?>
+ <fieldset>
+ <label>
+ <h3 class="required">IS Narrative Documentation</h3>
+ <?php echo htmlspecialchars($this->request->getFileByType(RequestFile::IS_NARRATIVE_TYPE)->title); ?>
+ <input type="file" name="request[<?php echo RequestFile::IS_NARRATIVE_TYPE; ?>]" />
+ </label>
+ <label>
+ Remove
+ <input type="hidden" name="removeFiles[<?php echo RequestFile::IS_NARRATIVE_TYPE; ?>]" value="no" />
+ <input type="checkbox" name="removeFiles[<?php echo RequestFile::IS_NARRATIVE_TYPE; ?>]" value="yes" />
+ </label>
+ </fieldset>
+ <?php } ?>
+
+
+ <fieldset>
+ <label>
+ <h3>Additional Documentation (opt.)</h3>
+ <?php echo htmlspecialchars($this->request->getFileByType(RequestFile::OTHER_TYPE)->title); ?>
+ <input type="file" name="request[<?php echo RequestFile::OTHER_TYPE; ?>]" />
+ </label>
+ <label>
+ Remove
+ <input type="hidden" name="removeFiles[<?php echo RequestFile::OTHER_TYPE; ?>]" value="no" />
+ <input type="checkbox" name="removeFiles[<?php echo RequestFile::OTHER_TYPE; ?>]" value="yes" />
+ </label>
+ </fieldset>
+
+
+
+</div>
+
+
+
+
+
+
+
+
+<input type="submit" value="Update Course" />
+
+</form>
\ No newline at end of file
diff --git a/application/views/request/time_location.xhtml b/application/views/request/time_location.xhtml
index b3cc0afc6dad465d272a73ada424910cf4f772ce..6dc29cef9eb04bea77fd7a91c9711902ead5170c 100644
--- a/application/views/request/time_location.xhtml
+++ b/application/views/request/time_location.xhtml
@@ -148,7 +148,6 @@
<input type="checkbox"
name="__integratedStudies"
disabled="disabled"
- value="UNL"
<?php if($this->course->integratedStudies == 'yes') { ?>
checked="checked"
<?php } ?>
@@ -159,7 +158,6 @@
<input type="checkbox"
name="__essentialStudies"
disabled="disabled"
- value="UNO"
<?php if($this->course->isEssentialStudies()) { ?>
checked="checked"
<?php } ?>
diff --git a/application/views/sidebars/bulletinPreview.xhtml b/application/views/sidebars/bulletinPreview.xhtml
index ea1918359ac447374ca4daa62e90d770066484e2..2ba0e9287096fc6bf716cf5cb5792ecfbeebf574 100644
--- a/application/views/sidebars/bulletinPreview.xhtml
+++ b/application/views/sidebars/bulletinPreview.xhtml
@@ -1,13 +1,4 @@
-<div id="ntohunteh" class="titled_box">
- <div class="box_shadow_2">
- <div class="tr"></div>
- <div class="tl">
- <h2>Bulletin Preview</h2>
- </div>
- <div class="bl"></div>
- </div>
- <div class="content">
- <?php echo $this->bulletinEntry($this->course); ?>
- </div>
-</div>
-
+<div id="creqNavigation">
+ <h4>Bulletin Preview</h4>
+ <?php echo $this->bulletinEntry($this->course); ?>
+</div>
\ No newline at end of file
diff --git a/application/views/sidebars/requestProgress.xhtml b/application/views/sidebars/requestProgress.xhtml
index 7ff05398ef46f6631f22b29e68bb84b9396fc7dd..cd955978bec53ba3501d6aced70a7eb0f3877c60 100644
--- a/application/views/sidebars/requestProgress.xhtml
+++ b/application/views/sidebars/requestProgress.xhtml
@@ -1,41 +1,38 @@
-<div id="requestProgress" class="titled_box">
- <div class="box_shadow_2">
- <div class="tr"></div>
- <div class="tl">
- <h2>Course Request Process:</h2>
- </div>
- <div class="bl"></div>
- </div>
+<div id="requestProgress">
+
+ <h4>Course Request Process</h4>
+
<div class="content">
- <ul>
- <li class="completed">
- <a href="/Request/CourseID">Course ID</a>
- </li>
- <li>
- <a href="/Request/CreditHours">Credit Hours</a>
- </li>
- <li>
- <a href="/Request/TimeLocation">Time, Locations Taught</a>
- </li>
- <li>
- <a href="/Request/NotesDescription">Notes & Description</a>
- </li>
- <li>
- <a href="/Request/GraduateTieIn">Graduate Tie-in</a>
- </li>
- <li>
- <a href="/Request/SupportiveMaterial">Supportive Material</a>
- </li>
- <li>
- <!-- <a href="/Request/AdditionalInformation">Additional Course Information</a> -->
- </li>
- <li>
- <a href="/Request/SubmitRequest">Submit Request</a>
- </li>
- </ul>
+ <ul>
+ <li class="completed">
+ <a href="/Request/CourseID">Course ID</a>
+ </li>
+ <li>
+ <a href="/Request/CreditHours">Credit Hours</a>
+ </li>
+ <li>
+ <a href="/Request/TimeLocation">Time, Locations Taught</a>
+ </li>
+ <li>
+ <a href="/Request/NotesDescription">Notes & Description</a>
+ </li>
+ <li>
+ <a href="/Request/GraduateTieIn">Graduate Tie-in</a>
+ </li>
+ <li>
+ <a href="/Request/SupportiveMaterial">Supportive Material</a>
+ </li>
+ <li>
+ <!-- <a href="/Request/AdditionalInformation">Additional Course Information</a> -->
+ </li>
+ <li>
+ <a href="/Request/SubmitRequest">Submit Request</a>
+ </li>
+ </ul>
- <div id="request_type_reminder">
- Request Type: <?php echo $this->request->type->name; ?>
- </div>
+ <div id="request_type_reminder">
+ Request Type: <?php echo $this->request->type->name; ?>
</div>
-</div>
+ </div>
+
+</div>
\ No newline at end of file
diff --git a/application/views/viewRequest.xhtml b/application/views/viewRequest.xhtml
index 8b779a1c772a848f67943f031b54ce614cb7fcbe..11cf38888508b2035fc09b967bab187bd1eab120 100644
--- a/application/views/viewRequest.xhtml
+++ b/application/views/viewRequest.xhtml
@@ -3,138 +3,46 @@
$proposedGeneration = $this->proposedGeneration;
if ($this->currentGeneration) {
$currentGeneration = $this->currentGeneration;
+/****************************CHANGE COURSE*************************************/
?>
- <table>
- <tr>
- <th></th>
- <th>Current</th>
- <th>Proposed</th>
- <th></th>
- </tr>
-
- <?php
- echo $this->courseRequestViewRow(
- 'Course Code',
- $currentGeneration->subject . ' ' . $currentGeneration->courseNumber . $currentGeneration->courseLetter,
- $proposedGeneration->subject . ' ' . $proposedGeneration->courseNumber . $proposedGeneration->courseLetter
- );
-
- echo $this->courseRequestViewRow(
- 'Title',
- $currentGeneration->title,
- $proposedGeneration->title
- );
- ?>
- <tr>
- <th class="leftColumn">Crosslistings</th>
- <td>
- <ul>
- <?php foreach ($currentGeneration->crosslistings as $crosslisting) { ?>
- <li>
- <?php echo $crosslisting->subject; ?>
- <?php echo $crosslisting->courseNumber . $crosslisting->courseLetter; ?>
- </li>
- <?php } ?>
- </ul>
- </td>
- <td>
- <ul>
- <?php foreach ($proposedGeneration->crosslistings as $crosslisting) { ?>
- <li>
- <?php echo $crosslisting->subject; ?>
- <?php echo $crosslisting->courseNumber . $crosslisting->courseLetter; ?>
- </li>
- <?php } ?>
- </ul>
- </td>
- <th class="rightColumn">Crosslistings</th>
- </tr>
-
- <?php
-
- echo $this->courseRequestViewRow(
- 'Credits',
- $this->courseCredits($currentGeneration->credits),
- $this->courseCredits($proposedGeneration->credits)
- );
-
- echo $this->courseRequestViewRow(
- 'Terms Offered',
- implode(', ', $currentGeneration->termsOffered),
- implode(', ', $proposedGeneration->termsOffered)
- );
-
- echo $this->courseRequestViewRow(
- 'Activities',
- $this->courseActivities($currentGeneration->activities),
- $this->courseActivities($proposedGeneration->activities)
- );
-
- echo $this->courseRequestViewRow(
- 'Prerequisites',
- $currentGeneration->prerequisite,
- $proposedGeneration->prerequisite
- );
-
- echo $this->courseRequestViewRow(
- 'Grading',
- $currentGeneration->gradingType,
- $proposedGeneration->gradingType
- );
-
- echo $this->courseRequestViewRow(
- 'Delivery Method(s)',
- implode(', ', $currentGeneration->deliveryMethods),
- implode(', ', $proposedGeneration->deliveryMethods)
- );
-
- echo $this->courseRequestViewRow(
- 'Campus(es)',
- implode(', ', $currentGeneration->campuses),
- implode(', ', $proposedGeneration->campuses)
- );
-
- echo $this->courseRequestViewRow(
- 'Notes',
- $currentGeneration->notes,
- $proposedGeneration->notes
- );
-
- echo $this->courseRequestViewRow(
- 'Description',
- $currentGeneration->description,
- $proposedGeneration->description
- );
-
- ?>
- <tr>
- <th class="leftColumn">Bulletin Entry</th>
- <td><?php echo $this->bulletinEntry($currentGeneration);?></td>
- <td><?php echo $this->bulletinEntry($proposedGeneration);?></td>
- <th class="rightColumn">Bulletin Entry</th>
- </tr>
+ <div class="current">
+ <h2>Current</h2>
+ <div class="bulletinEntry">
+ <?php echo $this->bulletinEntryDiff($currentGeneration, $proposedGeneration); ?>
+ </div>
+ </div>
+ <div class="proposed">
+ <h2>Proposed</h2>
+ <div class="bulletinEntry">
+ <?php echo $this->bulletinEntryDiff($currentGeneration, $proposedGeneration); ?>
+ </div>
+ </div>
+ <div class="clear"></div>
- </table>
<?php
} else {
+/*****************************NEW COURSE***************************************/
?>
<h2>Bulletin Entry</h2>
<?php
echo $this->bulletinEntry($proposedGeneration);
}
+/*****************************COMMON STUFF*************************************/
?>
- <h2>Justification</h2>
- <div><?php echo $this->request->justification; ?></div>
+ <div id="justification">
+ <h2>Justification:</h2>
+ <?php echo $this->request->justification; ?>
+ </div>
<?php
$syllabus = $this->request->getFileByType(RequestFile::SYLLABUS_TYPE);
if ($syllabus) {
?>
- <h2>Syllabus</h2>
- <div>
+ <div id="syllabus">
+ <h2>Syllabus:</h2>
<a href="/Request/GetFile/<?php echo $syllabus->file; ?>">
<?php echo $syllabus->title; ?>
</a>
@@ -146,8 +54,8 @@
$crosslistMemo = $this->request->getFileByType(RequestFile::CROSSLIST_MEMO_TYPE);
if ($crosslistMemo) {
?>
- <h2>Crosslist Memo</h2>
- <div>
+ <div id="crosslistMemo">
+ <h2>Crosslist Memo</h2>
<a href="/Request/GetFile/<?php echo $crosslistMemo->file; ?>">
<?php echo $crosslistMemo->title; ?>
</a>
@@ -159,8 +67,8 @@
$ISNarrative = $this->request->getFileByType(RequestFile::IS_NARRATIVE_TYPE);
if ($ISNarrative) {
?>
- <h2>IS Narrative</h2>
- <div>
+ <div id="isNarrative">
+ <h2>IS Narrative</h2>
<a href="/Request/GetFile/<?php echo $ISNarrative->file; ?>">
<?php echo $ISNarrative->title; ?>
</a>
@@ -168,28 +76,36 @@
<?php } ?>
<div id="comments">
- <h2>Comments</h2>
- <?php foreach ($this->comments as $comment) {
- if ($comment->visibility == 'global' ||
- $comment->user->getPrimaryKey() == Nmc_User::getInstance()->getUser()->getPrimaryKey()) { ?>
- <div class="comment">
- <h3>Text:</h3>
- <div><?php echo $comment->comment; ?></div>
+ <div class="tabBar">
+ <a href="#" id="commentsTab">Comments</a>
+ <a href="#" id="editorCommentsTab">Editor Comments</a>
</div>
- <?php }} ?>
-
- <form method="post" action="/Request/AddComment/<?php echo $this->request->getPrimaryKey(); ?>">
- <div>
- <?php echo $this->formTextarea('comment'); ?>
- </div>
- <div>
- <h3>Visibility</h3>
- <?php echo $this->formRadio('visibility', null, null, array('self' => 'Self only', 'global' => 'Global')); ?>
+ <div class="tabContent" id="commentsContent">
+ <?php foreach ($this->comments as $comment) {
+ if ($comment->visibility == 'global' ||
+ $comment->user->getPrimaryKey() == Nmc_User::getInstance()->getUser()->getPrimaryKey()) { ?>
+ <div class="comment">
+ <h3>Text:</h3>
+ <div><?php echo $comment->comment; ?></div>
</div>
- <div>
- <?php echo $this->formSubmit('submit', 'Add Comment'); ?>
- </div>
- </form>
+ <?php }} ?>
+
+ <form method="post" action="/Request/AddComment/<?php echo $this->request->getPrimaryKey(); ?>">
+ <div>
+ <?php echo $this->formTextarea('comment'); ?>
+ </div>
+ <div>
+ <h3>Visibility</h3>
+ <?php echo $this->formRadio('visibility', null, null, array('self' => 'Self only', 'global' => 'Global')); ?>
+ </div>
+ <div>
+ <?php echo $this->formSubmit('submit', 'Add Comment'); ?>
+ </div>
+ </form>
+ </div>
+ <div class="tabContent" id="editorCommentsContent">
+ EDITOR COMMENTS!
+ </div>
</div>
<div class="clear"></div>
diff --git a/document_root/css/index.oss b/document_root/css/index.oss
index 6b31a6ffae4cbdf5669f8b6a82dcfb20a280a969..9d16afabe2c4d3df6bb5dc18d46d1c14f9a0c7c9 100755
--- a/document_root/css/index.oss
+++ b/document_root/css/index.oss
@@ -18,9 +18,8 @@
width: 220px;
}
- #creqNavigation {
-
-
+ #creqNavigation,
+ #requestProgress {
h4 {
background:#434343 url(/ucomm/templatedependents/templatecss/images/nav_head.gif) no-repeat scroll right top;
border-bottom:3px solid #AF0909;
@@ -37,6 +36,10 @@
margin:3px 1px 0pt 0pt;
padding:5px 0pt 7px 15px;
}
+ }
+
+ #creqNavigation {
+
ul {
list-style-type: none;
diff --git a/document_root/css/request/edit_wrapper.oss b/document_root/css/request/edit_wrapper.oss
index 7dad35adbfecb05b7ea3a02791363b68a0219619..02d67ef0961b07f162423d48d65c63a20974876c 100755
--- a/document_root/css/request/edit_wrapper.oss
+++ b/document_root/css/request/edit_wrapper.oss
@@ -4,12 +4,19 @@
#prev_button {
position: absolute;
top: 5px;
+
+ overflow: hidden;
+ width: 49px;
+ height: 21px;
+ text-indent: -1000px;
}
#next_button {
right: 5px;
+ background-image: url(/images/next_button.png);
}
#prev_button {
left: 5px;
+ background-image: url(/images/prev_button.png);
}
diff --git a/document_root/css/request/fullEdit.oss b/document_root/css/request/fullEdit.oss
new file mode 100644
index 0000000000000000000000000000000000000000..bc72eaa47b57f3a32aeb24c69f3d27bf3141df78
--- /dev/null
+++ b/document_root/css/request/fullEdit.oss
@@ -0,0 +1,120 @@
+div.main_section {
+ position: relative;
+ border: 2px solid #ccc;
+ background-color: #eee;
+ padding: 30px 10px 10px 10px;
+ margin-top: 50px;
+}
+
+#maincontent div.main_section h2 {
+ position: absolute;
+ top: -0.2em;
+ height: 0px;
+ padding: 0px;
+ line-height: 0px;
+}
+
+div.main_section fieldset {
+ margin-bottom: 0px;
+ border-width: 0px;
+ clear: both;
+}
+
+
+
+
+fieldset {
+ margin-top: 2px;
+}
+
+fieldset.three_column div.column {
+ width: 30%;
+ float: left;
+}
+
+fieldset.four_column {
+ position: relative;
+}
+fieldset.four_column div.legend,
+fieldset.four_column div.column {
+ width: 22%;
+ float: left;
+}
+
+div.two_column fieldset.column {
+ float: left;
+ width: 50%;
+ overflow: hidden;
+ clear: none;
+}
+
+textarea {
+ width: 90%;
+ height: 4em;
+}
+
+.hidden_new_record {
+ display: none;
+}
+
+fieldset#courseId input {
+ width: 75px;
+}
+
+#credits input {
+ width: 25px;
+}
+
+#credits div {
+ height: 2em;
+}
+
+#credits label {
+ display: block;
+ width: 150px;
+ float: left;
+ clear: both;
+}
+
+input#title {
+ width: 80%;
+}
+
+input#creditsSingleValues {
+ width: 100px;
+}
+
+fieldset#activities {
+ clear: none;
+}
+
+div.main_section tr:first-child th {
+ font-weight: normal;
+ padding-right: 10px;
+ text-align: left;
+ font-size: 100%;
+ text-indent: 0px;
+}
+div.main_section tr th {
+ overflow: hidden;
+ text-indent: -1000px;
+}
+div.main_section td {
+ padding-right: 15px;
+}
+div.main_section td input[type=text] {
+ width: 75px;
+}
+
+tr.grad_tie_in_row input {
+ color: #111;
+ background-color: #eee;
+}
+
+.hidden {
+ display: none;
+}
+
+body #creqMain .required {
+ color: #a00;
+}
diff --git a/document_root/css/viewrequest.oss b/document_root/css/viewrequest.oss
index 910a49891d875874ceb562152c08861fae8c681b..b8d7678a433fdd5672fd9b793ff86b7ccd574835 100644
--- a/document_root/css/viewrequest.oss
+++ b/document_root/css/viewrequest.oss
@@ -1,5 +1,29 @@
-#viewRequest {
+#viewRequest div.current,
+#viewRequest div.proposed {
+ width: 345px;
+ overflow: hidden;
+}
+
+#viewRequest div.current h2,
+#viewRequest div.proposed h2 {
+ display: block;
+ color: #fff;
+ background-color: #444;
+ padding-left: 5px;
+ border: 1px solid #888;
+ margin-bottom: 2px;
+}
+#viewRequest div.bulletinEntry {
+ border: 1px solid #888;
+ background-color: #ddd;
+}
+
+#viewRequest div.current {
+ float: left;
+}
+#viewRequest div.proposed {
+ float: right;
}
#viewRequest .current ins {
@@ -20,47 +44,42 @@
display: none;
}
-#viewRequest table td {
- border: 1px solid #ccc;
- width: 300px;
- text-align: center;
-}
-
-#viewRequest ul {
- list-style: none;
-}
-
-#viewRequest .bulletinEntry {
- text-align: left;
-}
-#viewRequest th.leftColumn {
- text-align: right;
+#viewRequest div#justification {
+ border: 1px solid #888;
+ margin-bottom: 10px;
}
-#viewRequest th.rightColumn {
- text-align: left;
+#viewRequest div#justification h2 {
+ font-size: 14px;
}
-#currentGeneration {
- float: left;
- width: 428px;
- height: 100px;
- border: 1px solid #0f0;
-}
+div#comments {
+ .tabBar {
+ a {
+ display: block;
+ float: left;
+ background-color: #444;
+ color: #fff;
+ padding: 5px;
+ margin-right: 5px;
+ border: 1px solid #888;
+ -moz-border-radius: 10px 10px 0px 0px;
+ }
-#proposedGeneration {
- width: 428px;
- height: 100px;
- border: 1px solid #00f;
- margin-left: 430px;
-}
+ a:hover {
+ color: #f00;
+ }
+ }
-div#comments {
- border: 1px solid #444;
-}
+ .tabContent {
+ clear: both;
+ padding: 5px;
+ background-color: #ddd;
+ border: 1px solid #888;
+ }
-div#comments textarea {
- width: 95%;
- height: 5em;
+ #editorCommentsContent {
+ display: none;
+ }
}
diff --git a/document_root/images/arrow1.png b/document_root/images/arrow1.png
new file mode 100644
index 0000000000000000000000000000000000000000..fbe715d69a9d13a38f819357ed4dcc3aa7c47cdf
Binary files /dev/null and b/document_root/images/arrow1.png differ
diff --git a/document_root/images/arrow2.png b/document_root/images/arrow2.png
new file mode 100644
index 0000000000000000000000000000000000000000..af9370162a0d53e043c9c73208be1b0d150ec17d
Binary files /dev/null and b/document_root/images/arrow2.png differ
diff --git a/document_root/images/cross_listing_button.png b/document_root/images/cross_listing_button.png
new file mode 100644
index 0000000000000000000000000000000000000000..1c39d5ec0878d4a7a99c1ae63ef5e534b0475eff
Binary files /dev/null and b/document_root/images/cross_listing_button.png differ
diff --git a/document_root/images/grad_tie_button.png b/document_root/images/grad_tie_button.png
new file mode 100644
index 0000000000000000000000000000000000000000..1df21b583c29f5d9a1e99c3c6f14aea18e799e36
Binary files /dev/null and b/document_root/images/grad_tie_button.png differ
diff --git a/document_root/images/next_button.png b/document_root/images/next_button.png
new file mode 100644
index 0000000000000000000000000000000000000000..97baae8babd9f4c049752d5eb1c0103e4e4c6862
Binary files /dev/null and b/document_root/images/next_button.png differ
diff --git a/document_root/images/prev_button.png b/document_root/images/prev_button.png
new file mode 100644
index 0000000000000000000000000000000000000000..8bb78026b74fce31037664024a409a440f466d6a
Binary files /dev/null and b/document_root/images/prev_button.png differ
diff --git a/document_root/javascript/index.js b/document_root/javascript/index.js
index fe2e05336f66fb8e5d118ccb1695f0eceadd5cfb..c966bd9f730da938dbed5c7236b79b559b6a5301 100644
--- a/document_root/javascript/index.js
+++ b/document_root/javascript/index.js
@@ -21,11 +21,15 @@ function handleOnLoad()
header.onclick = function() {
var content = getElementsByClass('content', this.parentNode);
content = content[0];
+ var toggleArrow = getElementsByClass('toggle_arrow', this);
+ toggleArrow = toggleArrow[0];
if (content.style.display == 'none') {
content.style.display = 'block';
+ toggleArrow.src = '/images/arrow1.png';
} else {
content.style.display = 'none';
+ toggleArrow.src = '/images/arrow2.png';
}
}
@@ -77,7 +81,6 @@ function getElementsByClassName(className, elm, tag){
var length = elements.length;
for(var i=0; i<length; i++){
current = elements[i];
- alert(testClass + " ? " + current.className);
if(testClass.test(current.className)){
returnElements.push(current);
}
diff --git a/document_root/javascript/request/fullEdit.js b/document_root/javascript/request/fullEdit.js
new file mode 100644
index 0000000000000000000000000000000000000000..44e57ce7e64945f5438c9ee6ecee97d8dbf5406c
--- /dev/null
+++ b/document_root/javascript/request/fullEdit.js
@@ -0,0 +1,77 @@
+addLoadEvent(onEditWrapperLoad);
+
+function onEditWrapperLoad()
+{
+
+ var addButtons = getElementsByClass('add_record_button');
+ for(var i = 0; i < addButtons.length; i++) {
+ addButtons[i].onclick = handleAddRecord;
+ }
+
+ var removeButtons = getElementsByClass('remove_record_button');
+ for(var i = 0; i < removeButtons.length; i++) {
+ removeButtons[i].onclick = handleRemoveRecord;
+ }
+
+}
+
+function handleAddRecord()
+{
+ var currentTR = this.parentNode.parentNode;
+ var currentTable = currentTR.parentNode;
+ var hiddenTR = currentTR.previousSibling.previousSibling;
+ var currentIndex = currentTable.getElementsByTagName('tr').length - 2;
+
+ var newNode = hiddenTR.cloneNode(true);
+ for(var i = 3; i < newNode.childNodes.length; i+=4) {
+ var inputElement = newNode.childNodes[i].childNodes[1];
+ inputElement.disabled = false;
+ var keyIndex = inputElement.name.indexOf('__key__');
+ if(keyIndex > 0) {
+ inputElement.name = inputElement.name.substr(0, keyIndex) + '-' + currentIndex + inputElement.name.substr(keyIndex + 7);
+ }
+ }
+ newNode.childNodes[newNode.childNodes.length - 2].childNodes[1].onclick = handleRemoveRecord;
+ currentTable.insertBefore(newNode, hiddenTR);
+ newNode.className = '';
+
+ if(this.id.substr(0, 17) == 'add_tie_in_button') {
+ var courseId = this.id.substr(18).split('_');
+ var subjectCode = courseId[0];
+ var courseNumber = courseId[1];
+ var courseLetter = courseId[2];
+ var removeButtonId = 'remove' + this.id.substr(3);
+
+ courseNumber = '8' + courseNumber.substr(1);
+
+ this.style.display = 'none';
+ newNode.childNodes[3].childNodes[1].value = subjectCode;
+ newNode.childNodes[3].childNodes[1].readOnly = true;
+ newNode.childNodes[7].childNodes[1].value = courseNumber;
+ newNode.childNodes[7].childNodes[1].readOnly = true;
+ newNode.childNodes[11].childNodes[1].value = courseLetter;
+ newNode.childNodes[11].childNodes[1].readOnly = true;
+ newNode.childNodes[13].childNodes[1].value = 'grad tie-in';
+ newNode.childNodes[13].childNodes[1].readOnly = true;
+ newNode.childNodes[15].childNodes[1].id = removeButtonId;
+ newNode.className = 'grad_tie_in_row';
+ }
+
+ return false;
+}
+
+function handleRemoveRecord()
+{
+ var currentTR = this.parentNode.parentNode;
+ var currentTable = currentTR.parentNode;
+
+ if(this.id.substr(0, 20) == 'remove_tie_in_button') {
+ var addButtonId = 'add' + this.id.substr(6);
+ document.getElementById(addButtonId).style.display = 'inline';
+ }
+
+ currentTable.removeChild(currentTR);
+
+ return false;
+}
+
diff --git a/document_root/javascript/viewRequest.js b/document_root/javascript/viewRequest.js
new file mode 100644
index 0000000000000000000000000000000000000000..b0b88f81719bf2a42adf7c6ae67f5bbebd2987ba
--- /dev/null
+++ b/document_root/javascript/viewRequest.js
@@ -0,0 +1,29 @@
+addLoadEvent(onLoadViewRequest);
+
+function onLoadViewRequest()
+{
+ var tabBar = getElementsByClassName('tabBar');
+ tabBar = tabBar[0];
+
+ var tabs = tabBar.getElementsByTagName('a');
+ for (var i = 0; i < tabs.length; i++) {
+ tabs[i].onclick = viewRequestSelectTab;
+ }
+}
+
+function viewRequestSelectTab()
+{
+ var commentsContent = document.getElementById('commentsContent');
+ var editorCommentsContent = document.getElementById('editorCommentsContent');
+
+ commentsContent.style.display = 'none';
+ editorCommentsContent.style.display = 'none';
+
+ if (this.id == 'commentsTab') {
+ commentsContent.style.display = 'block';
+ } else if (this.id == 'editorCommentsTab') {
+ editorCommentsContent.style.display = 'block';
+ }
+
+ return false;
+}