private WfStepDef accessCurrentUserStep(String globalName) throws UnifyException { WfStepDef wfStepDef = getWfStepDef(globalName); if (!getUserToken().isReservedUser()) { Set<String> stepNames = getCurrentUserRoleStepCodes(); if (!stepNames.contains(globalName)) { throw new UnifyException(WorkflowModuleErrorConstants.WORKFLOW_CURRENT_USER_NOT_PARTICIPANT, getUserToken().getUserName(), wfStepDef.getDescription()); } } return wfStepDef; }
@Override public void logIn(UserToken userToken) throws UnifyException { SessionContext sessionContext = getRequestContext().getSessionContext(); // Add user session if not existing if (getUserSession(sessionContext.getId()) == null) { addUserSession(new LocalUserSession(sessionContext)); } // Update user session database record String userLoginId = userToken.getUserLoginId(); String sessionId = sessionContext.getId(); db().updateAll(new UserSessionTrackingQuery().id(sessionId), new Update().add("userLoginId", userLoginId) .add("userLoginId", userToken.getUserLoginId()).add("userName", userToken.getUserName())); if (!userToken.isAllowMultipleLogin()) { List<String> sessionIdList = db().valueList(String.class, "sessionId", new UserSessionTrackingQuery().userLoginId(userLoginId).idNot(sessionId)); if (!sessionIdList.isEmpty()) { // Log other user sessions out db().updateAll(new UserSessionTrackingQuery().idAmongst(sessionIdList), new Update().add("userLoginId", null).add("userLoginId", null).add("userName", null)); forceLogOut(sessionIdList.toArray(new String[sessionIdList.size()])); } } // Update session context sessionContext.setUserToken(userToken); }
@Override protected void doWriteBehavior(ResponseWriter writer, Widget widget) throws UnifyException { RemoteDocViewPanel remoteDocViewPanel = (RemoteDocViewPanel) widget; writer.write("ux.loadRemoteDocViewPanel({"); writer.write("\"pId\":\"").write(remoteDocViewPanel.getId()).write('"'); writer.write(",\"pWinPgNm\":\"").write(getResponseControllerWinId()).write("\""); writer.write(",\"pRemoteURL\":\"").write(remoteDocViewPanel.getRemoteDocViewInfo().getRemoteDocUrl()) .write("\""); UserToken userToken = getUserToken(); writer.write(",\"pRemoteLoginId\":\"").write(userToken.getUserLoginId()).write("\""); writer.write(",\"pRemoteUserName\":\"").write(userToken.getUserName()).write("\""); if (userToken.getRoleCode() != null) { writer.write(",\"pRemoteRoleCode\":\"").write(userToken.getRoleCode()).write("\""); } if (userToken.getBranchCode() != null) { writer.write(",\"pRemoteBranchCode\":\"").write(userToken.getBranchCode()).write("\""); } writer.write(",\"pRemoteGlobalFlag\":").write(userToken.isGlobalAccess()); writer.write("});"); }