createwizard.xhtml 5.77 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:users="http://java.sun.com/jsf/composite/cditools/user" xmlns:tools="http://java.sun.com/jsf/composite/cditools" xmlns:p="http://primefaces.org/ui" xmlns:f="http://java.sun.com/jsf/core">
<h:body>
	<ui:composition template="#{sessionHandler.template}">
		<f:metadata>
			<f:event type="preRenderView" listener="#{tournamentCreateView.initView()}" />
		</f:metadata>

		<ui:define name="content">
			<h1>#{i18n['tournaments.admin.create_tournament']}</h1>
			<h:form>			
				<p:wizard widgetVar="wiz" flowListener="#{tournamentCreateView.onFlowProcess}">

					<p:tab id="selectGame" title="#{i18n['tournaments.admin.select_a_game']}">

						<p:panel>
							<h:messages errorClass="error" />
							<h:panelGroup rendered="#{tournamentCreateView.tournamentGames.isEmpty() eq false}">
								<h2>#{i18n['tournaments.admin.select_a_game']}</h2>
								<h:selectOneMenu value="#{tournamentCreateView.game}" converter="#{tournamentGameConverter}">
									<f:selectItems var="game" itemLabel="#{game.name}" value="#{tournamentCreateView.tournamentGames}" itemValue="#{game}" />
								</h:selectOneMenu>
							</h:panelGroup>

							<h2>#{i18n['tournaments.admin.create_a_game']}</h2>

							<h:panelGrid columns="2">
								<h:outputText value="#{i18n['tournaments.admin.game_name']}" />
								<h:outputText value="#{i18n['tournaments.admin.game_description']}" />

								<p:inputText value="#{tournamentCreateView.tournamentGameName}" />
								<p:inputText value="#{tournamentCreateView.tournamentGameDescription}" />
							</h:panelGrid>
						</p:panel>
					</p:tab>

					<p:tab id="selectRuleset" title="#{i18n['tournaments.admin.rules']}">
						<p:panel>
							<h:messages errorClass="error" />							
							<h:panelGroup rendered="#{tournamentCreateView.tournamentRules.isEmpty() eq false}">
								<h2>#{i18n['tournaments.admin.select_a_ruleset']}</h2>
								<h:selectOneMenu value="#{tournamentCreateView.rules}" converter="#{tournamentRuleConverter}">
									<f:selectItems var="rule" itemLabel="#{rule.name}" value="#{tournamentCreateView.tournamentRules}" itemValue="#{rule}" />
								</h:selectOneMenu>
							</h:panelGroup>

							<h2>#{i18n['tournaments.admin.create_new_ruleset']}</h2>
							<h:outputText value="#{i18n['tournaments.ruleset_name']}" />
							<br />
							<p:inputText value="#{tournamentCreateView.rulesetName}" />

							<br />
							<h:outputText value="#{i18n['tournaments.ruleset_description']}" />
							<br />
							<p:inputText value="#{tournamentCreateView.rulesetDescription}"/>
							
							<br />
							<h:outputText value="#{i18n['tournaments.ruleset_rules']}" />
							<br />
							<p:inputTextarea value="#{tournamentCreateView.rulesetRules}"/>
							
							<br />
						</p:panel>
					</p:tab>

					<p:tab id="selectRegTimes" title="#{i18n['tournaments.admin.set_time_constraints']}">
						<p:panel>
							<h:messages errorClass="error" />
							<h2>#{i18n['tournaments.tournament_details']}</h2>
							<h:outputText value="#{i18n['tournaments.tournament_name']}" />
							<br />
							<p:inputText value="#{tournamentCreateView.tournament.tournamentName}" />
							<br />
							<h:outputText value="#{i18n['tournaments.tournament_type']}"/>
							<br />
							
							<h:selectOneMenu value="#{tournamentCreateView.tournament.tournamentType}">
								<f:selectItems value="#{tournamentCreateView.tournamentTypes}" var="val" itemLabel="#{i18n[val.i18nKey]}" />
							</h:selectOneMenu>
							
							<br />
							<h:outputText value="#{i18n['tournaments.max_participants']}" />
							<h:panelGrid columns="1" style="margin-bottom:10px">
							    <p:inputText id="maxPartSlider" value="#{tournamentCreateView.tournament.maxParticipants}" /> 
							    <p:slider for="maxPartSlider" />  
							</h:panelGrid>
							
							<h:outputText value="#{i18n['tournaments.players_per_match']}" />
							<h:panelGrid columns="1" style="margin-bottom:10px">
							    <p:inputText id="playerSlider" value="#{tournamentCreateView.tournament.playersPerMatch}" /> 
							    <p:slider for="playerSlider" />  
							</h:panelGrid>
							
							<h:outputText value="#{i18n['tournaments.backup_players']}" />
							<h:panelGrid columns="1" style="margin-bottom:10px">
							    <p:inputText id="playerBackupSlider" value="#{tournamentCreateView.backupPlayers}" />  
							    <p:slider for="playerBackupSlider" />  
							</h:panelGrid>
							
							
							<h2>#{i18n['tournaments.admin.registration_time_constraints']}</h2>							
						
							<h:panelGrid columns="2">
								<h:outputText value="#{i18n['tournaments.registration_opens']}" />
								<h:outputText value="#{i18n['tournaments.registration_closes']}" />

								<p:calendar stepHour="1" stepMinute="10" pattern="dd.MM.yyyy HH:mm" value="#{tournamentCreateView.tournament.registrationOpensAt}"/>
								<p:calendar stepHour="1" stepMinute="10" pattern="dd.MM.yyyy HH:mm" value="#{tournamentCreateView.tournament.registrationClosesAt}"/>
							</h:panelGrid>
							<h2>#{i18n['tournaments.admin.begin_time_constraints']}</h2>
							<h:panelGrid>
								<h:outputText value="Start time" />
								<p:calendar stepHour="1" stepMinute="10" pattern="dd.MM.yyyy HH:mm" value="#{tournamentCreateView.tournament.beginsAt}"/>
							</h:panelGrid>
							<br />
						</p:panel>
						<div style="float: right;">
							<p:commandButton icon="apply" value="#{i18n['tournaments.admin.create_tournament']}" action="#{tournamentCreateView.save}" onerror="location.reload(true);"/>
						</div>
					</p:tab>
				</p:wizard>
			</h:form>

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