viewLectures.xhtml 6.58 KB
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" xmlns:products="http://java.sun.com/jsf/composite/cditools/products" xmlns:users="http://java.sun.com/jsf/composite/cditools/user" xmlns:c="http://java.sun.com/jsp/jstl/core" xmlns:p="http://primefaces.org/ui">
<h:body>
	<ui:composition template="#{sessionHandler.template}">
		<f:metadata>
			<f:viewParam name="lecturegroupid" value="#{lectureView.lectureGroupId}" />
			<f:event type="preRenderView" listener="#{lectureUserView.initView()}" />
		</f:metadata>

		<ui:define rendered="#{lectureUserView.lectureGroupsVisible}" name="title">
			<h1>#{i18n['viewlectures.title']}</h1>
		</ui:define>

		<ui:define name="content">

			<h:form id="viewlecturesform">

				<p:outputPanel styleClass="messagebox" rendered="#{!lectureUserView.participateActive}">
					<h2>
						<p:outputLabel value="#{i18n['lecture.participateNotActive.title']}" />
					</h2>
					<p:outputLabel value="#{i18n['lecture.participateNotActive.message']}" />
				</p:outputPanel>

				<p:fieldset rendered="#{lectureUserView.lectureGroupsVisible}" id="lectureGroups" legend="#{i18n['lecture.selectgroup']}">
					<p:dataTable value="#{lectureUserView.lectureGroups}" var="lectureGroup" >
						<p:column headerText="#{i18n['lectureGroup.name']}">
							<h:outputText value="#{lectureGroup.name}" />
						</p:column>
						<p:column headerText="#{i18n['lectureGroup.description']}">
							<h:outputText value="#{lectureGroup.description}" />
						</p:column>
						<p:column headerText="#{i18n['lectureGroup.selectCountUserInfo']}">
							<h:outputText value="#{lectureGroup.selectCount}" />
						</p:column>
						<p:column>
							<p:commandButton value="#{i18n['lectureGroup.view']}" actionListener="#{lectureUserView.selectCurrentLectureGroup}" update=":viewlecturesform:availableLectures:lecturelist :viewlecturesform:availableLectures:schedule :viewlecturesform:participatedLectures :viewlecturesform:title" onerror="location.reload(true)" />
						</p:column>
					</p:dataTable>
				</p:fieldset>

				<h1>
					<h:outputText id="title" value="#{lectureUserView.currentLectureGroup.name}" />
				</h1>


				<p:fieldset id="participatedLectures" rendered="#{lectureUserView.participateActive}" legend="#{i18n['lecture.participatedLectures']} #{lectureUserView.currentGroupParticipateCount} / #{lectureUserView.currentLectureGroup.selectCount}">
					<p:dataTable value="#{lectureUserView.participatedLectures}" var="lecture">
						<p:column headerText="#{i18n['lecture.name']}" style="width:125px">
							<h:outputText value="#{lecture.name}" />
						</p:column>
						<p:column headerText="#{i18n['lecture.description']}">
							<h:outputText value="#{lecture.description}" />
						</p:column>
						<p:column headerText="#{i18n['lecture.hours']}" style="width:110px">
							<h:outputText value="#{lecture.hours}" />
						</p:column>
						<p:column headerText="#{i18n['lecture.startTime']}" style="width:110px">
							<h:outputText value="#{lecture.startTime}">
								<f:convertDateTime pattern="#{sessionHandler.datetimeFormat}" timeZone="#{sessionHandler.timezone}" />
							</h:outputText>
						</p:column>
						<p:column headerText="#{i18n['lecture.participants']}" style="width:110px">
							<h:outputText value="#{lecture.participantsCount}" /> / <h:outputText value="#{lecture.maxParticipantsCount}" />
						</p:column>
						<p:column style="width:110px">
							<p:commandButton value="#{i18n['lecture.unparticipate']}" actionListener="#{lectureUserView.unParticipateCurrent}" update=":viewlecturesform:availableLectures:lecturelist :viewlecturesform:availableLectures:schedule :viewlecturesform:participatedLectures" onerror="location.reload(true)" />
						</p:column>
					</p:dataTable>
				</p:fieldset>
				<br />
				<br />
				<h2>#{i18n['lecture.availableLectures']}</h2>
				<p:tabView id="availableLectures">
					<p:tab title="#{i18n['lecture.availableLecturesList']}">
						<p:dataTable id="lecturelist"  value="#{lectureUserView.lectures}" var="lecture">
							<p:column headerText="#{i18n['lecture.name']}" sortBy="#{lecture.name}" filterBy="#{lecture.name}" style="width:125px">
								<h:outputText value="#{lecture.name}" />
							</p:column>
							<p:column headerText="#{i18n['lecture.description']}" sortBy="#{lecture.description}" filterBy="#{lecture.description}">
								<h:outputText value="#{lecture.description}" />
							</p:column>
							<p:column headerText="#{i18n['lecture.hours']}" sortBy="#{lecture.hours}" style="width:110px">
								<h:outputText value="#{lecture.hours}" />
							</p:column>
							<p:column headerText="#{i18n['lecture.startTime']}" sortBy="#{lecture.startTime}" style="width:110px">
								<h:outputText value="#{lecture.startTime}">
									<f:convertDateTime pattern="#{sessionHandler.datetimeFormat}" timeZone="#{sessionHandler.timezone}" />
								</h:outputText>
							</p:column>
							<p:column headerText="#{i18n['lecture.participants']}" sortBy="#{lecture.participantsCount}" style="width:110px">
								<h:outputText value="#{lecture.participantsCount}" /> / <h:outputText value="#{lecture.maxParticipantsCount}" />
							</p:column>
							<p:column style="width:80px">
								<p:commandButton value="#{i18n['lecture.participate']}" rendered="#{!lectureUserView.currentGroupFull and !lecture.full and lectureUserView.participateActive}" actionListener="#{lectureUserView.participateCurrent}" update=":viewlecturesform:availableLectures :viewlecturesform:participatedLectures" onerror="location.reload(true)" />
								<h:outputText value="#{i18n['lecture.full']}" rendered="#{lecture.full}" />&nbsp;
								<h:outputText value="#{i18n['lecture.groupFull']}" rendered="#{lectureUserView.currentGroupFull}" />
							</p:column>
						</p:dataTable>
					</p:tab>
					<p:tab title="#{i18n['lecture.availableLecturesCalendar']}">
						<p:schedule id="schedule" axisFormat="H:mm" timeFormat="H:mm" timeZone="#{sessionHandler.timezone}" initialDate="#{lectureUserView.scheduleInitDate}" value="#{lectureUserView.coursesCalendar}" locale="#{sessionHandler.locale}" tooltip="true" draggable="false" resizable="false" view="agendaDay" allDaySlot="false">
							<p:ajax event="eventSelect" listener="#{lectureUserView.onLecureCalendarEventSelect}" update=":viewlecturesform:participatedLectures :viewlecturesform:availableLectures:schedule" />
						</p:schedule>
					</p:tab>
				</p:tabView>
			</h:form>


		</ui:define>




	</ui:composition>
</h:body>
</html>