Commit b36ae048 by Tuomas Riihimäki

Generate correct sort for menus

1 parent a6b6adb4
......@@ -23,7 +23,6 @@ import fi.insomnia.bortal.facade.MenuNavigationFacade;
import fi.insomnia.bortal.facade.MenuitemFacade;
import fi.insomnia.bortal.model.LanEvent;
import fi.insomnia.bortal.model.MenuNavigation;
import fi.insomnia.bortal.model.Menuitem;
/**
* Session Bean implementation class Menubean
......@@ -48,7 +47,6 @@ public class MenuBean implements MenuBeanLocal {
@EJB
private PermissionBeanLocal permbean;
@SuppressWarnings("unused")
private static final Logger logger = LoggerFactory.getLogger(MenuBean.class);
@RolesAllowed(SpecialPermission.S_SUPERADMIN)
......@@ -59,47 +57,39 @@ public class MenuBean implements MenuBeanLocal {
initializeMenu();
}
// example....
private synchronized void initializeReabyMenu() {
LanEvent ev = eventbean.getCurrentEvent();
MenuNavigation firstlevel = new MenuNavigation(ev, "firstlevel");
MenuNavigation secondlevel = new MenuNavigation(ev, "secondlevel");
firstlevel.getChildren().add(secondlevel);
MenuNavigation third = new MenuNavigation(ev, "third");
secondlevel.getChildren().add(third);
Menuitem page = menuitemfacade.findOrCreate("/index");
third.addPage(page, UserPermission.ANYUSER);
@RolesAllowed(SpecialPermission.S_SUPERADMIN)
@Override
public void flushOldMenu()
{
navifacade.deleteAllDefaults();
initializeOldMenu();
}
private synchronized void initializeMenu() {
int menusort = 100;
logger.info("Initializing menu");
LanEvent ev = eventbean.getCurrentEvent();
// Etusivu
MenuNavigation frontnavi = new MenuNavigation(ev, "topnavi.frontpage");
MenuNavigation frontnavi = new MenuNavigation(ev, "topnavi.frontpage", menusort = +10);
frontnavi.addPage(menuitemfacade.findOrCreate("/index"), UserPermission.ANYUSER);
navifacade.create(frontnavi);
navifacade.create(frontnavi);
// Kauppa
MenuNavigation shopTopmenu = new MenuNavigation(ev, "topnavi.shop");
MenuNavigation shopTopmenu = new MenuNavigation(ev, "topnavi.shop", menusort = +10);
shopTopmenu.addPage(menuitemfacade.findOrCreate("/place/placemap"), MapPermission.VIEW);
shopTopmenu.addPage(menuitemfacade.findOrCreate("/place/myGroups"), UserPermission.VIEW_SELF);
shopTopmenu.addPage(null, null);
shopTopmenu.addPage(menuitemfacade.findOrCreate("/shop/createBill"), BillPermission.CREATE_BILL);
shopTopmenu.addPage(menuitemfacade.findOrCreate("/user/accountEvents"), UserPermission.VIEW_SELF);
shopTopmenu.addPage(menuitemfacade.findOrCreate("/bill/list"), BillPermission.VIEW_OWN);
MenuNavigation prodsubmenu = shopTopmenu.addPage(null, null);
prodsubmenu.setKey("topnavi.shop.products");
prodsubmenu.addPage(menuitemfacade.findOrCreate("/product/list"), ShopPermission.LIST_ALL_PRODUCTS);
prodsubmenu.addPage(menuitemfacade.findOrCreate("/product/create"), ShopPermission.MANAGE_PRODUCTS);
MenuNavigation prodsubmenu = shopTopmenu.addPage(null, null);
prodsubmenu.setKey("topnavi.shop.products");
prodsubmenu.addPage(menuitemfacade.findOrCreate("/product/list"), ShopPermission.LIST_ALL_PRODUCTS);
prodsubmenu.addPage(menuitemfacade.findOrCreate("/product/create"), ShopPermission.MANAGE_PRODUCTS);
MenuNavigation adminshop = shopTopmenu.addPage(null, null);
adminshop.setKey("topnavi.shop.adminshop");
adminshop.addPage(menuitemfacade.findOrCreate("/shop/showReaderEvents"), ShopPermission.SHOP_TO_OTHERS);
......@@ -110,25 +100,25 @@ public class MenuBean implements MenuBeanLocal {
billnavi.addPage(menuitemfacade.findOrCreate("/bill/billSummary"), BillPermission.READ_ALL);
billnavi.addPage(menuitemfacade.findOrCreate("/bill/listAll"), BillPermission.WRITE_ALL);
navifacade.create(shopTopmenu);
MenuNavigation eventTopmenu = new MenuNavigation(ev, "topnavi.event");
MenuNavigation eventTopmenu = new MenuNavigation(ev, "topnavi.event", menusort = +10);
eventTopmenu.addPage(menuitemfacade.findOrCreate("/map/list"), MapPermission.MANAGE_MAPS);
eventTopmenu.addPage(menuitemfacade.findOrCreate("/map/create"), MapPermission.MANAGE_MAPS);
eventTopmenu.addPage(null, null);
eventTopmenu.addPage(menuitemfacade.findOrCreate("/voting/compolist"), CompoPermission.VIEW_COMPOS);
eventTopmenu.addPage(menuitemfacade.findOrCreate("/voting/myEntries"), CompoPermission.VIEW_COMPOS);
eventTopmenu.addPage(menuitemfacade.findOrCreate("/voting/create"), CompoPermission.MANAGE);
eventTopmenu.addPage(null, null);
eventTopmenu.addPage(menuitemfacade.findOrCreate("/poll/index"), PollPermission.ANSWER);
navifacade.create(eventTopmenu);
MenuNavigation profileTopmenu = new MenuNavigation(ev, "topnavi.profile");
MenuNavigation profileTopmenu = new MenuNavigation(ev, "topnavi.profile", menusort = +10);
profileTopmenu.addPage(menuitemfacade.findOrCreate("/useradmin/create"), UserPermission.VIEW_ALL);
profileTopmenu.addPage(menuitemfacade.findOrCreate("/useradmin/list"), UserPermission.VIEW_ALL).setHeader("submenu.user.manageuserlinks");
profileTopmenu.addPage(menuitemfacade.findOrCreate("/user/edit"), UserPermission.VIEW_SELF);
profileTopmenu.addPage(menuitemfacade.findOrCreate("/user/changePassword"), UserPermission.VIEW_SELF);
MenuNavigation usermgmt = profileTopmenu.addPage(null, null);
usermgmt.setKey("topnavi.user.mgmt");
usermgmt.addPage(menuitemfacade.findOrCreate("/role/create"), UserPermission.WRITE_ROLES);
......@@ -137,42 +127,154 @@ public class MenuBean implements MenuBeanLocal {
usermgmt.addPage(menuitemfacade.findOrCreate("/orgrole/create"), UserPermission.WRITE_ORGROLES);
usermgmt.addPage(menuitemfacade.findOrCreate("/useradmin/listCardTemplates"), UserPermission.READ_ROLES);
usermgmt.addPage(menuitemfacade.findOrCreate("/useradmin/createCardTemplate"), UserPermission.WRITE_ROLES);
navifacade.create(profileTopmenu);
MenuNavigation miscTopmenu = new MenuNavigation(ev, "topnavi.misc");
MenuNavigation miscTopmenu = new MenuNavigation(ev, "topnavi.misc", menusort = +10);
miscTopmenu.addPage(menuitemfacade.findOrCreate("/pages/list"), ContentPermission.MANAGE_PAGES);
miscTopmenu.addPage(menuitemfacade.findOrCreate("/pages/create"), ContentPermission.MANAGE_PAGES);
miscTopmenu.addPage(menuitemfacade.findOrCreate("/utils/flushCache"), ContentPermission.MANAGE_PAGES);
navifacade.create(miscTopmenu);
// frontTopnavi.addPage(menuitemfacade.findOrCreate("/user/create"), UserPermission.CREATE_NEW);
// frontTopnavi.addPage(menuitemfacade.findOrCreate("/auth/sendResetMail"), UserPermission.LOGIN);
// frontTopnavi.addPage(menuitemfacade.findOrCreate("/user/invite"), UserPermission.INVITE_USERS);
//////////////////////////////////////////////////////
//////////////////////////////////////////////////////
//////////////////////////////////////////////////////
//////////////////////////////////////////////////////
//////////////////////////////////////////////////////
//////////////////////////////////////////////////////
//////////////////////////////////////////////////////
// frontTopnavi.addPage(menuitemfacade.findOrCreate("/user/create"),
// UserPermission.CREATE_NEW);
// frontTopnavi.addPage(menuitemfacade.findOrCreate("/auth/sendResetMail"),
// UserPermission.LOGIN);
// frontTopnavi.addPage(menuitemfacade.findOrCreate("/user/invite"),
// UserPermission.INVITE_USERS);
// ////////////////////////////////////////////////////
// ////////////////////////////////////////////////////
// ////////////////////////////////////////////////////
// ////////////////////////////////////////////////////
// ////////////////////////////////////////////////////
// ////////////////////////////////////////////////////
// ////////////////////////////////////////////////////
}
private synchronized void initializeOldMenu() {
LanEvent ev = eventbean.getCurrentEvent();
int menusort = 100;
MenuNavigation usernavi = new MenuNavigation(ev, "supernavi.user", menusort = +10);
navifacade.create(usernavi);
MenuNavigation frontTopnavi = usernavi.addPage(null, null);
frontTopnavi.setKey("topnavi.frontpage");
frontTopnavi.addPage(menuitemfacade.findOrCreate("/index"), UserPermission.ANYUSER);
frontTopnavi.addPage(menuitemfacade.findOrCreate("/user/create"), UserPermission.CREATE_NEW);
frontTopnavi.addPage(menuitemfacade.findOrCreate("/auth/sendResetMail"), UserPermission.LOGIN);
frontTopnavi.addPage(menuitemfacade.findOrCreate("/user/invite"), UserPermission.INVITE_USERS);
frontTopnavi.addPage(menuitemfacade.findOrCreate("/permissionDenied"), null).setVisible(false);
frontTopnavi.addPage(menuitemfacade.findOrCreate("/auth/login"), null).setVisible(false);
frontTopnavi.addPage(menuitemfacade.findOrCreate("/auth/loginError"), null).setVisible(false);
frontTopnavi.addPage(menuitemfacade.findOrCreate("/auth/logout"), null).setVisible(false);
frontTopnavi.addPage(menuitemfacade.findOrCreate("/auth/logoutResponse"), null).setVisible(false);
frontTopnavi.addPage(menuitemfacade.findOrCreate("/auth/resetPassword"), null).setVisible(false);
frontTopnavi.addPage(menuitemfacade.findOrCreate("/auth/resetmailSent"), null).setVisible(false);
frontTopnavi.addPage(menuitemfacade.findOrCreate("/auth/passwordChanged"), null).setVisible(false);
frontTopnavi.addPage(menuitemfacade.findOrCreate("/auth/notauthorized"), null).setVisible(false);
MenuNavigation userTopnavi = usernavi.addPage(null, null);
userTopnavi.setKey("topnavi.user");
userTopnavi.addPage(menuitemfacade.findOrCreate("/user/edit"), UserPermission.VIEW_SELF).setHeader("submenu.user.userlinks");
userTopnavi.addPage(menuitemfacade.findOrCreate("/user/changePassword"), UserPermission.VIEW_SELF);
userTopnavi.addPage(menuitemfacade.findOrCreate("/user/accountEvents"), UserPermission.VIEW_SELF);
userTopnavi.addPage(menuitemfacade.findOrCreate("/place/myGroups"), UserPermission.VIEW_SELF);
userTopnavi.addPage(menuitemfacade.findOrCreate("/user/sendPicture"), UserPermission.VIEW_SELF);
MenuNavigation placemapTopmenu = usernavi.addPage(null, null);
placemapTopmenu.setKey("topnavi.placemap");
placemapTopmenu.addPage(menuitemfacade.findOrCreate("/place/placemap"), MapPermission.VIEW);
MenuNavigation shopTopmenu = usernavi.addPage(null, null);
shopTopmenu.setKey("topnavi.shop");
shopTopmenu.addPage(menuitemfacade.findOrCreate("/shop/createBill"), BillPermission.CREATE_BILL);
shopTopmenu.addPage(menuitemfacade.findOrCreate("/bill/list"), BillPermission.VIEW_OWN);
shopTopmenu.addPage(menuitemfacade.findOrCreate("/bill/edit"), null).setVisible(false);
shopTopmenu.addPage(menuitemfacade.findOrCreate("/bill/showBill"), null).setVisible(false);
shopTopmenu.addPage(menuitemfacade.findOrCreate("/shop/assocToUser"), null).setVisible(false);
shopTopmenu.addPage(menuitemfacade.findOrCreate("/svm/failure"), null).setVisible(false);
shopTopmenu.addPage(menuitemfacade.findOrCreate("/svm/notification"), null).setVisible(false);
shopTopmenu.addPage(menuitemfacade.findOrCreate("/svm/pending"), null).setVisible(false);
shopTopmenu.addPage(menuitemfacade.findOrCreate("/svm/success"), null).setVisible(false);
shopTopmenu.addPage(menuitemfacade.findOrCreate("/checkout/cancel"), null).setVisible(false);
shopTopmenu.addPage(menuitemfacade.findOrCreate("/checkout/delayed"), null).setVisible(false);
shopTopmenu.addPage(menuitemfacade.findOrCreate("/checkout/reject"), null).setVisible(false);
shopTopmenu.addPage(menuitemfacade.findOrCreate("/checkout/return"), null).setVisible(false);
MenuNavigation pollTopmenu = usernavi.addPage(null, null);
pollTopmenu.setKey("topnavi.poll");
pollTopmenu.addPage(menuitemfacade.findOrCreate("/poll/index"), PollPermission.ANSWER);
MenuNavigation compoMenu = usernavi.addPage(null, null);
compoMenu.setKey("topnavi.compos");
compoMenu.addPage(menuitemfacade.findOrCreate("/voting/compolist"), CompoPermission.VIEW_COMPOS);
compoMenu.addPage(menuitemfacade.findOrCreate("/voting/myEntries"), CompoPermission.VIEW_COMPOS);
compoMenu.addPage(menuitemfacade.findOrCreate("/voting/create"), CompoPermission.MANAGE);
compoMenu.addPage(menuitemfacade.findOrCreate("/voting/submitEntry"), null).setVisible(false);
compoMenu.addPage(menuitemfacade.findOrCreate("/voting/details"), null).setVisible(false);
MenuNavigation adminnavi = new MenuNavigation(ev, "supernavi.admin", menusort = +10);
navifacade.create(adminnavi);
MenuNavigation adminuser = adminnavi.addPage(null, null);
adminuser.setKey("topnavi.usermgmt");
adminuser.addPage(menuitemfacade.findOrCreate("/useradmin/list"), UserPermission.VIEW_ALL).setHeader("submenu.user.manageuserlinks");
adminuser.addPage(menuitemfacade.findOrCreate("/useradmin/create"), UserPermission.VIEW_ALL);
adminuser.addPage(menuitemfacade.findOrCreate("/role/list"), UserPermission.READ_ROLES).setHeader("submenu.user.rolelinks");
adminuser.addPage(menuitemfacade.findOrCreate("/role/create"), UserPermission.WRITE_ROLES);
adminuser.addPage(menuitemfacade.findOrCreate("/role/edit"), null).setVisible(false);
adminuser.addPage(menuitemfacade.findOrCreate("/orgrole/list"), UserPermission.READ_ORGROLES);
adminuser.addPage(menuitemfacade.findOrCreate("/orgrole/create"), UserPermission.WRITE_ORGROLES);
adminuser.addPage(menuitemfacade.findOrCreate("/useradmin/listCardTemplates"), UserPermission.READ_ROLES);
adminuser.addPage(menuitemfacade.findOrCreate("/useradmin/createCardTemplate"), UserPermission.WRITE_ROLES);
adminuser.addPage(menuitemfacade.findOrCreate("/useradmin/editCardTemplate"), null).setVisible(false);
adminuser.addPage(menuitemfacade.findOrCreate("/shop/shopToUser"), null).setVisible(false);
adminuser.addPage(menuitemfacade.findOrCreate("/useradmin/edit"), UserPermission.VIEW_ALL).setVisible(false);
adminuser.addPage(menuitemfacade.findOrCreate("/useradmin/changePassword"), UserPermission.VIEW_ALL).setVisible(false);
adminuser.addPage(menuitemfacade.findOrCreate("/useradmin/accountEvents"), UserPermission.VIEW_ALL).setVisible(false);
adminuser.addPage(menuitemfacade.findOrCreate("/place/adminGroups"), UserPermission.VIEW_ALL).setVisible(false);
adminuser.addPage(menuitemfacade.findOrCreate("/place/adminInsertToken"), UserPermission.VIEW_ALL).setVisible(false);
adminuser.addPage(menuitemfacade.findOrCreate("/useradmin/sendPicture"), UserPermission.VIEW_ALL).setVisible(false);
// MenuNavigation initUser = adminnavi.addPage(null, null);
// initUser.setKey("topnavi.userinit");
adminuser.addPage(menuitemfacade.findOrCreate("/useradmin/validateUser"), UserPermission.VIEW_ALL);
MenuNavigation usershop = adminnavi.addPage(null, null);
usershop.setKey("topnavi.adminshop");
usershop.addPage(menuitemfacade.findOrCreate("/shop/showReaderEvents"), ShopPermission.SHOP_TO_OTHERS);
usershop.addPage(menuitemfacade.findOrCreate("/shop/listReaders"), ShopPermission.SHOP_TO_OTHERS);
MenuNavigation billnavi = adminnavi.addPage(null, null);
billnavi.setKey("topnavi.billing");
billnavi.addPage(menuitemfacade.findOrCreate("/bill/billSummary"), BillPermission.READ_ALL);
billnavi.addPage(menuitemfacade.findOrCreate("/bill/listAll"), BillPermission.WRITE_ALL);
MenuNavigation mapnavi = adminnavi.addPage(null, null);
mapnavi.setKey("topnavi.maps");
mapnavi.addPage(menuitemfacade.findOrCreate("/map/list"), MapPermission.MANAGE_MAPS);
mapnavi.addPage(menuitemfacade.findOrCreate("/map/create"), MapPermission.MANAGE_MAPS);
mapnavi.addPage(menuitemfacade.findOrCreate("/map/edit"), null).setVisible(false);
MenuNavigation prodnavi = adminnavi.addPage(null, null);
prodnavi.setKey("topnavi.products");
prodnavi.addPage(menuitemfacade.findOrCreate("/product/list"), ShopPermission.LIST_ALL_PRODUCTS);
prodnavi.addPage(menuitemfacade.findOrCreate("/product/create"), ShopPermission.MANAGE_PRODUCTS);
prodnavi.addPage(menuitemfacade.findOrCreate("/product/createDiscount"), null).setVisible(false);
prodnavi.addPage(menuitemfacade.findOrCreate("/product/edit"), null).setVisible(false);
MenuNavigation contentnavi = adminnavi.addPage(null, null);
contentnavi.setKey("topnavi.contents");
contentnavi.addPage(menuitemfacade.findOrCreate("/pages/list"), ContentPermission.MANAGE_PAGES);
contentnavi.addPage(menuitemfacade.findOrCreate("/pages/create"), ContentPermission.MANAGE_PAGES);
contentnavi.addPage(menuitemfacade.findOrCreate("/pages/edit"), null).setVisible(false);
}
......
......@@ -71,6 +71,8 @@ public class MenuNavigationFacade extends IntegerPkGenericFacade<MenuNavigation>
cb.equal(root.get(MenuNavigation_.event), eventbean.getCurrentEvent()),
cb.isTrue(root.get(MenuNavigation_.visible)));
cq.orderBy(cb.asc(root.get(MenuNavigation_.sort)));
return getEm().createQuery(cq).getResultList();
}
......
......@@ -17,4 +17,6 @@ public interface MenuBeanLocal {
List<MenuNavigation> getTopmenus();
void flushOldMenu();
}
......@@ -82,8 +82,9 @@ public class MenuNavigation extends GenericEntity implements Comparable<MenuNavi
super();
}
public MenuNavigation(LanEvent ev, String keyString) {
public MenuNavigation(LanEvent ev, String keyString, Integer sort) {
super();
this.sort = sort;
this.event = ev;
this.key = keyString;
this.visible = true;
......@@ -183,8 +184,11 @@ public class MenuNavigation extends GenericEntity implements Comparable<MenuNavi
// used only for initialization function...
public MenuNavigation addPage(Menuitem item, IAppPermission permission) {
int childSort = 100;
if (children == null) {
children = new ArrayList<MenuNavigation>();
} else {
childSort = children.get(children.size() - 1).getSort() + 10;
}
MenuNavigation add = new MenuNavigation();
if (item != null)
......@@ -196,6 +200,7 @@ public class MenuNavigation extends GenericEntity implements Comparable<MenuNavi
add.setPermission(permission);
add.setParent(this);
add.setVisible(true);
add.setSort(childSort);
children.add(add);
return add;
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!