Commit e48ea427 by Tuomas Riihimäki

Merge branch 'master' into 'master'

lukitun paikan voi ny varata, jos on admin

Paikan varaaminen vapauttaa paikan, jos sen tekee adminina.

fixes #21

Reviewed-by: @tuomari
2 parents d51cb4ad b48c82c4
...@@ -105,12 +105,15 @@ public class MenuBean implements MenuBeanLocal { ...@@ -105,12 +105,15 @@ public class MenuBean implements MenuBeanLocal {
userkauppa.addPage(menuitemfacade.findOrCreate("/shop/createBill"), BillPermission.CREATE_BILL); userkauppa.addPage(menuitemfacade.findOrCreate("/shop/createBill"), BillPermission.CREATE_BILL);
userkauppa.addPage(menuitemfacade.findOrCreate("/foodwave/list"), ShopPermission.SHOP_FOODWAVE); userkauppa.addPage(menuitemfacade.findOrCreate("/foodwave/list"), ShopPermission.SHOP_FOODWAVE);
userkauppa.addPage(menuitemfacade.findOrCreate("/bill/list"), BillPermission.VIEW_OWN); userkauppa.addPage(menuitemfacade.findOrCreate("/bill/list"), BillPermission.VIEW_OWN);
userkauppa.addPage(menuitemfacade.findOrCreate("/bill/edit"), BillPermission.VIEW_OWN).setVisible(false);
userkauppa.addPage(menuitemfacade.findOrCreate("/bill/showBill"), BillPermission.VIEW_OWN).setVisible(false);
userkauppa.addPage(menuitemfacade.findOrCreate("/user/accountEvents"), UserPermission.VIEW_ACCOUNTEVENTS); userkauppa.addPage(menuitemfacade.findOrCreate("/user/accountEvents"), UserPermission.VIEW_ACCOUNTEVENTS);
MenuNavigation userPlaces = usermenu.addPage(null, null); MenuNavigation userPlaces = usermenu.addPage(null, null);
userPlaces.setKey("topnavi.userplaces"); userPlaces.setKey("topnavi.userplaces");
userPlaces.addPage(menuitemfacade.findOrCreate("/place/placemap"), MapPermission.VIEW); userPlaces.addPage(menuitemfacade.findOrCreate("/place/placemap"), MapPermission.VIEW);
userPlaces.addPage(menuitemfacade.findOrCreate("/place/myGroups"), MapPermission.BUY_PLACES); userPlaces.addPage(menuitemfacade.findOrCreate("/place/myGroups"), MapPermission.BUY_PLACES);
userPlaces.addPage(menuitemfacade.findOrCreate("/place/edit"), MapPermission.MANAGE_OTHERS).setVisible(false);
MenuNavigation usercompetitions = usermenu.addPage(null, null); MenuNavigation usercompetitions = usermenu.addPage(null, null);
usercompetitions.setKey("topnavi.competitions"); usercompetitions.setKey("topnavi.competitions");
......
...@@ -182,7 +182,8 @@ public class PlaceBean implements PlaceBeanLocal { ...@@ -182,7 +182,8 @@ public class PlaceBean implements PlaceBeanLocal {
} }
/** /**
* Reserve the place for user. This reservation will timeout after a while buy() method should be called after this when buying place; * Reserve the place for user. This reservation will timeout after a while
* buy() method should be called after this when buying place;
* *
* @param place * @param place
* place to be reserved * place to be reserved
...@@ -196,24 +197,33 @@ public class PlaceBean implements PlaceBeanLocal { ...@@ -196,24 +197,33 @@ public class PlaceBean implements PlaceBeanLocal {
place = placeFacade.find(place.getId()); place = placeFacade.find(place.getId());
user = eventUserFacade.find(user.getId()); user = eventUserFacade.find(user.getId());
boolean ret = false; boolean ret = false;
if (place.isBuyable() && !place.isTaken()) {
place.setCurrentUser(user); // when admin click's place, he reserves it -> just ignore it
place.setReleaseTime(Calendar.getInstance()); if (!place.isTaken() || (permbean.hasPermission(MapPermission.MANAGE_OTHERS) && permbean.getCurrentUser().equals(place.getCurrentUser()) )) {
place.getReleaseTime().add(Calendar.MINUTE, RESERVE_MINUTES); if (place.isBuyable() || permbean.hasPermission(MapPermission.MANAGE_OTHERS)) {
// Create timeout service to timeout the reserved place in if(!place.isBuyable()) {
// RESERVE_MINUTES place.setBuyable(true);
boolean foundTimeout = false;
for (Timer t : ts.getTimers()) {
if (t.getInfo().equals(PLACE_RESERVE_TIMEOUTER)) {
foundTimeout = true;
} }
place.setCurrentUser(user);
place.setReleaseTime(Calendar.getInstance());
place.getReleaseTime().add(Calendar.MINUTE, RESERVE_MINUTES);
// Create timeout service to timeout the reserved place in
// RESERVE_MINUTES
boolean foundTimeout = false;
for (Timer t : ts.getTimers()) {
if (t.getInfo().equals(PLACE_RESERVE_TIMEOUTER)) {
foundTimeout = true;
}
}
if (!foundTimeout) {
logger.info("Place timeout calculator not started. Starting new.");
ts.createTimer(new Date(), 1000 * 60, PLACE_RESERVE_TIMEOUTER);
}
ret = true;
} }
if (!foundTimeout) {
logger.info("Place timeout calculator not started. Starting new.");
ts.createTimer(new Date(), 1000 * 60, PLACE_RESERVE_TIMEOUTER);
}
ret = true;
} }
return ret; return ret;
} }
......
...@@ -103,7 +103,7 @@ ...@@ -103,7 +103,7 @@
<nav> <nav>
<div id="menu"> <div id="menu">
<p:panelMenu model="#{primeMenuView.menuModel}" /> <p:panelMenu model="#{primeMenuView.menuModel}" />
<h:link style="font-size: 10px;" rendered="#{readerView.shopToOthers}" outcome="/shop/showReaderEvents" value="Readers" /> <h:link style="font-size: 10px;" rendered="#{readerView.shopToOthers}" outcome="/shop/showReaderEvents" value="Readers" />
</div> </div>
</nav> </nav>
......
...@@ -91,12 +91,18 @@ public class PrimeMenuView extends GenericCDIView { ...@@ -91,12 +91,18 @@ public class PrimeMenuView extends GenericCDIView {
{ {
menuModel = new DefaultMenuModel(); menuModel = new DefaultMenuModel();
MenuNavigation selectedTop = layoutview.getSelectedTopmenu(); MenuNavigation selectedTop = layoutview.getSelectedTopmenu();
if (selectedTop == null)
if (selectedTop == null) {
return null; return null;
}
int testid = 3;
for (MenuNavigation m : selectedTop.getChildren()) { for (MenuNavigation m : selectedTop.getChildren()) {
if (m.getItem() != null && m.getChildren().isEmpty()) { if (m.getItem() != null && m.getChildren().isEmpty()) {
DefaultMenuItem menuitem = mkMenuitem(m); DefaultMenuItem menuitem = mkMenuitem(m);
if (menuitem != null) { if (menuitem != null) {
menuModel.addElement(menuitem); menuModel.addElement(menuitem);
} }
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!