Search in sources :

Example 16 with GridWindowVO

use of org.compiere.model.GridWindowVO in project adempiere by adempiere.

the class ADServiceImpl method getWindowVO.

private GridWindowVO getWindowVO(int WindowNo, int AD_Window_ID, int AD_Menu_ID) {
    GridWindowVO w = (GridWindowVO) WindowVOCache.get("" + AD_Window_ID + "_" + AD_Menu_ID + "_" + WindowNo);
    if (w != null)
        return w;
    w = GridWindowVO.create(m_cs.getM_ctx(), WindowNo, AD_Window_ID, AD_Menu_ID);
    //create(m_cs.getM_ctx(), WindowNo, AD_Window_ID);
    if (w != null)
        WindowVOCache.put("" + AD_Window_ID + "_" + AD_Menu_ID + "_" + WindowNo, w);
    return w;
}
Also used : GridWindowVO(org.compiere.model.GridWindowVO)

Example 17 with GridWindowVO

use of org.compiere.model.GridWindowVO 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;
}
Also used : ApplicationException(org.adempiere.webui.exception.ApplicationException) GridWindow(org.compiere.model.GridWindow) GridWindowVO(org.compiere.model.GridWindowVO) MQuery(org.compiere.model.MQuery) Date(java.util.Date) Session(org.zkoss.zk.ui.Session)

Example 18 with GridWindowVO

use of org.compiere.model.GridWindowVO in project adempiere by adempiere.

the class Stocktake method refresh.

//  dynInit
/**************************************************************************
	 *  Refresh - Create Query and refresh grid
	 */
public void refresh(Object inventory, Object locator, Object product, Object aislex, Object lineFrom, Object lineTo, IStatusBar statusBar, Boolean isSecondCount) {
    m_mTab.dataSave(true);
    /**
		 *  Create Where Clause
		 */
    MQuery query = m_staticQuery.deepCopy();
    //  Physical Inventory
    if (inventory == null || inventory.toString().length() == 0)
        return;
    query.addRestriction("M_Inventory_ID", MQuery.EQUAL, inventory);
    //  Locator
    if (locator != null && locator.toString().length() > 0)
        query.addRestriction("M_Locator_ID", MQuery.EQUAL, locator);
    //  Product
    if (product != null && product.toString().length() > 0)
        query.addRestriction("M_Product_ID", MQuery.EQUAL, product);
    //  aislex
    if (aislex != null && aislex.toString().length() > 0)
        query.addRestriction("M_Locator_ID IN (SELECT M_Locator_ID FROM M_Locator WHERE X='" + aislex.toString() + "')");
    //  DateFrom
    if (lineFrom != null)
        query.addRestriction("Line", MQuery.GREATER_EQUAL, lineFrom);
    //  DateTO
    if (lineTo != null)
        query.addRestriction("Line", MQuery.LESS_EQUAL, lineTo);
    if (isSecondCount) {
        //	Hardcoded Window: Physical Inventory
        int AD_Window_ID = 168;
        GridWindowVO wVO = AEnv.getMWindowVO(m_WindowNo, AD_Window_ID, 0);
        if (wVO == null)
            return;
        GridWindow m_mWindow2 = new GridWindow(wVO);
        //second count tab
        GridTab m_mTab2 = m_mWindow2.getTab(3);
        String sql = m_mTab2.getWhereClause();
        query.addRestriction(sql);
    }
    log.info("VTrxMaterial.refresh query=" + query.toString());
    /**
		 *  Refresh/Requery
		 */
    statusBar.setStatusLine(Msg.getMsg(Env.getCtx(), "StartSearch"), false);
    //
    m_mTab.setQuery(query);
    m_mTab.query(false);
    //
    int no = m_mTab.getRowCount();
    statusBar.setStatusLine(" ", false);
    statusBar.setStatusDB(Integer.toString(no));
}
Also used : GridWindow(org.compiere.model.GridWindow) GridTab(org.compiere.model.GridTab) GridWindowVO(org.compiere.model.GridWindowVO) MQuery(org.compiere.model.MQuery)

Aggregations

GridWindowVO (org.compiere.model.GridWindowVO)18 MQuery (org.compiere.model.MQuery)9 GridWindow (org.compiere.model.GridWindow)8 PreparedStatement (java.sql.PreparedStatement)4 ResultSet (java.sql.ResultSet)4 SQLException (java.sql.SQLException)4 GridField (org.compiere.model.GridField)4 HttpSession (javax.servlet.http.HttpSession)3 Dimension (java.awt.Dimension)2 GridController (org.compiere.grid.GridController)2 GridTab (org.compiere.model.GridTab)2 MAcctSchema (org.compiere.model.MAcctSchema)2 MAcctSchemaElement (org.compiere.model.MAcctSchemaElement)2 WebDoc (org.compiere.util.WebDoc)2 WebSessionCtx (org.compiere.util.WebSessionCtx)2 Stopwatch (com.google.common.base.Stopwatch)1 DocumentDescriptor (de.metas.ui.web.window.descriptor.DocumentDescriptor)1 DocumentEntityDescriptor (de.metas.ui.web.window.descriptor.DocumentEntityDescriptor)1 DocumentLayoutDescriptor (de.metas.ui.web.window.descriptor.DocumentLayoutDescriptor)1 DocumentLayoutDetailDescriptor (de.metas.ui.web.window.descriptor.DocumentLayoutDetailDescriptor)1