Skip to content
Toggle navigation
Projects
Groups
Snippets
Help
Max Mecklin
/
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 df02733b
authored
Sep 17, 2013
by
Antti Tonkyra
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
tournaments tweaks
1 parent
9f958648
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
59 additions
and
22 deletions
code/MoyaBeans/ejbModule/fi/codecrew/moya/beans/MenuBean.java
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/MoyaWeb/WebContent/tournaments/admin/createwizard.xhtml
code/MoyaWeb/WebContent/tournaments/admin/edit.xhtml
code/MoyaWeb/src/fi/codecrew/moya/resources/i18n.properties
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/TournamentCreateView.java
code/MoyaBeans/ejbModule/fi/codecrew/moya/beans/MenuBean.java
View file @
df02733
...
...
@@ -20,6 +20,7 @@ import fi.codecrew.moya.enums.apps.MapPermission;
import
fi.codecrew.moya.enums.apps.PollPermission
;
import
fi.codecrew.moya.enums.apps.ShopPermission
;
import
fi.codecrew.moya.enums.apps.SpecialPermission
;
import
fi.codecrew.moya.enums.apps.TournamentPermission
;
import
fi.codecrew.moya.enums.apps.UserPermission
;
import
fi.codecrew.moya.facade.MenuNavigationFacade
;
import
fi.codecrew.moya.facade.MenuitemFacade
;
...
...
@@ -118,6 +119,10 @@ public class MenuBean implements MenuBeanLocal {
userprofile
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/user/edit"
),
UserPermission
.
VIEW_SELF
);
userprofile
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/user/changePassword"
),
UserPermission
.
VIEW_SELF
);
userprofile
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/auth/logout"
),
UserPermission
.
LOGOUT
);
MenuNavigation
tournaments
=
usermenu
.
addPage
(
null
,
null
);
tournaments
.
setKey
(
"tournaments.menutitle"
);
tournaments
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/tournaments/index"
),
TournamentPermission
.
VIEW
);
/*
* MenuNavigation createuser = usermenu.addPage(null, null);
...
...
@@ -234,6 +239,10 @@ public class MenuBean implements MenuBeanLocal {
// shopnavi.addPage(menuitemfacade.findOrCreate("/index3"),
// UserPermission.ANYUSER);
navifacade
.
create
(
shopmenu
);
MenuNavigation
tournamentsadm
=
adminmenu
.
addPage
(
null
,
null
);
tournamentsadm
.
setKey
(
"tournaments.menutitle"
);
tournamentsadm
.
addPage
(
menuitemfacade
.
findOrCreate
(
"/tournaments/admin/index"
),
TournamentPermission
.
MANAGE_ALL
);
/*
* MenuNavigation profileTopmenu = new MenuNavigation(ev,
...
...
code/MoyaBeans/ejbModule/fi/codecrew/moya/beans/TournamentBean.java
View file @
df02733
...
...
@@ -84,20 +84,24 @@ public class TournamentBean implements TournamentBeanLocal {
@Override
@RolesAllowed
(
TournamentPermission
.
S_MANAGE_ALL
)
public
void
createTournament
(
Tournament
tournament
)
{
tournamentFacade
.
create
(
tournament
);
public
void
createTournament
(
Tournament
tournament
)
throws
Exception
{
// Assert correct event
if
(
eventBean
.
getCurrentEvent
().
equals
(
tournament
.
getLanEvent
()))
tournamentFacade
.
create
(
tournament
);
else
throw
new
Exception
(
"tournament.invalid_event"
);
}
@Override
@RolesAllowed
(
TournamentPermission
.
S_VIEW
)
public
List
<
Tournament
>
getTournamentsInStatus
(
TournamentStatus
status
,
boolean
useTimeConstraints
)
{
return
tournamentFacade
.
getTournamentsInStatusWithParticipationTimeIn
(
status
);
return
tournamentFacade
.
getTournamentsInStatusWithParticipationTimeIn
(
status
,
eventBean
.
getCurrentEvent
()
);
}
@Override
@RolesAllowed
(
TournamentPermission
.
S_VIEW
)
public
List
<
Tournament
>
getActiveTournaments
()
{
return
tournamentFacade
.
getTournamentsNotInStatus
(
TournamentStatus
.
COMPLETED
);
return
tournamentFacade
.
getTournamentsNotInStatus
(
TournamentStatus
.
COMPLETED
,
eventBean
.
getCurrentEvent
()
);
}
@Override
...
...
@@ -126,6 +130,7 @@ public class TournamentBean implements TournamentBeanLocal {
Date
currentTime
=
new
Date
();
// Assert registration time is correct
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
())
{
...
...
code/MoyaBeans/ejbModule/fi/codecrew/moya/facade/TournamentFacade.java
View file @
df02733
...
...
@@ -12,6 +12,7 @@ import javax.persistence.criteria.Root;
import
fi.codecrew.moya.enums.TournamentStatus
;
import
fi.codecrew.moya.model.EventUser
;
import
fi.codecrew.moya.model.LanEvent
;
import
fi.codecrew.moya.model.Tournament
;
import
fi.codecrew.moya.model.TournamentParticipant
;
import
fi.codecrew.moya.model.Tournament_
;
...
...
@@ -25,31 +26,42 @@ public class TournamentFacade extends IntegerPkGenericFacade<Tournament> {
super
(
Tournament
.
class
);
}
public
List
<
Tournament
>
getTournamentsNotInStatus
(
TournamentStatus
status
)
{
public
List
<
Tournament
>
getTournamentsNotInStatus
(
TournamentStatus
status
,
LanEvent
event
)
{
CriteriaBuilder
cb
=
getEm
().
getCriteriaBuilder
();
CriteriaQuery
<
Tournament
>
cq
=
cb
.
createQuery
(
Tournament
.
class
);
Root
<
Tournament
>
root
=
cq
.
from
(
Tournament
.
class
);
cq
.
where
(
cb
.
notEqual
(
root
.
get
(
Tournament_
.
tournamentStatus
),
status
));
cq
.
where
(
cb
.
and
(
cb
.
notEqual
(
root
.
get
(
Tournament_
.
tournamentStatus
),
status
),
cb
.
equal
(
root
.
get
(
Tournament_
.
lanEvent
),
event
)
)
);
return
getEm
().
createQuery
(
cq
).
getResultList
();
}
public
List
<
Tournament
>
getTournamentsInStatus
(
TournamentStatus
status
)
{
public
List
<
Tournament
>
getTournamentsInStatus
(
TournamentStatus
status
,
LanEvent
event
)
{
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
));
cq
.
where
(
cb
.
and
(
cb
.
equal
(
root
.
get
(
Tournament_
.
tournamentStatus
),
status
),
cb
.
equal
(
root
.
get
(
Tournament_
.
lanEvent
),
event
)
)
);
return
getEm
().
createQuery
(
cq
).
getResultList
();
}
public
List
<
Tournament
>
getTournamentsInStatusWithParticipationTimeIn
(
TournamentStatus
status
)
{
public
List
<
Tournament
>
getTournamentsInStatusWithParticipationTimeIn
(
TournamentStatus
status
,
LanEvent
event
)
{
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
.
equal
(
root
.
get
(
Tournament_
.
lanEvent
),
event
),
cb
.
between
(
cb
.
currentDate
(),
root
.
get
(
Tournament_
.
registrationOpensAt
),
root
.
get
(
Tournament_
.
registrationClosesAt
))
)
);
...
...
code/MoyaBeansClient/ejbModule/fi/codecrew/moya/beans/TournamentBeanLocal.java
View file @
df02733
...
...
@@ -20,7 +20,7 @@ public interface TournamentBeanLocal {
TournamentRule
createRule
(
TournamentRule
tr
);
TournamentGame
findGame
(
Integer
id
);
TournamentRule
findRule
(
Integer
id
);
void
createTournament
(
Tournament
tournament
);
void
createTournament
(
Tournament
tournament
)
throws
Exception
;
List
<
Tournament
>
getActiveTournaments
();
Tournament
getTournamentById
(
Integer
tournamentId
);
void
editTournament
(
Tournament
tournament
);
...
...
code/MoyaWeb/WebContent/tournaments/admin/createwizard.xhtml
View file @
df02733
...
...
@@ -106,13 +106,13 @@
<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}"
/>
<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}"
/>
<p:calendar
stepHour=
"1"
stepMinute=
"10"
pattern=
"dd.MM.yyyy
HH
:mm"
value=
"#{tournamentCreateView.tournament.beginsAt}"
/>
</h:panelGrid>
<br
/>
</p:panel>
...
...
code/MoyaWeb/WebContent/tournaments/admin/edit.xhtml
View file @
df02733
...
...
@@ -8,7 +8,7 @@
</f:metadata>
<ui:define
name=
"content"
>
<h1>
#{i18n['tournaments.admin.
create
_tournament']}
</h1>
<h1>
#{i18n['tournaments.admin.
edit
_tournament']}
</h1>
<h:form>
<h2>
#{i18n['tournaments.tournament_details']}
</h2>
<h:panelGrid
columns=
"2"
>
...
...
@@ -29,13 +29,13 @@
<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}"
/>
<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}"
/>
<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}"
/>
...
...
code/MoyaWeb/src/fi/codecrew/moya/resources/i18n.properties
View file @
df02733
...
...
@@ -223,7 +223,7 @@ resetMail.username = Username
resetmailSent.body
=
Email has been sent containing a link where you can change the password.
resetmailSent.header
=
Email sent
submenu.NotImplementedYet
=
Not implemented
submenu.NotImplementedYet
=
Not implemented
subnavi.cards
=
\u0009\u0009
...
...
code/MoyaWeb/src/fi/codecrew/moya/resources/i18n_en.properties
View file @
df02733
...
...
@@ -929,6 +929,8 @@ submenu.shop.createBill = Purchase
submenu.shop.listReaders
=
List readers
submenu.shop.shopToUser
=
Shop to user
submenu.shop.showReaderEvents
=
Reader events
submenu.tournaments.admin.index
=
View and manage
submenu.tournaments.index
=
View and participate
submenu.user.accountEvents
=
Account events
submenu.user.changePassword
=
Change password
submenu.user.create
=
Create new user
...
...
@@ -1071,6 +1073,7 @@ 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.menutitle
=
Tournaments
tournaments.open_tournaments
=
Open tournaments
tournaments.participate_actual_team_members
=
Actual team members
tournaments.participate_backup_player_count
=
Backup Player Count
...
...
code/MoyaWeb/src/fi/codecrew/moya/resources/i18n_fi.properties
View file @
df02733
...
...
@@ -910,6 +910,8 @@ submenu.shop.createBill = Osta tuotteita
submenu.shop.listReaders
=
N
\u
00E4yt
\u
00E4 lukijat
submenu.shop.shopToUser
=
Osta k
\u
00E4ytt
\u
00E4j
\u
00E4lle
submenu.shop.showReaderEvents
=
Lukijan tapahtumat
submenu.tournaments.admin.index
=
Katsele ja hallinnoi
submenu.tournaments.index
=
Katsele ja osallistu
submenu.user.accountEvents
=
Tilitapahtumat
submenu.user.changePassword
=
Vaihda salasana
submenu.user.create
=
Luo k
\u
00E4ytt
\u
00E4j
\u
00E4
...
...
@@ -1055,6 +1057,7 @@ tournaments.backup_players = Maksimim\u00E4\u00E4r\u00E4 va
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.menutitle
=
Turnaukset
tournaments.open_tournaments
=
Avoimet turnaukset
tournaments.participate_actual_team_members
=
Varsinaiset joukkueen j
\u
00E4senet
tournaments.participate_backup_player_count
=
Varapelaajat
...
...
code/MoyaWeb/src/fi/codecrew/moya/web/cdiview/tournaments/TournamentCreateView.java
View file @
df02733
...
...
@@ -11,6 +11,7 @@ import fi.codecrew.moya.model.Role;
import
fi.codecrew.moya.model.Tournament
;
import
fi.codecrew.moya.model.TournamentGame
;
import
fi.codecrew.moya.model.TournamentRule
;
import
fi.codecrew.moya.utilities.jsf.MessageHelper
;
import
fi.codecrew.moya.web.cdiview.GenericCDIView
;
import
javax.ejb.EJB
;
...
...
@@ -64,10 +65,14 @@ public class TournamentCreateView extends GenericCDIView {
tournament
.
setTournamentGame
(
game
);
tournament
.
setRules
(
rules
);
tournamentBean
.
createTournament
(
tournament
);
this
.
endConversation
();
return
"success"
;
try
{
tournamentBean
.
createTournament
(
tournament
);
this
.
endConversation
();
return
"success"
;
}
catch
(
Exception
e
)
{
MessageHelper
.
err
(
e
.
getMessage
());
return
""
;
}
}
public
List
<
TournamentGame
>
getTournamentGames
()
{
...
...
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