HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux vmi1674223.contaboserver.net 5.4.0-182-generic #202-Ubuntu SMP Fri Apr 26 12:29:36 UTC 2024 x86_64
User: root (0)
PHP: 7.4.3-4ubuntu2.22
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/html/unitime/WebContent/user/classDetail.jsp
<%--
 * Licensed to The Apereo Foundation under one or more contributor license
 * agreements. See the NOTICE file distributed with this work for
 * additional information regarding copyright ownership.
 *
 * The Apereo Foundation licenses this file to you under the Apache License,
 * Version 2.0 (the "License"); you may not use this file except in
 * compliance with the License. You may obtain a copy of the License at:
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * 
--%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<%@ taglib prefix="tt" uri="http://www.unitime.org/tags-custom" %>
<%@ taglib prefix="sec" uri="http://www.springframework.org/security/tags" %>
<%@ taglib prefix="loc" uri="http://www.unitime.org/tags-localization" %>
<loc:bundle name="CourseMessages"><s:set var="msg" value="#attr.MSG"/>
<s:form action="classDetail">
	<s:hidden name="form.classId"/>
	<s:hidden name="form.nextId"/>
	<s:hidden name="form.previousId"/>
	<table class="unitime-MainTable">
		<TR>
			<TD valign="middle" colspan='2'>
				<tt:section-header>
					<tt:section-title>
						<A title="${MSG.titleInstructionalOfferingDetail(MSG.accessInstructionalOfferingDetail())}" 
							accesskey="${MSG.accessInstructionalOfferingDetail()}" class="l8"
							href="instructionalOfferingDetail.action?op=view&io=${form.instrOfferingId}"><s:property value="form.courseName"/> - <s:property value="form.courseTitle"/></A>:
						<s:if test="form.subpart == null"><s:property value="form.itypeDesc"/></s:if>
						<s:else> 
							<A title="${MSG.titleSchedulingSubpartDetail(MSG.accessSchedulingSubpartDetail())}" 
								accesskey="${MSG.accessSchedulingSubpartDetail()}" class="l8"
								href="schedulingSubpartDetail.action?ssuid=${form.subpart}"><s:property value="form.itypeDesc"/></A>
						</s:else>
						<s:property value="form.section"/>
					</tt:section-title>
					<sec:authorize access="hasPermission(#form.classId, 'Class_', 'ClassEdit')">
						<s:submit accesskey='%{#msg.accessEditClass()}' name='op' value='%{#msg.actionEditClass()}'
							title='%{#msg.titleEditClass(#msg.accessEditClass())}'/>
					</sec:authorize>
					<sec:authorize access="hasPermission(#form.classId, 'Class_', 'DistributionPreferenceClass')">
						<s:submit accesskey='%{#msg.accessAddDistributionPreference()}' name='op' value='%{#msg.actionAddDistributionPreference()}'
							title='%{#msg.titleAddDistributionPreference(#msg.accessAddDistributionPreference())}'/>
					</sec:authorize>
					<sec:authorize access="hasPermission(#form.classId, 'Class_', 'ClassAssignment')">
						<input type="button" value="${MSG.actionOpenClassAssignmentDialog()}" 
								title="${MSG.titleOpenClassAssignmentDialog(MSG.accessOpenClassAssignmentDialog())}" 
								class="btn" 
								accesskey="${MSG.accessOpenClassAssignmentDialog()}"
								onClick="showGwtDialog('${MSG.dialogClassAssignment()}', 'classInfo.action?classId=${form.classId}','900','90%');"
						/>
					</sec:authorize>
					<s:if test="form.previousId != null">
						<s:submit accesskey='%{#msg.accessPreviousClass()}' name='op' value='%{#msg.actionPreviousClass()}'
							title='%{#msg.titlePreviousClass(#msg.accessPreviousClass())}'/>
					</s:if>
					<s:if test="form.nextId != null">
						<s:submit accesskey='%{#msg.accessNextClass()}' name='op' value='%{#msg.actionNextClass()}'
							title='%{#msg.titleNextClass(#msg.accessNextClass())}'/>
					</s:if>
					<tt:back styleClass="btn" 
						name="${MSG.actionBackClassDetail()}" 
						title="${MSG.titleBackClassDetail(MSG.accessBackClassDetail())}" 
						accesskey="${MSG.accessBackClassDetail()}" 
						type="PreferenceGroup">
						<s:property value="form.classId"/>
					</tt:back>
				</tt:section-header>
			</TD>
		</TR>
		
		<s:if test="!fieldErrors.isEmpty()">
			<TR><TD colspan="2" align="left" class="errorTable">
				<div class='errorHeader'><loc:message name="formValidationErrors"/></div><s:fielderror/>
			</TD></TR>
		</s:if>
		
		<s:if test="form.isCancelled == true">
			<TR>
				<TD></TD>
				<TD style="color:red; font-weight: bold;">
					<loc:message name="classNoteCancelled"><s:property value="form.courseName"/> <s:property value="form.itypeDesc"/> <s:property value="form.section"/></loc:message>
				</TD>
			</TR>
		</s:if>

		<TR>
			<TD><loc:message name="filterManager"/></TD>
			<TD>
				<s:property value="form.managingDeptLabel"/>
			</TD>
		</TR>
		
		<s:if test="form.parentClassName != \"-\"">
			<TR>
				<TD><loc:message name="propertyParentClass"/> </TD>
				<TD>
					<s:if test="form.parentClassId == null">
						<s:property value="form.parentClassName"/>
					</s:if>
					<s:else>
						<A href="classDetail.action?cid=${form.parentClassId}"><s:property value="form.parentClassName"/></A>
					</s:else>
				</TD>
			</TR>
		</s:if>
		
		<s:if test="form.classSuffix != null">
			<TR>
				<TD><loc:message name="propertyExternalId"/></TD>
				<TD>
					<s:property value="form.classSuffix"/>
				</TD>
			</TR>
		</s:if>
		<TR>
			<TD><loc:message name="propertyEnrollment"></loc:message> </TD>
			<TD>
				<s:property value="form.enrollment"/>
			</TD>
		</TR>
		<s:if test="form.nbrRooms > 0 && form.expectedCapacity == form.maxExpectedCapacity">
			<TR>
				<TD><loc:message name="propertyClassLimit"/></TD>
				<TD>
					<s:property value="form.expectedCapacity"/>
				</TD>
			</TR>
		</s:if>
		<s:if test="form.nbrRooms > 0 && form.expectedCapacity != form.maxExpectedCapacity">
			<TR>
				<TD><loc:message name="propertyMinimumClassLimit"/></TD>
				<TD>
					<s:property value="form.expectedCapacity"/>
				</TD>
			</TR>
			<TR>
				<TD><loc:message name="propertyMaximumClassLimit"/></TD>
				<TD>
					<s:property value="form.maxExpectedCapacity"/>
				</TD>
			</TR>
		</s:if>
		
		<s:if test="form.nbrRooms != 0 && form.snapshotLimit != null">
			<TR>
				<TD><loc:message name="propertySnapshotLimit"/></TD>
				<TD>
					<s:property value="form.snapshotLimit"/>
				</TD>
			</TR>
		</s:if>

		<TR>
			<TD><loc:message name="propertyNumberOfRooms"/></TD>
			<TD>
				<s:property value="form.nbrRooms"/>
			</TD>
		</TR>
		
		<s:if test="form.nbrRooms != 0">
			<TR>
				<TD><loc:message name="propertyRoomRatio"/></TD>
				<TD>
					<s:property value="form.roomRatio"/>
					&nbsp;&nbsp;&nbsp;&nbsp; ( <loc:message name="propertyMinimumRoomCapacity"/>
					<s:property value="form.minRoomLimit"/>
					<s:if test="form.nbrRooms > 1">
						<s:if test="form.splitAttendance == true"><loc:message name="descClassMultipleRoomsSplitAttendance"/></s:if><s:else><loc:message name="descClassMultipleRoomsAlternativeAttendance"/></s:else>
					</s:if>)
				</TD>
			</TR>
		</s:if>
		
		<s:if test="form.nbrRooms > 1">
			<TR>
				<TD><loc:message name="propertyRoomSplitAttendance"/></TD>
				<TD><s:if test="form.splitAttendance == true">
						<loc:message name="descriptionClassMultipleRoomsSplitAttendance"/>
					</s:if><s:else>
						<loc:message name="descriptionClassMultipleRoomsAlternativeAttendance"/>
					</s:else>
				</TD>
			</TR>
		</s:if>

		<s:if test="form.lms != null && !form.lms.isEmpty()">
			<TR>
				<TD valign="top"><loc:message name="propertyLms"/></TD>
				<TD>
					<s:property value="form.lms" escapeHtml="false"/>
				</TD>
			</TR>
		</s:if>
		
		<s:if test="form.fundingDept != null">
			<TR>
				<TD valign="top"><loc:message name="propertyFundingDept"/></TD>
				<TD>
					<s:property value="form.fundingDept" escapeHtml="false"/>
				</TD>
			</TR>
		</s:if>

		<TR>
			<TD><loc:message name="propertyDatePattern"/></TD>
			<TD>
				<s:iterator value="#request.datePatternList" var="dp">
					<s:if test="#dp.id == form.datePattern">
						<s:property value="#dp.value"/>
						<img style="cursor: pointer;" src="images/calendar.png" border="0" onclick="showGwtDialog('${MSG.sectPreviewOfDatePattern(dp.value)}', 'dispDatePattern.action?id=${dp.id}&classId=${form.classId}','840','520');">
					</s:if>
				</s:iterator>
			</TD>
		</TR>
		
		<TR>
			<TD><loc:message name="propertyDisplayInstructors"/></TD>
			<TD>
				<s:if test="form.displayInstructor == true">
					<IMG src="images/accept.png" border="0" alt="${MSG.titleInstructorDisplayed()}" title="${MSG.titleInstructorDisplayed()}">
				</s:if>
				<s:else>
					<IMG src="images/cross.png" border="0" alt="${MSG.titleInstructorNotDisplayed()}" title="${MSG.titleInstructorNotDisplayed()}">
				</s:else>
			</TD>
		</TR>

		<TR>
			<TD><loc:message name="propertyEnabledForStudentScheduling"/> </TD>
			<TD>
				<s:if test="form.enabledForStudentScheduling == true">
					<IMG src="images/accept.png" border="0" alt="${MSG.titleEnabledForStudentScheduling()}" title="${MSG.titleEnabledForStudentScheduling()}">
				</s:if>
				<s:else>
					<IMG src="images/cross.png" border="0" alt="${MSG.titleNotEnabledForStudentScheduling()}" title="${MSG.titleNotEnabledForStudentScheduling()}">
				</s:else>
			</TD>
		</TR>

		<s:if test="form.schedulePrintNote != null && !form.schedulePrintNote.isEmpty()">
			<TR>
				<TD valign="top"><loc:message name="propertyStudentScheduleNote"/></TD>
				<TD style="white-space: pre-wrap;"><s:property value="form.schedulePrintNote" escapeHtml="false"/></TD>
			</TR>
		</s:if>

		<s:if test="form.notes != null && !form.notes.isEmpty()">
			<TR>
				<TD valign="top"><loc:message name="propertyRequestsNotes"/></TD>
				<TD style="white-space: pre-wrap;"><s:property value="form.notes" escapeHtml="false"/></TD>
			</TR>
		</s:if>
				
		<s:if test="form.instructors != null && !form.instructors.isEmpty()">
			<TR>
				<TD valign="top"><loc:message name="propertyInstructors"/></TD>
				<TD>
					<table style="border-spacing: 0px;">
						<tr><td width='250'><i><loc:message name="columnInstructorName"/></i></td><td width='80'><i><loc:message name="columnInstructorShare"/></i></td><td width='100'><i><loc:message name="columnInstructorCheckConflicts"/></i></td>
						<s:if test="#request.responsibilities != null && !#request.responsibilities.isEmpty()">
							<td width='200'><i><loc:message name="columnTeachingResponsibility"/></i></td>
						</s:if>
						</tr>
						<s:iterator value="form.instructors" var="instructor" status="stat">
							<tr onmouseover="this.style.backgroundColor='rgb(223,231,242)';this.style.cursor='hand';this.style.cursor='pointer';" 
								onmouseout="this.style.backgroundColor='transparent';"
								onClick="document.location='instructorDetail.action?instructorId=${instructor}';"
							>
								<td>
								<s:iterator value="#request.instructorsList" var="instr">
									<s:if test="#instr.value == #instructor">
										<s:property value="#instr.label"/>
									</s:if>
								</s:iterator>
								</td>
								<td> 
									<s:property value="form.instrPctShare[#stat.index]"/>%
								</td>
								<td>
									<s:if test="form.instrLead[#stat.index] == 'true'">
										<IMG border='0' alt='true' align="middle" src='images/accept.png'>
									</s:if>
								</td>
								<s:if test="#request.responsibilities != null">
									<td>
										<s:iterator value="#request.responsibilities" var="responsibility">
											<s:if test="#responsibility.uniqueId == form.instrResponsibility[#stat.index]">
												<s:property value="#responsibility.label"/>
											</s:if>
										</s:iterator>
									</td>
								</s:if>
							</tr>
						</s:iterator>
					</table>
				</TD>
			</TR>
		</s:if>

		<s:if test="form.accommodation != null">
			<TR>
				<TD valign="top"><loc:message name="propertyAccommodations"/></TD>
				<TD>
					<s:property value="form.accommodation" escapeHtml="false"/>
				</TD>
			</TR>
		</s:if>

		<tt:last-change type='Class_'><s:property value="form.classId"/></tt:last-change>
		
		<s:if test="#request.assignmentInfo != null">
			<TR>
				<TD colspan="2" align="left" style="padding-top: 20px;">
					<tt:section-title><loc:message name="sectionTitleTimetable"/></tt:section-title>
				</TD>
			</TR>
			<s:property value="#request.assignmentInfo" escapeHtml="false"/>
		</s:if>

		<s:if test="#request.classConflicts != null">
			<TR>
				<TD colspan="2" style="padding-top: 20px;">
					<table style="width:100%;">
						<s:property value="#request.classConflicts" escapeHtml="false"/>
					</table>
				</TD>
			</TR>
		</s:if>

		<s:if test="#request.eventConflicts != null">
			<TR>
				<TD colspan="2" style="padding-top: 20px;">
					<table style="width:100%;">
						<s:property value="#request.eventConflicts" escapeHtml="false"/>
					</table>
				</TD>
			</TR>
		</s:if>

<!-- Preferences -->
		<TR>
			<TD colspan="2" valign="middle" style="padding-top: 20px;">
				<tt:section-title><loc:message name="sectionTitlePreferences"/></tt:section-title>
			</TD>
		</TR>
		<s:if test="form.nbrRooms == 0">
			<s:include value="preferencesDetail2.jspf">
				<s:param name="bldgPref" value="false"/>
				<s:param name="roomFeaturePref" value="false"/>
				<s:param name="roomGroupPref" value="false"/>
			</s:include>
		</s:if>
		<s:if test="form.nbrRooms != 0">
			<s:if test="form.unlimitedEnroll == true">
				<s:include value="preferencesDetail2.jspf">
					<s:param name="bldgPref" value="false"/>
					<s:param name="roomFeaturePref" value="false"/>
					<s:param name="roomGroupPref" value="false"/>
				</s:include>
			</s:if>
			<s:if test="form.unlimitedEnroll != true">
				<s:include value="preferencesDetail2.jspf">
				</s:include>
			</s:if>
		</s:if>
		
		<TR>
			<TD colspan="2">
				<tt:exams type='Class_' add='true'><s:property value="form.classId"/></tt:exams>
			</TD>
		</TR>

		<TR>
			<TD colspan="2">
				<div id='UniTimeGWT:OfferingEnrollments' style="display: none;">-<s:property value="form.classId"/></div>
			</TD>
		</TR>
		

<!-- Buttons -->
		<TR>
			<TD colspan="2" align="right">
				<tt:section-title/>
			</TD>
		</TR>

		<TR>
			<TD colspan="2" align="right">
					<sec:authorize access="hasPermission(#form.classId, 'Class_', 'ClassEdit')">
						<s:submit accesskey='%{#msg.accessEditClass()}' name='op' value='%{#msg.actionEditClass()}'
							title='%{#msg.titleEditClass(#msg.accessEditClass())}'/>
					</sec:authorize>
					<sec:authorize access="hasPermission(#form.classId, 'Class_', 'DistributionPreferenceClass')">
						<s:submit accesskey='%{#msg.accessAddDistributionPreference()}' name='op' value='%{#msg.actionAddDistributionPreference()}'
							title='%{#msg.titleAddDistributionPreference(#msg.accessAddDistributionPreference())}'/>
					</sec:authorize>
					<sec:authorize access="hasPermission(#form.classId, 'Class_', 'ClassAssignment')">
						<input type="button" value="${MSG.actionOpenClassAssignmentDialog()}" 
								title="${MSG.titleOpenClassAssignmentDialog(MSG.accessOpenClassAssignmentDialog())}" 
								class="btn" 
								accesskey="${MSG.accessOpenClassAssignmentDialog()}"
								onClick="showGwtDialog('${MSG.dialogClassAssignment()}', 'classInfo.action?classId=${form.classId}','900','90%');"
						/>
					</sec:authorize>
					<s:if test="form.previousId != null">
						<s:submit accesskey='%{#msg.accessPreviousClass()}' name='op' value='%{#msg.actionPreviousClass()}'
							title='%{#msg.titlePreviousClass(#msg.accessPreviousClass())}'/>
					</s:if>
					<s:if test="form.nextId != null">
						<s:submit accesskey='%{#msg.accessNextClass()}' name='op' value='%{#msg.actionNextClass()}'
							title='%{#msg.titleNextClass(#msg.accessNextClass())}'/>
					</s:if>
					<tt:back styleClass="btn" 
						name="${MSG.actionBackClassDetail()}" 
						title="${MSG.titleBackClassDetail(MSG.accessBackClassDetail())}" 
						accesskey="${MSG.accessBackClassDetail()}" 
						type="PreferenceGroup">
						<s:property value="form.classId"/>
					</tt:back>
				</TD>
		</TR>
	</TABLE>
</s:form>
</loc:bundle>