From: Vásáry Dániel Date: Tue, 17 Jul 2018 10:54:12 +0000 (+0000) Subject: git-tfs-id: [http://tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube... X-Git-Url: http://git.useribm.hu/?a=commitdiff_plain;h=1e52481c99844f1d5cbf21d5e8e0b06a01d19b92;p=mediacube.git git-tfs-id: [tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube;C31181 --- diff --git a/server/user.jobengine.osgi.server/src/user/jobengine/zk/model/IndexModel.java b/server/user.jobengine.osgi.server/src/user/jobengine/zk/model/IndexModel.java index 169e81e9..a6b52dd6 100644 --- a/server/user.jobengine.osgi.server/src/user/jobengine/zk/model/IndexModel.java +++ b/server/user.jobengine.osgi.server/src/user/jobengine/zk/model/IndexModel.java @@ -23,22 +23,7 @@ import user.jobengine.zk.util.SessionUtil; public class IndexModel extends BaseModel { private static final Logger logger = LogManager.getLogger(); - - // static public BasicDBObject toParamObject(Map parameters) { - // BasicDBObject result = null; - // if (parameters != null && parameters.size() > 0) { - // result = new BasicDBObject(); - // for (String key : parameters.keySet()) { - // result.put(key, parameters.get(key)[0]); - // //logger.info("{}:{}", key, parameters.get(key)[0]); - // } - // } - // return result; - // } - // - private String page; - private Map pathMap = ListUtils.asMap("/", "searchitems", "jobs", "joblist", "missingmaterials", "missingmaterials", "newshistory", "newshistory", "statistics", "statistics"); @@ -46,7 +31,7 @@ public class IndexModel extends BaseModel { public void afterCompose(@ContextParam(ContextType.VIEW) Component view) { Selectors.wireComponents(view, this, false); Selectors.wireEventListeners(view, this); - route(Executions.getCurrent().getParameter("action"), SessionUtil.getQueryString(Arrays.asList("action"))); + route(Executions.getCurrent().getParameter("action"), SessionUtil.getQueryString(Arrays.asList("action")), false); SessionUtil.setAttribute(IndexModel.class.getCanonicalName(), this); } @@ -59,7 +44,8 @@ public class IndexModel extends BaseModel { BasicDBObject h = SessionUtil.popHistory(); if (h == null) return; - route(h.getString("action"), h.getString("query")); + logger.info("Popped to client: {}", h); + route(h.getString("action"), h.getString("query"), true); } public void pushClientHistory(String action, String query) { @@ -69,12 +55,13 @@ public class IndexModel extends BaseModel { logger.info("Pushed to client: {}", realAction); } - public void route(String action, String query) { + public void route(String action, String query, boolean silently) { String queryString = query == null ? "" : query; String actionString = action == null ? "/" : action; String page = (String) pathMap.get(actionString); setPage(String.format("/pages/%s.zul%s", page, queryString)); - pushClientHistory(actionString, queryString); + if (!silently) + pushClientHistory(actionString, queryString); SessionUtil.pushHistory(actionString, queryString); } diff --git a/server/user.jobengine.osgi.server/src/user/jobengine/zk/model/MenuModel.java b/server/user.jobengine.osgi.server/src/user/jobengine/zk/model/MenuModel.java index 16de942a..3070e648 100644 --- a/server/user.jobengine.osgi.server/src/user/jobengine/zk/model/MenuModel.java +++ b/server/user.jobengine.osgi.server/src/user/jobengine/zk/model/MenuModel.java @@ -66,9 +66,9 @@ public class MenuModel extends BaseModel { @Command public void navigate(@BindingParam("action") String action) { IndexModel indexModel = (IndexModel) SessionUtil.getAttribute(IndexModel.class.getCanonicalName()); - if (indexModel != null) { - indexModel.route(action, null); - } + if (indexModel != null) + indexModel.route(action, null, false); + } public void removeBasketItems(List items) { diff --git a/server/user.jobengine.osgi.server/src/user/jobengine/zk/util/SessionUtil.java b/server/user.jobengine.osgi.server/src/user/jobengine/zk/util/SessionUtil.java index a8d51d2d..7c8bacdf 100644 --- a/server/user.jobengine.osgi.server/src/user/jobengine/zk/util/SessionUtil.java +++ b/server/user.jobengine.osgi.server/src/user/jobengine/zk/util/SessionUtil.java @@ -18,19 +18,23 @@ import org.zkoss.zk.ui.Session; import org.zkoss.zk.ui.Sessions; import com.ibm.nosql.json.api.BasicDBObject; +import com.ibm.nosql.json.api.QueryBuilder; +import user.commons.nosql.NoSQLUtils; import user.jobengine.server.IJobChangedListener; import user.jobengine.server.JobEngine; import user.jobengine.zk.model.IndexModel; public class SessionUtil { + private static final String USER_NAME = "userName"; + private static final String USER_SETTINGS = "userSettings"; private static Logger logger = LogManager.getLogger(); private static final String AUTH_ENABLED = "auth_enabled"; private static final String USERPRINCIPAL = "userPrincipal"; private static final String AUTH_LOCATION = "mediacube.auth.location"; public static final String JOBLISTENER = "joblistener"; public static final String MENUMODEL = "menuModel"; - public static final String HISTORY = "hitory"; + public static final String HISTORY = "history"; public static boolean authenticate(String account, String password) { Properties cfg = getConfiguration(); @@ -129,6 +133,17 @@ public class SessionUtil { return (UserPrincipal) getAttribute(USERPRINCIPAL); } + static private BasicDBObject getUserSettings() { + BasicDBObject result = (BasicDBObject) getAttribute(USER_SETTINGS); + if (result == null) { + UserPrincipal userPrincipal = getUserPrincipal(); + result = (BasicDBObject) NoSQLUtils.collection(USER_SETTINGS).findOne(QueryBuilder.start(USER_NAME).is(userPrincipal.getAccount())); + if (result == null) + result = new BasicDBObject(USER_NAME, userPrincipal.getAccount()); + } + return result; + } + static public boolean isAdmin() { UserPrincipal userPrincipal = getUserPrincipal(); return userPrincipal != null && userPrincipal.isAdmin(); @@ -195,6 +210,13 @@ public class SessionUtil { history.add(new BasicDBObject("action", action).append("query", query)); } + static private void putUserSettings() { + BasicDBObject userSettings = (BasicDBObject) getAttribute(USER_SETTINGS); + if (userSettings != null) + NoSQLUtils.collection(USER_SETTINGS).save(userSettings); + + } + static public void redirect(String path) { Executions.sendRedirect(path + getQueryString()); }