use of org.zkoss.zk.ui.Session in project adempiere by adempiere.
the class SessionManager method getSessionApplication.
public static IWebClient getSessionApplication() {
Session session = getSession();
IWebClient app = (IWebClient) session.getAttribute(SESSION_APPLICATION);
return app;
}
use of org.zkoss.zk.ui.Session in project adempiere by adempiere.
the class AbstractADWindowPanel method initPanel.
/**
* @param adWindowId
* @param query
* @return boolean
*/
public boolean initPanel(int adWindowId, MQuery query) {
// This temporary validation code is added to check the reported bug
// [ adempiere-ZK Web Client-2832968 ] User context lost?
// https://sourceforge.net/tracker/?func=detail&atid=955896&aid=2832968&group_id=176962
// it's harmless, if there is no bug then this must never fail
Session currSess = Executions.getCurrent().getDesktop().getSession();
int checkad_user_id = -1;
if (currSess != null && currSess.getAttribute("Check_AD_User_ID") != null)
checkad_user_id = (Integer) currSess.getAttribute("Check_AD_User_ID");
if (checkad_user_id != Env.getAD_User_ID(ctx)) {
String msg = "Timestamp=" + new Date() + ", Bug 2832968 SessionUser=" + checkad_user_id + ", ContextUser=" + Env.getAD_User_ID(ctx) + ". Please report conditions to your system administrator or in sf tracker 2832968";
ApplicationException ex = new ApplicationException(msg);
logger.log(Level.SEVERE, msg, ex);
throw ex;
}
// Set AutoCommit for this Window
if (embeddedTabIndex < 0) {
Env.setAutoCommit(ctx, curWindowNo, Env.isAutoCommit(ctx));
boolean autoNew = Env.isAutoNew(ctx);
Env.setAutoNew(ctx, curWindowNo, autoNew);
GridWindowVO gWindowVO = AEnv.getMWindowVO(curWindowNo, adWindowId, 0);
if (gWindowVO == null) {
throw new ApplicationException(Msg.getMsg(ctx, "AccessTableNoView") + "(No Window Model Info)");
}
gridWindow = new GridWindow(gWindowVO, true);
title = gridWindow.getName();
// Set SO/AutoNew for Window
Env.setContext(ctx, curWindowNo, "IsSOTrx", gridWindow.isSOTrx());
if (!autoNew && gridWindow.isTransaction()) {
Env.setAutoNew(ctx, curWindowNo, true);
}
}
m_onlyCurrentRows = embeddedTabIndex < 0 && gridWindow.isTransaction();
MQuery detailQuery = null;
/**
* Window Tabs
*/
if (embeddedTabIndex < 0) {
if (query != null && query.getZoomTableName() != null && query.getZoomColumnName() != null && query.getZoomValue() instanceof Integer && (Integer) query.getZoomValue() > 0) {
if (!query.getZoomTableName().equalsIgnoreCase(gridWindow.getTab(0).getTableName())) {
detailQuery = query;
query = new MQuery();
query.addRestriction("1=2");
query.setRecordCount(0);
}
}
int tabSize = gridWindow.getTabCount();
for (int tab = 0; tab < tabSize; tab++) {
initTab(query, tab);
if (tab == 0 && curTab == null && m_findCancelled)
return false;
}
setActiveTab(0);
getToolbar().setCurrentPanel(curTabPanel);
Env.setContext(ctx, curWindowNo, "WindowName", gridWindow.getName());
} else {
initEmbeddedTab(query, embeddedTabIndex);
}
if (curTab != null)
curTab.getTableModel().setChanged(false);
if (embeddedTabIndex < 0) {
curTabIndex = 0;
adTab.setSelectedIndex(0);
toolbar.enableTabNavigation(adTab.getTabCount() > 1);
toolbar.enableFind(true);
adTab.evaluate(null);
if (gridWindow.isTransaction()) {
toolbar.enableHistoryRecords(true);
}
if (detailQuery != null && zoomToDetailTab(detailQuery)) {
return true;
}
} else {
curTabIndex = embeddedTabIndex;
toolbar.enableTabNavigation(false);
toolbar.enableFind(true);
toolbar.enableHistoryRecords(false);
}
updateToolbar();
return true;
}
use of org.zkoss.zk.ui.Session in project adempiere by adempiere.
the class SessionManager method setSessionApplication.
public static void setSessionApplication(IWebClient app) {
Session session = getSession();
session.setAttribute(SESSION_APPLICATION, app);
}
Aggregations