Skip to content
Toggle navigation
Projects
Groups
Snippets
Help
Linnea Samila
/
Moya
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Wiki
Settings
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit 7011d55f
authored
Sep 16, 2013
by
Tuomas Riihimäki
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'devel' of codecrew.fi:bortal into devel
2 parents
90200b00
9f958648
Hide whitespace changes
Inline
Side-by-side
Showing
26 changed files
with
1207 additions
and
82 deletions
code/MoyaBeans/ejbModule/fi/codecrew/moya/beans/TournamentBean.java
code/MoyaBeans/ejbModule/fi/codecrew/moya/facade/TournamentFacade.java
code/MoyaBeansClient/ejbModule/fi/codecrew/moya/beans/TournamentBeanLocal.java
code/MoyaDatabase/src/fi/codecrew/moya/model/Tournament.java
code/MoyaDatabase/src/fi/codecrew/moya/model/TournamentMatch.java
code/MoyaDatabase/src/fi/codecrew/moya/model/TournamentParticipant.java
code/MoyaDatabase/src/fi/codecrew/moya/model/TournamentTeamMember.java
code/MoyaUtilities/src/main/java/fi/codecrew/moya/enums/BortalApplication.java
code/MoyaUtilities/src/main/java/fi/codecrew/moya/enums/TournamentTeamMemberRole.java
code/MoyaUtilities/src/main/java/fi/codecrew/moya/enums/apps/TournamentPermission.java
code/MoyaUtilities/src/main/java/fi/codecrew/moya/utilities/jsf/MessageHelper.java
code/MoyaWeb/WebContent/tournaments/admin/createwizard.xhtml
code/MoyaWeb/WebContent/tournaments/admin/delete.xhtml
code/MoyaWeb/WebContent/tournaments/admin/edit.xhtml
code/MoyaWeb/WebContent/tournaments/admin/index.xhtml
code/MoyaWeb/WebContent/tournaments/index.xhtml
code/MoyaWeb/WebContent/tournaments/participate_multi.xhtml
code/MoyaWeb/WebContent/tournaments/participate_single.xhtml
code/MoyaWeb/WebContent/tournaments/showrules.xhtml
code/MoyaWeb/src/fi/codecrew/moya/resources/i18n_en.properties
code/MoyaWeb/src/fi/codecrew/moya/resources/i18n_fi.properties
code/MoyaWeb/src/fi/codecrew/moya/web/cdiview/tournaments/TournamentDeleteView.java
code/MoyaWeb/src/fi/codecrew/moya/web/cdiview/tournaments/TournamentEditView.java
code/MoyaWeb/src/fi/codecrew/moya/web/cdiview/tournaments/TournamentListView.java
code/MoyaWeb/src/fi/codecrew/moya/web/cdiview/tournaments/TournamentParticipateView.java
code/MoyaWeb/src/fi/codecrew/moya/web/cdiview/tournaments/TournamentRulesView.java
code/MoyaBeans/ejbModule/fi/codecrew/moya/beans/TournamentBean.java
View file @
7011d55
package
fi
.
codecrew
.
moya
.
beans
;
import
java.util.Date
;
import
java.util.List
;
import
javax.annotation.security.RolesAllowed
;
import
javax.ejb.EJB
;
import
javax.ejb.LocalBean
;
import
javax.ejb.Stateless
;
import
fi.codecrew.moya.enums.TournamentStatus
;
import
fi.codecrew.moya.enums.TournamentTeamMemberRole
;
import
fi.codecrew.moya.enums.apps.TournamentPermission
;
import
fi.codecrew.moya.facade.EventUserFacade
;
import
fi.codecrew.moya.facade.TournamentFacade
;
import
fi.codecrew.moya.facade.TournamentGameFacade
;
import
fi.codecrew.moya.facade.TournamentParticipantFacade
;
import
fi.codecrew.moya.facade.TournamentRuleFacade
;
import
fi.codecrew.moya.facade.UserFacade
;
import
fi.codecrew.moya.model.EventUser
;
import
fi.codecrew.moya.model.Tournament
;
import
fi.codecrew.moya.model.TournamentGame
;
import
fi.codecrew.moya.model.TournamentParticipant
;
import
fi.codecrew.moya.model.TournamentRule
;
import
fi.codecrew.moya.model.TournamentTeamMember
;
import
fi.codecrew.moya.model.User
;
/**
* Session Bean implementation class TournamentBean
...
...
@@ -24,6 +35,9 @@ public class TournamentBean implements TournamentBeanLocal {
@EJB
private
TournamentRuleFacade
tournamentRuleFacade
;
@EJB
private
TournamentGameFacade
tournamentGameFacade
;
@EJB
private
TournamentFacade
tournamentFacade
;
@EJB
private
TournamentParticipantFacade
tournamentParticipantFacade
;
@EJB
private
EventUserFacade
eventUserFacade
;
@EJB
private
EventBean
eventBean
;
/**
* Default constructor.
...
...
@@ -33,42 +47,139 @@ public class TournamentBean implements TournamentBeanLocal {
}
@Override
@RolesAllowed
(
TournamentPermission
.
S_VIEW
)
public
List
<
TournamentRule
>
getRulesByGame
(
TournamentGame
tg
)
{
return
tournamentRuleFacade
.
getRulesByGame
(
tg
);
}
@Override
@RolesAllowed
(
TournamentPermission
.
S_VIEW
)
public
List
<
TournamentGame
>
getGames
()
{
return
tournamentGameFacade
.
getGames
();
}
@Override
@RolesAllowed
(
TournamentPermission
.
S_MANAGE_ALL
)
public
TournamentGame
createGame
(
TournamentGame
tg
)
{
return
tournamentGameFacade
.
create
(
tg
);
}
@Override
@RolesAllowed
(
TournamentPermission
.
S_MANAGE_ALL
)
public
TournamentRule
createRule
(
TournamentRule
tr
)
{
return
tournamentRuleFacade
.
create
(
tr
);
}
@Override
@RolesAllowed
(
TournamentPermission
.
S_VIEW
)
public
TournamentGame
findGame
(
Integer
id
)
{
return
tournamentGameFacade
.
find
(
id
);
}
@Override
@RolesAllowed
(
TournamentPermission
.
S_VIEW
)
public
TournamentRule
findRule
(
Integer
id
)
{
return
tournamentRuleFacade
.
find
(
id
);
}
@Override
@RolesAllowed
(
TournamentPermission
.
S_MANAGE_ALL
)
public
void
createTournament
(
Tournament
tournament
)
{
tournamentFacade
.
create
(
tournament
);
}
@Override
@RolesAllowed
(
TournamentPermission
.
S_VIEW
)
public
List
<
Tournament
>
getTournamentsInStatus
(
TournamentStatus
status
,
boolean
useTimeConstraints
)
{
return
tournamentFacade
.
getTournamentsInStatusWithParticipationTimeIn
(
status
);
}
@Override
@RolesAllowed
(
TournamentPermission
.
S_VIEW
)
public
List
<
Tournament
>
getActiveTournaments
()
{
return
tournamentFacade
.
getTournamentsNotInStatus
(
TournamentStatus
.
COMPLETED
);
}
@Override
@RolesAllowed
(
TournamentPermission
.
S_VIEW
)
public
Tournament
getTournamentById
(
Integer
tournamentId
)
{
return
tournamentFacade
.
find
(
tournamentId
);
}
@Override
@RolesAllowed
(
TournamentPermission
.
S_MANAGE_ALL
)
public
void
editTournament
(
Tournament
tournament
)
{
tournamentFacade
.
merge
(
tournament
);
}
@Override
@RolesAllowed
(
TournamentPermission
.
S_MANAGE_ALL
)
public
void
deleteTournament
(
Tournament
tournament
)
{
tournament
=
tournamentFacade
.
merge
(
tournament
);
tournamentFacade
.
remove
(
tournament
);
}
@Override
@RolesAllowed
(
TournamentPermission
.
S_PARTICIPATE
)
public
void
createParticipation
(
TournamentParticipant
tournamentParticipant
)
throws
Exception
{
Tournament
t
=
tournamentFacade
.
find
(
tournamentParticipant
.
getTournament
().
getId
());
Date
currentTime
=
new
Date
();
if
(
t
.
getRegistrationOpensAt
()
!=
null
&&
t
.
getRegistrationClosesAt
()
!=
null
&&
currentTime
.
after
(
t
.
getRegistrationOpensAt
())
&&
currentTime
.
before
(
t
.
getRegistrationClosesAt
()))
{
// Assert participant size is smaller than max
if
(
t
.
getParticipants
().
size
()
<
t
.
getMaxParticipants
())
{
TournamentTeamMember
capt
=
null
;
for
(
TournamentTeamMember
ttm
:
tournamentParticipant
.
getTeamMembers
())
if
(
ttm
.
getRole
()
==
TournamentTeamMemberRole
.
CAPTAIN
)
capt
=
ttm
;
// Assert team has a captain
if
(
capt
!=
null
)
{
// Assert team has the correct number of players for a match
if
(
tournamentParticipant
.
getTeamMembers
().
size
()
>=
tournamentParticipant
.
getTournament
().
getPlayersPerTeam
())
{
tournamentParticipant
=
tournamentParticipantFacade
.
create
(
tournamentParticipant
);
t
.
getParticipants
().
add
(
tournamentParticipant
);
}
else
{
throw
new
Exception
(
"tournament.not_enough_players"
);
}
}
else
{
throw
new
Exception
(
"tournament.no_captain"
);
}
}
else
{
throw
new
Exception
(
"tournament.participation_full"
);
}
}
else
{
throw
new
Exception
(
"tournament.not_within_participation_time"
);
}
}
@Override
@RolesAllowed
(
TournamentPermission
.
S_VIEW
)
public
boolean
hasParticipations
(
EventUser
currentUser
,
Tournament
tournament
)
{
for
(
TournamentParticipant
tp
:
tournament
.
getParticipants
())
{
for
(
TournamentTeamMember
tm
:
tp
.
getTeamMembers
())
{
EventUser
eu
=
tm
.
getEventUser
();
System
.
out
.
println
(
eu
.
getNick
());
if
(
eu
.
equals
(
currentUser
))
{
return
true
;
}
}
}
return
false
;
}
@Override
@RolesAllowed
(
TournamentPermission
.
S_VIEW
)
public
EventUser
findAvailablePlayerForTournamentByLogin
(
Tournament
t
,
String
login
)
throws
Exception
{
EventUser
u
=
eventUserFacade
.
findByLogin
(
login
);
if
(
u
!=
null
)
{
if
(!
hasParticipations
(
u
,
t
))
return
u
;
else
throw
new
Exception
(
"tournaments.participation_already_exists"
);
}
else
{
throw
new
Exception
(
"tournaments.participated_user_not_found"
);
}
}
}
code/MoyaBeans/ejbModule/fi/codecrew/moya/facade/TournamentFacade.java
View file @
7011d55
package
fi
.
codecrew
.
moya
.
facade
;
import
java.util.Calendar
;
import
java.util.Date
;
import
java.util.List
;
import
javax.ejb.LocalBean
;
...
...
@@ -9,7 +11,9 @@ import javax.persistence.criteria.CriteriaQuery;
import
javax.persistence.criteria.Root
;
import
fi.codecrew.moya.enums.TournamentStatus
;
import
fi.codecrew.moya.model.EventUser
;
import
fi.codecrew.moya.model.Tournament
;
import
fi.codecrew.moya.model.TournamentParticipant
;
import
fi.codecrew.moya.model.Tournament_
;
import
fi.codecrew.moya.model.User
;
import
fi.codecrew.moya.model.User_
;
...
...
@@ -30,5 +34,28 @@ public class TournamentFacade extends IntegerPkGenericFacade<Tournament> {
return
getEm
().
createQuery
(
cq
).
getResultList
();
}
public
List
<
Tournament
>
getTournamentsInStatus
(
TournamentStatus
status
)
{
CriteriaBuilder
cb
=
getEm
().
getCriteriaBuilder
();
CriteriaQuery
<
Tournament
>
cq
=
cb
.
createQuery
(
Tournament
.
class
);
Root
<
Tournament
>
root
=
cq
.
from
(
Tournament
.
class
);
cq
.
where
(
cb
.
equal
(
root
.
get
(
Tournament_
.
tournamentStatus
),
status
));
return
getEm
().
createQuery
(
cq
).
getResultList
();
}
public
List
<
Tournament
>
getTournamentsInStatusWithParticipationTimeIn
(
TournamentStatus
status
)
{
CriteriaBuilder
cb
=
getEm
().
getCriteriaBuilder
();
CriteriaQuery
<
Tournament
>
cq
=
cb
.
createQuery
(
Tournament
.
class
);
Root
<
Tournament
>
root
=
cq
.
from
(
Tournament
.
class
);
cq
.
where
(
cb
.
and
(
cb
.
equal
(
root
.
get
(
Tournament_
.
tournamentStatus
),
status
),
cb
.
between
(
cb
.
currentDate
(),
root
.
get
(
Tournament_
.
registrationOpensAt
),
root
.
get
(
Tournament_
.
registrationClosesAt
))
)
);
return
getEm
().
createQuery
(
cq
).
getResultList
();
}
}
code/MoyaBeansClient/ejbModule/fi/codecrew/moya/beans/TournamentBeanLocal.java
View file @
7011d55
...
...
@@ -4,8 +4,11 @@ import java.util.List;
import
javax.ejb.Local
;
import
fi.codecrew.moya.enums.TournamentStatus
;
import
fi.codecrew.moya.model.EventUser
;
import
fi.codecrew.moya.model.Tournament
;
import
fi.codecrew.moya.model.TournamentGame
;
import
fi.codecrew.moya.model.TournamentParticipant
;
import
fi.codecrew.moya.model.TournamentRule
;
@Local
...
...
@@ -19,5 +22,12 @@ public interface TournamentBeanLocal {
TournamentRule
findRule
(
Integer
id
);
void
createTournament
(
Tournament
tournament
);
List
<
Tournament
>
getActiveTournaments
();
Tournament
getTournamentById
(
Integer
tournamentId
);
void
editTournament
(
Tournament
tournament
);
void
deleteTournament
(
Tournament
tournament
);
void
createParticipation
(
TournamentParticipant
tournamentParticipant
)
throws
Exception
;
boolean
hasParticipations
(
EventUser
currentUser
,
Tournament
tournament
);
EventUser
findAvailablePlayerForTournamentByLogin
(
Tournament
t
,
String
login
)
throws
Exception
;
List
<
Tournament
>
getTournamentsInStatus
(
TournamentStatus
status
,
boolean
useTimeConstraints
);
}
code/MoyaDatabase/src/fi/codecrew/moya/model/Tournament.java
View file @
7011d55
...
...
@@ -72,11 +72,15 @@ public class Tournament extends GenericEntity implements Serializable {
@JoinColumn
(
name
=
"rules"
,
nullable
=
false
)
private
TournamentRule
rules
;
@OneToMany
@ManyToOne
@JoinColumn
(
name
=
"parent_tournament"
)
private
Tournament
parentTournament
;
@OneToMany
(
mappedBy
=
"parentTournament"
)
@OrderBy
(
"id ASC"
)
private
List
<
Tournament
>
subTournaments
;
@OneToMany
@OneToMany
(
mappedBy
=
"tournament"
)
private
List
<
TournamentParticipant
>
participants
;
public
Tournament
()
{
super
();
}
...
...
code/MoyaDatabase/src/fi/codecrew/moya/model/TournamentMatch.java
View file @
7011d55
...
...
@@ -42,8 +42,7 @@ public class TournamentMatch extends GenericEntity implements Serializable {
@Temporal
(
TemporalType
.
TIMESTAMP
)
private
Date
endTime
;
@OneToMany
@OrderBy
(
"rank"
)
private
List
<
TournamentMatchResult
>
matchResults
;
...
...
code/MoyaDatabase/src/fi/codecrew/moya/model/TournamentParticipant.java
View file @
7011d55
...
...
@@ -19,11 +19,14 @@ import org.eclipse.persistence.annotations.OptimisticLockingType;
public
class
TournamentParticipant
extends
GenericEntity
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
@Column
(
name
=
"team_name"
,
nullable
=
true
)
private
String
teamName
;
@JoinColumn
(
name
=
"participator"
)
private
EventUser
participator
;
@OneToMany
private
List
<
EventUs
er
>
teamMembers
;
@OneToMany
(
mappedBy
=
"team"
,
cascade
=
CascadeType
.
PERSIST
)
private
List
<
TournamentTeamMemb
er
>
teamMembers
;
@ManyToOne
@JoinColumn
(
name
=
"tournament"
)
...
...
@@ -32,4 +35,37 @@ public class TournamentParticipant extends GenericEntity implements Serializable
public
TournamentParticipant
()
{
super
();
}
public
EventUser
getParticipator
()
{
return
participator
;
}
public
void
setParticipator
(
EventUser
participator
)
{
this
.
participator
=
participator
;
}
public
List
<
TournamentTeamMember
>
getTeamMembers
()
{
return
teamMembers
;
}
public
void
setTeamMembers
(
List
<
TournamentTeamMember
>
teamMembers
)
{
this
.
teamMembers
=
teamMembers
;
}
public
Tournament
getTournament
()
{
return
tournament
;
}
public
void
setTournament
(
Tournament
tournament
)
{
this
.
tournament
=
tournament
;
}
public
String
getTeamName
()
{
return
teamName
;
}
public
void
setTeamName
(
String
teamName
)
{
this
.
teamName
=
teamName
;
}
}
code/MoyaDatabase/src/fi/codecrew/moya/model/TournamentTeamMember.java
0 → 100644
View file @
7011d55
package
fi
.
codecrew
.
moya
.
model
;
import
java.io.Serializable
;
import
javax.persistence.Column
;
import
javax.persistence.Entity
;
import
javax.persistence.EnumType
;
import
javax.persistence.Enumerated
;
import
javax.persistence.JoinColumn
;
import
javax.persistence.ManyToOne
;
import
javax.persistence.Table
;
import
org.eclipse.persistence.annotations.OptimisticLocking
;
import
org.eclipse.persistence.annotations.OptimisticLockingType
;
import
fi.codecrew.moya.enums.TournamentTeamMemberRole
;
@Entity
@Table
(
name
=
"tournament_team_members"
)
@OptimisticLocking
(
type
=
OptimisticLockingType
.
CHANGED_COLUMNS
)
public
class
TournamentTeamMember
extends
GenericEntity
implements
Serializable
{
private
static
final
long
serialVersionUID
=
8511689754953929329L
;
@Column
(
name
=
"role"
,
nullable
=
true
)
@Enumerated
(
EnumType
.
STRING
)
private
TournamentTeamMemberRole
role
;
@JoinColumn
(
name
=
"tournament_participant_id"
)
private
TournamentParticipant
team
;
@JoinColumn
(
name
=
"event_user_id"
)
private
EventUser
eventUser
;
public
EventUser
getEventUser
()
{
return
eventUser
;
}
public
void
setEventUser
(
EventUser
eventUser
)
{
this
.
eventUser
=
eventUser
;
}
public
TournamentParticipant
getTeam
()
{
return
team
;
}
public
void
setTeam
(
TournamentParticipant
team
)
{
this
.
team
=
team
;
}
public
TournamentTeamMemberRole
getRole
()
{
return
role
;
}
public
void
setRole
(
TournamentTeamMemberRole
role
)
{
this
.
role
=
role
;
}
}
code/MoyaUtilities/src/main/java/fi/codecrew/moya/enums/BortalApplication.java
View file @
7011d55
...
...
@@ -11,6 +11,7 @@ import fi.codecrew.moya.enums.apps.PollPermission;
import
fi.codecrew.moya.enums.apps.SalespointPermission
;
import
fi.codecrew.moya.enums.apps.ShopPermission
;
import
fi.codecrew.moya.enums.apps.TerminalPermission
;
import
fi.codecrew.moya.enums.apps.TournamentPermission
;
import
fi.codecrew.moya.enums.apps.UserPermission
;
public
enum
BortalApplication
{
...
...
@@ -25,6 +26,7 @@ public enum BortalApplication {
COMPO
(
CompoPermission
.
class
),
EVENT
(
EventPermission
.
class
),
LICENSE
(
LicensePermission
.
class
),
TOURNAMENT
(
TournamentPermission
.
class
)
;
...
...
code/MoyaUtilities/src/main/java/fi/codecrew/moya/enums/TournamentTeamMemberRole.java
0 → 100644
View file @
7011d55
package
fi
.
codecrew
.
moya
.
enums
;
public
enum
TournamentTeamMemberRole
{
CAPTAIN
,
PLAYER
,
BACKUP_PLAYER
;
private
final
String
key
;
private
static
final
String
I18N_HEADER
=
"bortalApplication.tournamentteammemberrole."
;
private
TournamentTeamMemberRole
()
{
key
=
I18N_HEADER
+
name
();
}
public
String
getI18nKey
()
{
return
key
;
}
}
code/MoyaUtilities/src/main/java/fi/codecrew/moya/enums/apps/TournamentPermission.java
0 → 100644
View file @
7011d55
package
fi
.
codecrew
.
moya
.
enums
.
apps
;
import
fi.codecrew.moya.enums.BortalApplication
;
public
enum
TournamentPermission
implements
IAppPermission
{
VIEW
,
MANAGE_ALL
,
PARTICIPATE
;
public
static
final
String
S_VIEW
=
"TOURNAMENT/VIEW"
;
public
static
final
String
S_MANAGE_ALL
=
"TOURNAMENT/MANAGE_ALL"
;
public
static
final
String
S_PARTICIPATE
=
"TOURNAMENT/PARTICIPATE"
;
private
final
String
fullName
;
private
final
String
key
;
private
static
final
String
I18N_HEADER
=
"bortalApplication.tournament."
;
private
TournamentPermission
()
{
key
=
I18N_HEADER
+
name
();
fullName
=
new
StringBuilder
().
append
(
getParent
().
toString
()).
append
(
DELIMITER
).
append
(
toString
()).
toString
();
}
@Override
public
BortalApplication
getParent
()
{
return
BortalApplication
.
TOURNAMENT
;
}
@Override
public
String
getFullName
()
{
return
fullName
;
}
@Override
public
String
getI18nKey
()
{
return
key
;
}
}
code/MoyaUtilities/src/main/java/fi/codecrew/moya/utilities/jsf/MessageHelper.java
0 → 100644
View file @
7011d55
package
fi
.
codecrew
.
moya
.
utilities
.
jsf
;
import
javax.faces.application.FacesMessage
;
import
javax.faces.context.FacesContext
;
import
fi.codecrew.moya.utilities.I18n
;
public
class
MessageHelper
{
public
static
void
msg
(
String
message
,
FacesMessage
.
Severity
severity
)
{
FacesContext
.
getCurrentInstance
().
addMessage
(
null
,
new
FacesMessage
(
severity
,
I18n
.
get
(
message
),
null
));
}
public
static
void
err
(
String
message
)
{
msg
(
message
,
FacesMessage
.
SEVERITY_ERROR
);
}
public
static
void
info
(
String
message
)
{
msg
(
message
,
FacesMessage
.
SEVERITY_INFO
);
}
public
static
void
fatal
(
String
message
)
{
msg
(
message
,
FacesMessage
.
SEVERITY_FATAL
);
}
public
static
void
warn
(
String
message
)
{
msg
(
message
,
FacesMessage
.
SEVERITY_WARN
);
}
}
code/MoyaWeb/WebContent/tournaments/admin/createwizard.xhtml
View file @
7011d55
...
...
@@ -81,7 +81,7 @@
</h:selectOneMenu>
<br
/>
<h:outputText
value=
"#{i18n['tournaments.
players_per_match
']}"
/>
<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"
/>
...
...
code/MoyaWeb/WebContent/tournaments/admin/delete.xhtml
0 → 100644
View file @
7011d55
<!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:metadata>
<ui:define
name=
"content"
>
<h1>
#{i18n['tournaments.admin.remove_title']}
</h1>
<p>
#{i18n['tournaments.admin.remove_confirmation_text']}
</p>
<h:form>
<p:commandButton
value=
"#{i18n['tournament.admin.delete_cancel']}"
action=
"#{tournamentDeleteView.cancel}"
/>
<p:commandButton
value=
"#{i18n['tournament.admin.delete_confirm']}"
action=
"#{tournamentDeleteView.delete}"
/>
</h:form>
</ui:define>
</ui:composition>
</h:body>
</html>
\ No newline at end of file
code/MoyaWeb/WebContent/tournaments/admin/edit.xhtml
0 → 100644
View file @
7011d55
<!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:metadata>
<ui:define
name=
"content"
>
<h1>
#{i18n['tournaments.admin.create_tournament']}
</h1>
<h:form>
<h2>
#{i18n['tournaments.tournament_details']}
</h2>
<h:panelGrid
columns=
"2"
>
<h:outputText
value=
"#{i18n['tournaments.tournament_name']}"
/>
<p:inputText
value=
"#{tournamentEditView.tournament.tournamentName}"
/>
<h:outputText
value=
"#{i18n['tournaments.max_participants']}"
/>
<h:panelGroup>
<p:inputText
id=
"maxPartSlider"
value=
"#{tournamentEditView.tournament.maxParticipants}"
/>
<p:slider
for=
"maxPartSlider"
/>
</h:panelGroup>
</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=
"#{tournamentEditView.tournament.registrationOpensAt}"
/>
<p:calendar
stepHour=
"1"
stepMinute=
"10"
pattern=
"dd.MM.yyyy hh:mm"
value=
"#{tournamentEditView.tournament.registrationClosesAt}"
/>
</h:panelGrid>
<h2>
#{i18n['tournaments.admin.begin_time_constraints']}
</h2>
<h:panelGrid
columns=
"2"
>
<h:outputText
value=
"#{i18n['tournaments.start_time']}"
/>
<p:calendar
stepHour=
"1"
stepMinute=
"10"
pattern=
"dd.MM.yyyy hh:mm"
value=
"#{tournamentEditView.tournament.beginsAt}"
/>
</h:panelGrid>
<p:commandButton
value=
"#{i18n['tournaments.admin.cancel_edits']}"
action=
"#{tournamentEditView.cancel}"
/>
<p:commandButton
value=
"#{i18n['tournaments.admin.edit_tournament']}"
action=
"#{tournamentEditView.commit}"
/>
</h:form>
</ui:define>
</ui:composition>
</h:body>
</html>
\ No newline at end of file
code/MoyaWeb/WebContent/tournaments/admin/index.xhtml
View file @
7011d55
...
...
@@ -5,58 +5,78 @@
<h:body>
<ui:composition
template=
"#{sessionHandler.template}"
>
<f:metadata>
<!-- <f:event type="preRenderView" listener="#{userOverviewView.initView()}" /> -->
</f:metadata>
<ui:define
name=
"content"
>
<h1>
#{i18n['tournaments.admin.title']}
</h1>
<p>
#{i18n['tournaments.admin.description']}
</p>
<h2>
#{i18n['tournaments.active_tournaments']}
</h2>
<p:dataTable
value=
"#{tournamentAdminView.activeTournaments}"
var=
"tournament"
>
<p:column>
<f:facet
name=
"header"
>
<h:outputText
value=
"#{i18n['tournament.name']}"
/>
</f:facet>
<h:outputText
value=
"#{tournament.tournamentName}"
/>
</p:column>
<p:column>
<f:facet
name=
"header"
>
<h:outputText
value=
"#{i18n['tournament.status']}"
/>
</f:facet>
<h:outputText
value=
"#{i18n[tournament.tournamentStatus.i18nKey]}"
/>
</p:column>
<p:column>
<f:facet
name=
"header"
>
<h:outputText
value=
"#{i18n['tournament.type']}"
/>
</f:facet>
<h:outputText
value=
"#{i18n[tournament.tournamentType.i18nKey]}"
/>
</p:column>
<p:column>
<f:facet
name=
"header"
>
<h:outputText
value=
"#{i18n['tournament.fillamount']}"
/>
</f:facet>
<h:outputText
value=
"#{tournament.participants.size()}/#{tournament.maxParticipants}"
/>
</p:column>
<p:column>
<f:facet
name=
"header"
>
<h:outputText
value=
"#{i18n['tournament.playerspermatch_slash_teamsize']}"
/>
</f:facet>
<h:outputText
value=
"#{tournament.playersPerMatch}/#{tournament.playersPerTeam}"
/>
</p:column>
<p:column>
<f:facet
name=
"header"
>
<h:outputText
value=
"#{i18n['tournament.game']}"
/>
</f:facet>
<h:outputText
value=
"#{tournament.tournamentGame.name}"
/>
</p:column>
<p:column>
<f:facet
name=
"header"
>
<h:outputText
value=
"#{i18n['tournament.rules']}"
/>
</f:facet>
<h:outputText
value=
"#{tournament.rules.name}"
/>
</p:column>
</p:dataTable>
<h:form>
<p:dataTable
value=
"#{tournamentAdminView.activeTournaments}"
var=
"tournament"
>
<p:column>
<f:facet
name=
"header"
>
<h:outputText
value=
"#{i18n['tournament.name']}"
/>
</f:facet>
<h:outputText
value=
"#{tournament.tournamentName}"
/>
</p:column>
<p:column>
<f:facet
name=
"header"
>
<h:outputText
value=
"#{i18n['tournament.status']}"
/>
</f:facet>
<h:outputText
value=
"#{i18n[tournament.tournamentStatus.i18nKey]}"
/>
</p:column>
<p:column>
<f:facet
name=
"header"
>
<h:outputText
value=
"#{i18n['tournament.type']}"
/>
</f:facet>
<h:outputText
value=
"#{i18n[tournament.tournamentType.i18nKey]}"
/>
</p:column>
<p:column>
<f:facet
name=
"header"
>
<h:outputText
value=
"#{i18n['tournament.fillamount']}"
/>
</f:facet>
<h:outputText
value=
"#{tournament.participants.size()}/#{tournament.maxParticipants}"
/>
</p:column>
<p:column>
<f:facet
name=
"header"
>
<h:outputText
value=
"#{i18n['tournament.playerspermatch_slash_teamsize']}"
/>
</f:facet>
<h:outputText
value=
"#{tournament.playersPerMatch}/#{tournament.playersPerTeam}"
/>
</p:column>
<p:column>
<f:facet
name=
"header"
>
<h:outputText
value=
"#{i18n['tournament.game']}"
/>
</f:facet>
<h:outputText
value=
"#{tournament.tournamentGame.name}"
/>
</p:column>
<p:column>
<f:facet
name=
"header"
>
<h:outputText
value=
"#{i18n['tournament.rules']}"
/>
</f:facet>
<h:outputText
value=
"#{tournament.rules.name}"
/>
</p:column>
<p:column>
<f:facet
name=
"header"
>
<h:outputText
value=
"#{i18n['tournament.participation_time']}"
/>
</f:facet>
<h:outputText
value=
"#{tournament.registrationOpensAt}"
>
<f:convertDateTime
pattern=
"#{sessionHandler.datetimeFormat}"
timeZone=
"#{sessionHandler.timezone}"
/>
</h:outputText>
-
<h:outputText
value=
"#{tournament.registrationClosesAt}"
>
<f:convertDateTime
pattern=
"#{sessionHandler.datetimeFormat}"
timeZone=
"#{sessionHandler.timezone}"
/>
</h:outputText>
</p:column>
<p:column>
<f:facet
name=
"header"
>
<h:outputText
value=
"#{i18n['tournament.admin.control']}"
/>
</f:facet>
<p:commandButton
value=
"#{i18n['tournament.admin.edit']}"
action=
"#{tournamentEditView.showEdit(tournament.id)}"
/>
<p:commandButton
value=
"#{i18n['tournament.admin.delete']}"
action=
"#{tournamentDeleteView.showConfirm(tournament.id)}"
/>
</p:column>
</p:dataTable>
</h:form>
<h:form>
<p:commandButton
value=
"#{i18n['tournament.admin.create']}"
action=
"#{tournamentAdminView.create}"
/>
</h:form>
...
...
code/MoyaWeb/WebContent/tournaments/index.xhtml
View file @
7011d55
...
...
@@ -5,15 +5,94 @@
<h:body>
<ui:composition
template=
"#{sessionHandler.template}"
>
<f:metadata>
<!-- <f:event type="preRenderView" listener="#{userOverviewView.initView()}" /> -->
</f:metadata>
<ui:define
name=
"content"
>
<h1>
Tournaments
</h1>
<h:form>
<p:messages
autoUpdate=
"true"
redisplay=
"false"
></p:messages>
<h1>
#{i18n['tournaments.title']}
</h1>
<p>
#{i18n['tournaments.description']}
</p>
<h2>
#{i18n['tournaments.open_tournaments']}
</h2>
<p:dataTable
value=
"#{tournamentListView.setupPhaseTournaments}"
var=
"tournament"
>
<p:column
style=
"width:2%"
>
<p:rowToggler
/>
</p:column>
<p:column>
<f:facet
name=
"header"
>
<h:outputText
value=
"#{i18n['tournament.name']}"
/>
</f:facet>
<h:outputText
value=
"#{tournament.tournamentName}"
/>
</p:column>
<p:column>
<f:facet
name=
"header"
>
<h:outputText
value=
"#{i18n['tournament.game']}"
/>
</f:facet>
<h:outputText
value=
"#{tournament.tournamentGame.name}"
/>
</p:column>
<p:column>
<f:facet
name=
"header"
>
<h:outputText
value=
"#{i18n['tournament.status']}"
/>
</f:facet>
<h:outputText
value=
"#{i18n[tournament.tournamentStatus.i18nKey]}"
/>
</p:column>
<p:column>
<f:facet
name=
"header"
>
<h:outputText
value=
"#{i18n['tournament.type']}"
/>
</f:facet>
<h:outputText
value=
"#{i18n[tournament.tournamentType.i18nKey]}"
/>
</p:column>
<p:column>
<f:facet
name=
"header"
>
<h:outputText
value=
"#{i18n['tournament.fillamount']}"
/>
</f:facet>
<h:outputText
value=
"#{tournament.participants.size()}/#{tournament.maxParticipants}"
/>
</p:column>
<p:column>
<f:facet
name=
"header"
>
<h:outputText
value=
"#{i18n['tournament.participation_time']}"
/>
</f:facet>
<h:outputText
value=
"#{tournament.registrationOpensAt}"
>
<f:convertDateTime
pattern=
"#{sessionHandler.datetimeFormat}"
timeZone=
"#{sessionHandler.timezone}"
/>
</h:outputText>
-
<h:outputText
value=
"#{tournament.registrationClosesAt}"
>
<f:convertDateTime
pattern=
"#{sessionHandler.datetimeFormat}"
timeZone=
"#{sessionHandler.timezone}"
/>
</h:outputText>
</p:column>
<p:column>
<f:facet
name=
"header"
>
<h:outputText
value=
"#{i18n['tournament.rules']}"
/>
</f:facet>
<h:link
value=
"#{tournament.rules.name}"
outcome=
"/tournaments/showrules.xhtml"
>
<f:param
name=
"tournament_id"
value=
"#{tournament.id}"
/>
</h:link>
</p:column>
<p:column>
<f:facet
name=
"header"
>
<h:outputText
value=
"#{i18n['tournament.control']}"
/>
</f:facet>
<h:panelGroup>
<p:commandButton
value=
"#{i18n['tournament.participate']}"
action=
"#{tournamentParticipateView.participate(tournament.id)}"
rendered=
"#{tournament.participants.size() lt tournament.maxParticipants}"
ajax=
"false"
/>
<h:outputText
value=
"#{i18n['tournament.full']}"
rendered=
"#{tournament.participants.size() ge tournament.maxParticipants}"
/>
</h:panelGroup>
</p:column>
<p:rowExpansion>
<h:panelGrid
id=
"display"
columns=
"2"
cellpadding=
"4"
styleClass=
" ui-widget-content grid"
>
<h:outputText
value=
"#{i18n['tournament.participants']}"
/>
<h:panelGroup>
<ul>
<ui:repeat
var=
"participant"
value=
"#{tournament.participants}"
>
<li>
<h:outputText
value=
"#{participant.teamName}"
rendered=
"#{not empty participant.teamName}"
/>
<h:outputText
value=
"#{participant.participator.user.nick}"
rendered=
"#{empty participant.teamName}"
/>
</li>
</ui:repeat>
</ul>
</h:panelGroup>
</h:panelGrid>
</p:rowExpansion>
</p:dataTable>
</h:form>
</ui:define>
</ui:composition>
</h:body>
...
...
code/MoyaWeb/WebContent/tournaments/participate_multi.xhtml
0 → 100644
View file @
7011d55
<!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:metadata>
<ui:define
name=
"content"
>
<h1>
#{i18n['tournaments.participate_title']} #{tournamentParticipateView.tournament.tournamentName}
</h1>
<p>
#{i18n['tournaments.participate_description']}
</p>
<h2>
#{i18n['tournaments.participate_rules']}
</h2>
<p><h:outputText
value=
"#{tournamentParticipateView.tournament.rules.rules}"
escape=
"false"
/></p>
<h2>
#{i18n['tournaments.participate_team_members']}
</h2>
<p:messages
autoUpdate=
"true"
redisplay=
"false"
></p:messages>
<h:form>
<h3>
#{i18n['tournaments.team_details']}
</h3>
<h:panelGrid
columns=
"2"
>
<h:outputText
value=
"#{i18n['tournament.team_name']}"
/>
<p:inputText
value=
"#{tournamentParticipateView.tournamentParticipant.teamName}"
required=
"true"
requiredMessage=
"#{i18n['tournament.team_name_required']}"
/>
</h:panelGrid>
<h3>
#{i18n['tournaments.participate_actual_team_members']}
</h3>
<p:dataTable
id=
"teammember_table"
value=
"#{tournamentParticipateView.players}"
var=
"teamMember"
>
<p:column>
<f:facet
name=
"header"
>
<h:outputText
value=
"#{i18n['tournament.teammember.name']}"
/>
</f:facet>
<h:outputText
value=
"#{teamMember.eventUser.user.nick}"
/>
</p:column>
<p:column>
<f:facet
name=
"header"
>
<h:outputText
value=
"#{i18n['tournament.control']}"
/>
</f:facet>
<h:panelGroup>
<p:commandButton
value=
"#{i18n['tournament.teammember.delete']}"
action=
"#{tournamentParticipateView.removePlayerFromTeam(teamMember.eventUser.id)}"
update=
"@form"
/>
</h:panelGroup>
</p:column>
</p:dataTable>
<h:panelGrid
columns=
"3"
rendered=
"#{tournamentParticipateView.teamMax > tournamentParticipateView.playerCount}"
>
<h:outputText
value=
"#{i18n['tournament.teammember.login']}"
/>
<p:inputText
value=
"#{tournamentParticipateView.selectedPlayerLogin}"
/>
<p:commandButton
value=
"#{i18n['tournaments.add_player_to_team']}"
action=
"#{tournamentParticipateView.addMainPlayerToTeam}"
update=
"@form"
/>
</h:panelGrid>
<h:panelGroup
rendered=
"#{tournamentParticipateView.backupMax > 0}"
>
<h3>
#{i18n['tournaments.participate_backup_team_members']}
</h3>
<p:dataTable
id=
"backup_teammember_table"
value=
"#{tournamentParticipateView.backupPlayers}"
var=
"teamMember"
>
<p:column>
<f:facet
name=
"header"
>
<h:outputText
value=
"#{i18n['tournament.teammember.name']}"
/>
</f:facet>
<h:outputText
value=
"#{teamMember.eventUser.user.nick}"
/>
</p:column>
<p:column>
<f:facet
name=
"header"
>
<h:outputText
value=
"#{i18n['tournament.control']}"
/>
</f:facet>
<h:panelGroup>
<p:commandButton
value=
"#{i18n['tournament.teammember.delete']}"
action=
"#{tournamentParticipateView.removePlayerFromTeam(teamMember.eventUser.id)}"
update=
"@form"
/>
</h:panelGroup>
</p:column>
</p:dataTable>
<h:panelGrid
columns=
"3"
rendered=
"#{tournamentParticipateView.backupMax > tournamentParticipateView.backupPlayerCount}"
>
<h:outputText
value=
"#{i18n['tournament.teammember.login']}"
/>
<p:inputText
value=
"#{tournamentParticipateView.selectedBackupPlayerLogin}"
/>
<p:commandButton
value=
"#{i18n['tournaments.add_backup_player_to_team']}"
action=
"#{tournamentParticipateView.addBackupPlayerToTeam}"
update=
"@form"
/>
</h:panelGrid>
</h:panelGroup>
<h3>
#{i18n['tournaments.participate_team_counters']}
</h3>
<h:panelGrid
columns=
"2"
>
<h:panelGroup>
#{i18n['tournaments.participate_player_count']}:
#{tournamentParticipateView.playerCount}/#{tournamentParticipateView.teamMax}
</h:panelGroup>
<h:panelGroup>
#{i18n['tournaments.participate_backup_player_count']}:
#{tournamentParticipateView.backupPlayerCount}/#{tournamentParticipateView.backupMax}
</h:panelGroup>
</h:panelGrid>
<p:commandButton
value=
"#{i18n['tournaments.cancel_participation']}"
action=
"#{tournamentParticipateView.cancelParticipation}"
/>
<p:commandButton
value=
"#{i18n['tournaments.accept_rules_and_participate']}"
action=
"#{tournamentParticipateView.saveParticipation}"
disabled=
"#{tournamentParticipateView.teamMax != tournamentParticipateView.playerCount}"
/>
</h:form>
</ui:define>
</ui:composition>
</h:body>
</html>
\ No newline at end of file
code/MoyaWeb/WebContent/tournaments/participate_single.xhtml
0 → 100644
View file @
7011d55
<!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:metadata>
<ui:define
name=
"content"
>
<h1>
#{i18n['tournaments.participate_title']} #{tournamentParticipateView.tournament.tournamentName}
</h1>
<p>
#{i18n['tournaments.participate_description']}
</p>
<h2>
#{i18n['tournaments.participate_rules']}
</h2>
<p><h:outputText
value=
"#{tournamentParticipateView.tournament.rules.rules}"
escape=
"false"
/></p>
<h:form>
<p:commandButton
value=
"#{i18n['tournaments.cancel_participation']}"
action=
"#{tournamentParticipateView.cancelParticipation}"
/>
<p:commandButton
value=
"#{i18n['tournaments.accept_rules_and_participate']}"
action=
"#{tournamentParticipateView.saveParticipation}"
/>
</h:form>
</ui:define>
</ui:composition>
</h:body>
</html>
\ No newline at end of file
code/MoyaWeb/WebContent/tournaments/showrules.xhtml
0 → 100644
View file @
7011d55
<!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:viewParam
name=
"tournament_id"
value=
"#{tournamentRulesView.tournamentId}"
/>
<f:event
type=
"preRenderView"
listener=
"#{tournamentRulesView.init}"
/>
</f:metadata>
<ui:define
name=
"content"
>
<p>
<h:link
outcome=
"/tournaments/index.xhtml"
value=
"#{i18n['tournaments.back_to_tournament_list']}"
/>
</p>
<h1>
#{i18n['tournament.rules_for_tournament']} #{tournamentRulesView.tournament.tournamentName} (#{tournamentRulesView.tournament.rules.name})
</h1>
<h:outputText
value=
"#{tournamentRulesView.tournament.rules.rules}"
escape=
"false"
/>
<p>
<h:link
outcome=
"/tournaments/index.xhtml"
value=
"#{i18n['tournaments.back_to_tournament_list']}"
/>
</p>
</ui:define>
</ui:composition>
</h:body>
</html>
\ No newline at end of file
code/MoyaWeb/src/fi/codecrew/moya/resources/i18n_en.properties
View file @
7011d55
...
...
@@ -1008,40 +1008,88 @@ topnavi.usermgmt = Users
topnavi.userplaces
=
Computer Places
topnavi.usershop
=
Shop
tournament.admin.create
=
Create new tournament
tournament.create
=
Create tournament
tournament.edit
=
Edit tournament
tournament.fillamount
=
Places taken
tournament.game
=
Game
tournament.name
=
Tournament name
tournament.playerspermatch_slash_teamsize
=
Players / team size
tournament.rules
=
Rules
tournament.status
=
Status
tournament.type
=
Type
tournament.admin.control
=
Control
tournament.admin.create
=
Create new tournament
tournament.admin.delete
=
Delete
tournament.admin.delete_cancel
=
Cancel Deletion
tournament.admin.delete_confirm
=
Confirm Deletion
tournament.admin.edit
=
Edit
tournament.already_participated_into_tournament
=
Already participated into the selected tournament!
tournament.backup_player_successfully_added_to_team
=
Backup player added
tournament.cannot_add_anon_user
=
Cannot add anonymous user
tournament.cannot_remove_captain
=
Cannot remove the team captain (you)
tournament.control
=
Control
tournament.create
=
Create tournament
tournament.edit
=
Edit tournament
tournament.fillamount
=
Places taken
tournament.game
=
Game
tournament.name
=
Tournament name
tournament.not_within_participation_time
=
Not within the participation time for the tournament
tournament.participants
=
Participants
tournament.participate
=
Participate
tournament.participation_failed
=
Participation failed
tournament.participation_success
=
Successfully participated into tournament
tournament.participation_time
=
Participation time
tournament.player_already_exists_in_team
=
Player already exists in the team
tournament.player_successfully_added_to_team
=
Player added to the team
tournament.playerspermatch_slash_teamsize
=
Players / team size
tournament.rules
=
Rules
tournament.rules_for_tournament
=
Rules for tournament
tournament.status
=
Status
tournament.team_name
=
Team Name
tournament.team_name_required
=
Team name is required
tournament.teammember.delete
=
Delete
tournament.teammember.login
=
Login
tournament.teammember.name
=
Name
tournament.type
=
Type
tournaments.accept_rules_and_participate
=
Accept rules and participate
tournaments.active_tournaments
=
Active tournaments
tournaments.add_backup_player_to_team
=
Add backup player
tournaments.add_player_to_team
=
Add player to team
tournaments.admin.begin_time_constraints
=
Tournament begin time
tournaments.admin.cancel_edits
=
Cancel Edits
tournaments.admin.create
=
Create tournament
tournaments.admin.create_a_game
=
Create a game
tournaments.admin.create_new_ruleset
=
Create a new ruleset
tournaments.admin.create_tournament
=
Create a tournament
tournaments.admin.description
=
Manage tournaments
tournaments.admin.edit
=
Edit tournament
tournaments.admin.edit_tournament
=
Edit Tournament
tournaments.admin.game_description
=
Game description
tournaments.admin.game_name
=
Game name
tournaments.admin.registration_time_constraints
=
Registration time constraints
tournaments.admin.remove_confirmation_text
=
Are you sure you want to remove this tournament? THIS CANNOT BE REVERSED!
tournaments.admin.remove_title
=
Confirm Tournament Removal
tournaments.admin.rules
=
Rules
tournaments.admin.select_a_game
=
Select a game
tournaments.admin.select_a_ruleset
=
Select a ruleset
tournaments.admin.set_time_constraints
=
Set time constraints
tournaments.admin.title
=
Tournaments management
tournaments.back_to_tournament_list
=
Back to tournament list
tournaments.backup_players
=
Max backup players
tournaments.cancel_participation
=
Cancel participation
tournaments.description
=
You can view & participate into tournaments from this page.
tournaments.max_participants
=
Max participants
tournaments.open_tournaments
=
Open tournaments
tournaments.participate_actual_team_members
=
Actual team members
tournaments.participate_backup_player_count
=
Backup Player Count
tournaments.participate_backup_team_members
=
Backup team members
tournaments.participate_description
=
You may participate to the tournament from this page.
tournaments.participate_player_count
=
Player Count
tournaments.participate_rules
=
Rules
tournaments.participate_team_counters
=
Counters
tournaments.participate_team_members
=
Team members for participation
tournaments.participate_title
=
Participate to tournament
tournaments.players_per_match
=
Max players per match
tournaments.registration_closes
=
Set registration closing time
tournaments.registration_opens
=
Set registration opening time
tournaments.ruleset_description
=
Ruleset description
tournaments.ruleset_name
=
Ruleset name
tournaments.ruleset_rules
=
Tournament ruleset
tournaments.start_time
=
Start Time
tournaments.team_details
=
Team Details
tournaments.title
=
Tournaments
tournaments.tournament_details
=
Tournament details
tournaments.tournament_name
=
Tournament name
tournaments.tournament_type
=
Tournament type
...
...
code/MoyaWeb/src/fi/codecrew/moya/resources/i18n_fi.properties
View file @
7011d55
...
...
@@ -993,40 +993,88 @@ topnavi.usermgmt = K\u00E4ytt\u00E4j\u00E4t
topnavi.userplaces
=
Konepaikat
topnavi.usershop
=
Kauppa
tournament.admin.create
=
Luo uusi turnaus
tournament.create
=
Luo turnaus
tournament.edit
=
Muokkaa turnausta
tournament.fillamount
=
Osallistujaa ilmottautunut
tournament.game
=
Peli
tournament.name
=
Turnauksen nimi
tournament.playerspermatch_slash_teamsize
=
Pelaajat / tiimin koko
tournament.rules
=
S
\u
00E4
\u
00E4nn
\u
00F6t
tournament.status
=
Tilanne
tournament.type
=
Tyyppi
tournament.admin.control
=
Hallitse
tournament.admin.create
=
Luo uusi turnaus
tournament.admin.delete
=
Poista
tournament.admin.delete_cancel
=
Peruuta
tournament.admin.delete_confirm
=
Vahvista Poisto
tournament.admin.edit
=
Muokkaa
tournament.already_participated_into_tournament
=
Olet jo osallistunut valittuun turnaukseen!
tournament.backup_player_successfully_added_to_team
=
Varapelaaja lis
\u
00E4tty
tournament.cannot_add_anon_user
=
Ei voida lis
\u
00E4t
\u
00E4 anomuumia
tournament.cannot_remove_captain
=
Kapteenia (sinua) ei voi poistaa joukkueesta
tournament.control
=
Hallitse
tournament.create
=
Luo turnaus
tournament.edit
=
Muokkaa turnausta
tournament.fillamount
=
Osallistujaa ilmottautunut
tournament.game
=
Peli
tournament.name
=
Turnauksen nimi
tournament.not_within_participation_time
=
Turnauksen ilmoittautuminen ei ole aktiivinen
tournament.participants
=
Osallistujat
tournament.participate
=
Osallistu
tournament.participation_failed
=
Turnausilmoittautuminen ep
\u
00E4onnistui
tournament.participation_success
=
Osallistuminen vastaanotettu
tournament.participation_time
=
Osallistumisaika
tournament.player_already_exists_in_team
=
Pelaaja on jo lis
\u
00E4tty joukkueeseen
tournament.player_successfully_added_to_team
=
Pelaaja lis
\u
00E4tty joukkueeseen
tournament.playerspermatch_slash_teamsize
=
Pelaajat / tiimin koko
tournament.rules
=
S
\u
00E4
\u
00E4nn
\u
00F6t
tournament.rules_for_tournament
=
S
\u
00E4
\u
00E4nn
\u
00F6t turnaukselle
tournament.status
=
Tilanne
tournament.team_name
=
Joukkueen nimi
tournament.team_name_required
=
Joukkueen nimi vaaditaan
tournament.teammember.delete
=
Poista
tournament.teammember.login
=
Kirjautumistunnus
tournament.teammember.name
=
Nimi
tournament.type
=
Tyyppi
tournaments.accept_rules_and_participate
=
Hyv
\u
00E4ksyn s
\u
00E4
\u
00E4nn
\u
00F6t ja osallistun
tournaments.active_tournaments
=
Aktiiviset turnaukset
tournaments.add_backup_player_to_team
=
Lis
\u
00E4
\u
00E4 varaj
\u
00E4sen
tournaments.add_player_to_team
=
Lis
\u
00E4
\u
00E4 pelaaja joukkueeseen
tournaments.admin.begin_time_constraints
=
Turnauksen aloitusaika
tournaments.admin.cancel_edits
=
Peruuta Muokkaukset
tournaments.admin.create
=
Luo turnaus
tournaments.admin.create_a_game
=
Luo peli
tournaments.admin.create_new_ruleset
=
Luo uusi s
\u
00E4
\u
00E4nn
\u
00F6st
\u
00F6
tournaments.admin.create_tournament
=
Luo turnaus
tournaments.admin.description
=
Hallinnoi turnauksia
tournaments.admin.edit
=
Muokkaa turnausta
tournaments.admin.edit_tournament
=
Muokkaa turnausta
tournaments.admin.game_description
=
Pelin kuvaus
tournaments.admin.game_name
=
Pelin nimi
tournaments.admin.registration_time_constraints
=
Rekister
\u
00F6itymisaika
tournaments.admin.remove_confirmation_text
=
Oletko varma ett
\u
00E4 haluat poistaa turnauksen? T
\u
00C4T
\u
00C4 EI VOI PERUUTTAA!
tournaments.admin.remove_title
=
Vahvista turnauksen poisto
tournaments.admin.rules
=
S
\u
00E4
\u
00E4nn
\u
00F6t
tournaments.admin.select_a_game
=
Valitse peli
tournaments.admin.select_a_ruleset
=
Valitse s
\u
00E4
\u
00E4nn
\u
00F6st
\u
00F6
tournaments.admin.set_time_constraints
=
Aseta aikarajat
tournaments.admin.title
=
Turnauksien hallinnointi
tournaments.back_to_tournament_list
=
Takaisin turnauslistaukseen
tournaments.backup_players
=
Maksimim
\u
00E4
\u
00E4r
\u
00E4 varapelaajia
tournaments.cancel_participation
=
Peruuta osallistuminen
tournaments.description
=
Voit osallistua sek
\u
00E4 katselmoida turnauksia t
\u
00E4ll
\u
00E4 sivulla.
tournaments.max_participants
=
Maksimiosallistujam
\u
00E4
\u
00E4r
\u
00E4
tournaments.open_tournaments
=
Avoimet turnaukset
tournaments.participate_actual_team_members
=
Varsinaiset joukkueen j
\u
00E4senet
tournaments.participate_backup_player_count
=
Varapelaajat
tournaments.participate_backup_team_members
=
Joukkueen varaj
\u
00E4senet
tournaments.participate_description
=
Voit osallistua turnaukseen t
\u
00E4ll
\u
00E4 sivulla.
tournaments.participate_player_count
=
Pelaajam
\u
00E4
\u
00E4r
\u
00E4
tournaments.participate_rules
=
S
\u
00E4
\u
00E4nn
\u
00F6t
tournaments.participate_team_counters
=
Laskurit
tournaments.participate_team_members
=
Valitse joukkueesi
tournaments.participate_title
=
Osallistu turnaukseen
tournaments.players_per_match
=
Maksimim
\u
00E4
\u
00E4r
\u
00E4 pelaajia matchissa
tournaments.registration_closes
=
Rekister
\u
00F6itymisen sulkeutumisaika
tournaments.registration_opens
=
Rekister
\u
00F6itymisen aukeamisaika
tournaments.ruleset_description
=
S
\u
00E4
\u
00E4nn
\u
00F6st
\u
00F6n kuvaus
tournaments.ruleset_name
=
S
\u
00E4
\u
00E4nn
\u
00F6st
\u
00F6n nimi
tournaments.ruleset_rules
=
Turnauksen s
\u
00E4
\u
00E4nn
\u
00F6t
tournaments.start_time
=
Aloitusaika
tournaments.team_details
=
Joukkuekohtaiset tiedot
tournaments.title
=
Turnaukset
tournaments.tournament_details
=
Turnauksen yksityiskohdat
tournaments.tournament_name
=
Turnauksen nimi
tournaments.tournament_type
=
Turnauksen tyyppi
...
...
code/MoyaWeb/src/fi/codecrew/moya/web/cdiview/tournaments/TournamentDeleteView.java
0 → 100644
View file @
7011d55
package
fi
.
codecrew
.
moya
.
web
.
cdiview
.
tournaments
;
import
javax.ejb.EJB
;
import
javax.enterprise.context.ConversationScoped
;
import
javax.enterprise.context.RequestScoped
;
import
javax.faces.bean.ManagedProperty
;
import
javax.inject.Named
;
import
fi.codecrew.moya.beans.TournamentBeanLocal
;
import
fi.codecrew.moya.utilities.I18n
;
import
fi.codecrew.moya.utilities.jsf.MessageHelper
;
import
fi.codecrew.moya.web.cdiview.GenericCDIView
;
@Named
@ConversationScoped
public
class
TournamentDeleteView
extends
GenericCDIView
{
private
static
final
long
serialVersionUID
=
7283815262506163537L
;
private
Integer
id
=
null
;
@EJB
private
TournamentBeanLocal
tournamentBean
;
public
String
showConfirm
(
Integer
id
)
{
this
.
beginConversation
();
this
.
id
=
id
;
return
"/tournaments/admin/delete.xhtml"
;
}
public
String
delete
()
{
if
(
this
.
id
!=
null
)
{
try
{
tournamentBean
.
deleteTournament
(
tournamentBean
.
getTournamentById
(
this
.
id
));
MessageHelper
.
info
(
I18n
.
get
(
"tournament.admin.tournament_deleted_successfully"
));
}
catch
(
Exception
e
)
{
MessageHelper
.
err
(
I18n
.
get
(
"tournament.admin.tournament_delete_failed"
));
}
}
else
{
MessageHelper
.
err
(
I18n
.
get
(
"tournament.admin.tournament_delete_failed"
));
}
this
.
endConversation
();
return
"/tournaments/admin/index.xhtml"
;
}
public
String
cancel
()
{
this
.
endConversation
();
return
"/tournaments/admin/index.xhtml"
;
}
}
code/MoyaWeb/src/fi/codecrew/moya/web/cdiview/tournaments/TournamentEditView.java
0 → 100644
View file @
7011d55
package
fi
.
codecrew
.
moya
.
web
.
cdiview
.
tournaments
;
import
javax.ejb.EJB
;
import
javax.enterprise.context.ConversationScoped
;
import
javax.enterprise.context.RequestScoped
;
import
javax.inject.Named
;
import
fi.codecrew.moya.beans.TournamentBeanLocal
;
import
fi.codecrew.moya.model.Tournament
;
import
fi.codecrew.moya.utilities.I18n
;
import
fi.codecrew.moya.utilities.jsf.MessageHelper
;
import
fi.codecrew.moya.web.cdiview.GenericCDIView
;
@Named
@ConversationScoped
public
class
TournamentEditView
extends
GenericCDIView
{
@EJB
private
TournamentBeanLocal
tournamentBean
;
private
Tournament
tournament
=
null
;
public
String
showEdit
(
Integer
tournamentId
)
{
this
.
beginConversation
();
this
.
setTournament
(
tournamentBean
.
getTournamentById
(
tournamentId
));
return
"/tournaments/admin/edit.xhtml"
;
}
public
String
commit
()
{
if
(
this
.
tournament
!=
null
)
{
try
{
this
.
tournamentBean
.
editTournament
(
tournament
);
MessageHelper
.
info
(
I18n
.
get
(
"tournament.admin.tournament_edited_successfully"
));
}
catch
(
Exception
e
)
{
MessageHelper
.
err
(
I18n
.
get
(
"tournament.admin.tournament_edit_failed"
));
}
}
else
{
MessageHelper
.
err
(
I18n
.
get
(
"tournament.admin.tournament_edit_failed"
));
}
this
.
endConversation
();
return
"/tournaments/admin/index.xhtml"
;
}
public
String
cancel
()
{
this
.
endConversation
();
return
"/tournaments/admin/index.xhtml"
;
}
public
Tournament
getTournament
()
{
return
tournament
;
}
public
void
setTournament
(
Tournament
tournament
)
{
this
.
tournament
=
tournament
;
}
}
code/MoyaWeb/src/fi/codecrew/moya/web/cdiview/tournaments/TournamentListView.java
View file @
7011d55
package
fi
.
codecrew
.
moya
.
web
.
cdiview
.
tournaments
;
public
class
TournamentListView
{
import
java.util.List
;
import
javax.ejb.EJB
;
import
javax.enterprise.context.RequestScoped
;
import
javax.inject.Named
;
import
fi.codecrew.moya.beans.TournamentBeanLocal
;
import
fi.codecrew.moya.enums.TournamentStatus
;
import
fi.codecrew.moya.model.Tournament
;
@Named
@RequestScoped
public
class
TournamentListView
{
@EJB
private
TournamentBeanLocal
tournamentBean
;
public
List
<
Tournament
>
getSetupPhaseTournaments
()
{
return
tournamentBean
.
getTournamentsInStatus
(
TournamentStatus
.
SETUP
,
true
);
}
public
List
<
Tournament
>
getInProgressTournaments
()
{
return
tournamentBean
.
getTournamentsInStatus
(
TournamentStatus
.
IN_PROGRESS
,
false
);
}
public
List
<
Tournament
>
getCompletedTournaments
()
{
return
tournamentBean
.
getTournamentsInStatus
(
TournamentStatus
.
COMPLETED
,
false
);
}
}
code/MoyaWeb/src/fi/codecrew/moya/web/cdiview/tournaments/TournamentParticipateView.java
0 → 100644
View file @
7011d55
package
fi
.
codecrew
.
moya
.
web
.
cdiview
.
tournaments
;
import
java.util.ArrayList
;
import
java.util.List
;
import
javax.ejb.EJB
;
import
javax.enterprise.context.ConversationScoped
;
import
javax.inject.Named
;
import
fi.codecrew.moya.beans.PermissionBeanLocal
;
import
fi.codecrew.moya.beans.TournamentBeanLocal
;
import
fi.codecrew.moya.enums.TournamentTeamMemberRole
;
import
fi.codecrew.moya.model.EventUser
;
import
fi.codecrew.moya.model.Tournament
;
import
fi.codecrew.moya.model.TournamentParticipant
;
import
fi.codecrew.moya.model.TournamentTeamMember
;
import
fi.codecrew.moya.utilities.I18n
;
import
fi.codecrew.moya.utilities.jsf.MessageHelper
;
import
fi.codecrew.moya.web.cdiview.GenericCDIView
;
@Named
@ConversationScoped
public
class
TournamentParticipateView
extends
GenericCDIView
{
private
static
final
long
serialVersionUID
=
8002140932622853455L
;
private
Tournament
tournament
;
private
TournamentParticipant
tournamentParticipant
;
@EJB
private
TournamentBeanLocal
tournamentBean
;
@EJB
private
PermissionBeanLocal
permissionBean
;
private
String
selectedPlayerLogin
;
private
String
selectedBackupPlayerLogin
;
public
Integer
getTeamMax
()
{
return
tournament
.
getPlayersPerMatch
();
}
public
Integer
getBackupMax
()
{
return
(
tournament
.
getPlayersPerTeam
()
-
tournament
.
getPlayersPerMatch
());
}
public
Integer
getPlayerCount
()
{
return
getPlayers
().
size
();
}
public
Integer
getBackupPlayerCount
()
{
return
getBackupPlayers
().
size
();
}
public
void
removePlayerFromTeam
(
Integer
euid
)
{
TournamentTeamMember
ttcand
=
null
;
for
(
TournamentTeamMember
ttm
:
tournamentParticipant
.
getTeamMembers
())
{
if
(
ttm
.
getEventUser
().
getId
()
==
euid
)
{
ttcand
=
ttm
;
}
}
if
(
ttcand
!=
null
)
{
if
(
ttcand
.
getRole
()
==
TournamentTeamMemberRole
.
CAPTAIN
)
{
MessageHelper
.
err
(
"tournament.cannot_remove_captain"
);
}
else
{
tournamentParticipant
.
getTeamMembers
().
remove
(
ttcand
);
}
}
}
public
String
participate
(
Integer
tournamentId
)
{
tournament
=
tournamentBean
.
getTournamentById
(
tournamentId
);
if
(
tournamentBean
.
hasParticipations
(
permissionBean
.
getCurrentUser
(),
tournament
))
{
MessageHelper
.
err
(
"tournament.already_participated_into_tournament"
);
return
"/tournaments/index.xhtml"
;
}
this
.
beginConversation
();
if
(
tournament
!=
null
)
{
tournamentParticipant
=
new
TournamentParticipant
();
tournamentParticipant
.
setTournament
(
tournament
);
tournamentParticipant
.
setParticipator
(
permissionBean
.
getCurrentUser
());
tournamentParticipant
.
setTeamMembers
(
new
ArrayList
<
TournamentTeamMember
>());
TournamentTeamMember
captain
=
new
TournamentTeamMember
();
captain
.
setRole
(
TournamentTeamMemberRole
.
CAPTAIN
);
captain
.
setEventUser
(
permissionBean
.
getCurrentUser
());
captain
.
setTeam
(
tournamentParticipant
);
tournamentParticipant
.
getTeamMembers
().
add
(
captain
);
if
(
tournament
.
getPlayersPerTeam
()
==
1
)
{
return
"/tournaments/participate_single.xhtml"
;
}
else
{
return
"/tournaments/participate_multi.xhtml"
;
}
}
else
{
return
"/tournaments/index.xhtml"
;
}
}
public
String
addMainPlayerToTeam
()
{
try
{
EventUser
p
=
tournamentBean
.
findAvailablePlayerForTournamentByLogin
(
this
.
tournament
,
selectedPlayerLogin
);
for
(
TournamentTeamMember
member
:
tournamentParticipant
.
getTeamMembers
())
if
(
member
.
getEventUser
().
equals
(
p
))
throw
new
Exception
(
"tournament.player_already_exists_in_team"
);
if
(
p
.
isAnonymous
())
{
throw
new
Exception
(
"tournament.cannot_add_anon_user"
);
}
TournamentTeamMember
ttm
=
new
TournamentTeamMember
();
ttm
.
setEventUser
(
p
);
ttm
.
setRole
(
TournamentTeamMemberRole
.
PLAYER
);
ttm
.
setTeam
(
tournamentParticipant
);
this
.
tournamentParticipant
.
getTeamMembers
().
add
(
ttm
);
MessageHelper
.
info
(
"tournament.player_successfully_added_to_team"
);
this
.
selectedPlayerLogin
=
""
;
}
catch
(
Exception
e
)
{
MessageHelper
.
err
(
e
.
getMessage
());
}
return
""
;
}
public
String
addBackupPlayerToTeam
()
{
try
{
EventUser
p
=
tournamentBean
.
findAvailablePlayerForTournamentByLogin
(
this
.
tournament
,
selectedBackupPlayerLogin
);
for
(
TournamentTeamMember
member
:
tournamentParticipant
.
getTeamMembers
())
if
(
member
.
getEventUser
().
equals
(
p
))
throw
new
Exception
(
"tournament.player_already_exists_in_team"
);
if
(
p
.
isAnonymous
())
{
throw
new
Exception
(
"tournament.cannot_add_anon_user"
);
}
TournamentTeamMember
ttm
=
new
TournamentTeamMember
();
ttm
.
setEventUser
(
p
);
ttm
.
setRole
(
TournamentTeamMemberRole
.
BACKUP_PLAYER
);
ttm
.
setTeam
(
tournamentParticipant
);
this
.
tournamentParticipant
.
getTeamMembers
().
add
(
ttm
);
MessageHelper
.
info
(
"tournament.backup_player_successfully_added_to_team"
);
this
.
selectedBackupPlayerLogin
=
""
;
}
catch
(
Exception
e
)
{
MessageHelper
.
err
(
e
.
getMessage
());
}
return
""
;
}
public
List
<
TournamentTeamMember
>
getPlayers
()
{
ArrayList
<
TournamentTeamMember
>
ttms
=
new
ArrayList
<>();
for
(
TournamentTeamMember
ttm
:
tournamentParticipant
.
getTeamMembers
())
{
if
(
ttm
.
getRole
()
==
TournamentTeamMemberRole
.
CAPTAIN
||
ttm
.
getRole
()
==
TournamentTeamMemberRole
.
PLAYER
)
{
ttms
.
add
(
ttm
);
}
}
return
ttms
;
}
public
List
<
TournamentTeamMember
>
getBackupPlayers
()
{
ArrayList
<
TournamentTeamMember
>
ttms
=
new
ArrayList
<>();
for
(
TournamentTeamMember
ttm
:
tournamentParticipant
.
getTeamMembers
())
{
if
(
ttm
.
getRole
()
==
TournamentTeamMemberRole
.
BACKUP_PLAYER
)
{
ttms
.
add
(
ttm
);
}
}
return
ttms
;
}
public
String
saveParticipation
()
{
if
(
tournamentParticipant
!=
null
)
{
try
{
tournamentBean
.
createParticipation
(
tournamentParticipant
);
MessageHelper
.
info
(
"tournament.participation_success"
);
}
catch
(
Exception
e
)
{
MessageHelper
.
err
(
e
.
getMessage
());
}
}
else
{
MessageHelper
.
err
(
"tournament.participation_failed"
);
}
this
.
endConversation
();
return
"/tournaments/index.xhtml"
;
}
public
String
cancelParticipation
()
{
this
.
endConversation
();
return
"/tournaments/index.xhtml"
;
}
public
Tournament
getTournament
()
{
return
tournament
;
}
public
void
setTournament
(
Tournament
tournament
)
{
this
.
tournament
=
tournament
;
}
public
TournamentParticipant
getTournamentParticipant
()
{
return
this
.
tournamentParticipant
;
}
public
void
setTournamentParticipant
(
TournamentParticipant
tp
)
{
this
.
tournamentParticipant
=
tp
;
}
public
String
getSelectedPlayerLogin
()
{
return
selectedPlayerLogin
;
}
public
void
setSelectedPlayerLogin
(
String
selectedPlayerLogin
)
{
this
.
selectedPlayerLogin
=
selectedPlayerLogin
;
}
public
String
getSelectedBackupPlayerLogin
()
{
return
selectedBackupPlayerLogin
;
}
public
void
setSelectedBackupPlayerLogin
(
String
selectedBackupPlayerLogin
)
{
this
.
selectedBackupPlayerLogin
=
selectedBackupPlayerLogin
;
}
}
code/MoyaWeb/src/fi/codecrew/moya/web/cdiview/tournaments/TournamentRulesView.java
0 → 100644
View file @
7011d55
package
fi
.
codecrew
.
moya
.
web
.
cdiview
.
tournaments
;
import
java.util.List
;
import
javax.annotation.PostConstruct
;
import
javax.ejb.EJB
;
import
javax.enterprise.context.RequestScoped
;
import
javax.faces.bean.ManagedProperty
;
import
javax.inject.Named
;
import
fi.codecrew.moya.beans.TournamentBeanLocal
;
import
fi.codecrew.moya.enums.TournamentStatus
;
import
fi.codecrew.moya.model.Tournament
;
@Named
@RequestScoped
public
class
TournamentRulesView
{
@EJB
private
TournamentBeanLocal
tournamentBean
;
private
Tournament
tournament
;
private
Integer
tournamentId
;
public
void
init
()
{
tournament
=
tournamentBean
.
getTournamentById
(
tournamentId
);
}
public
Integer
getTournamentId
()
{
return
tournamentId
;
}
public
void
setTournamentId
(
Integer
tournamentId
)
{
this
.
tournamentId
=
tournamentId
;
}
public
Tournament
getTournament
()
{
return
tournament
;
}
public
void
setTournament
(
Tournament
tournament
)
{
this
.
tournament
=
tournament
;
}
}
Write
Preview
Markdown
is supported
Attach a file
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to post a comment