Search in sources :

Example 1 with X_ASP_Field

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

the class ASPGenerateLevel method addNodeToLevel.

//	doIt
private void addNodeToLevel(MTreeNode nn) {
    // Add Menu
    MMenu menu = new MMenu(getCtx(), nn.getNode_ID(), get_TrxName());
    if (menu.getAction().equals(MMenu.ACTION_Window)) {
        MWindow window = new MWindow(getCtx(), menu.getAD_Window_ID(), get_TrxName());
        int asp_window_id = DB.getSQLValueEx(get_TrxName(), "SELECT ASP_Window_ID FROM ASP_Window WHERE ASP_Level_ID = ? AND AD_Window_ID = ?", p_ASP_Level_ID, window.getAD_Window_ID());
        X_ASP_Window aspWindow = null;
        if (asp_window_id < 1) {
            // Add Window, Tabs and Fields (if IsGenerateFields)
            aspWindow = new X_ASP_Window(getCtx(), 0, get_TrxName());
            aspWindow.setASP_Level_ID(p_ASP_Level_ID);
            aspWindow.setAD_Window_ID(window.getAD_Window_ID());
            aspWindow.setASP_Status(p_ASP_Status);
            if (aspWindow.save()) {
                noWindows++;
                asp_window_id = aspWindow.getASP_Window_ID();
            }
        } else {
            aspWindow = new X_ASP_Window(getCtx(), asp_window_id, get_TrxName());
        }
        // tabs
        for (MTab tab : window.getTabs(true, get_TrxName())) {
            int asp_tab_id = DB.getSQLValueEx(get_TrxName(), "SELECT ASP_Tab_ID FROM ASP_Tab WHERE ASP_Window_ID = ? AND AD_Tab_ID = ?", asp_window_id, tab.getAD_Tab_ID());
            X_ASP_Tab aspTab = null;
            if (asp_tab_id < 1) {
                aspTab = new X_ASP_Tab(getCtx(), 0, get_TrxName());
                aspTab.setASP_Window_ID(asp_window_id);
                aspTab.setAD_Tab_ID(tab.getAD_Tab_ID());
                aspTab.setASP_Status(p_ASP_Status);
                aspTab.setAllFields(!p_IsGenerateFields);
                if (aspTab.save()) {
                    noTabs++;
                    asp_tab_id = aspTab.getASP_Tab_ID();
                }
            } else {
                aspTab = new X_ASP_Tab(getCtx(), asp_tab_id, get_TrxName());
            }
            // fields
            for (MField field : tab.getFields(true, get_TrxName())) {
                if (p_IsGenerateFields) {
                    if (DB.getSQLValueEx(get_TrxName(), "SELECT COUNT(*) FROM ASP_Field WHERE ASP_Tab_ID = ? AND AD_Field_ID = ?", aspTab.getASP_Tab_ID(), field.getAD_Field_ID()) < 1) {
                        X_ASP_Field aspField = new X_ASP_Field(getCtx(), 0, get_TrxName());
                        aspField.setASP_Tab_ID(aspTab.getASP_Tab_ID());
                        aspField.setAD_Field_ID(field.getAD_Field_ID());
                        aspField.setASP_Status(p_ASP_Status);
                        if (aspField.save())
                            noFields++;
                    }
                }
                // verify if a field is a button and assign permission to the corresponding process
                MColumn column = MColumn.get(getCtx(), field.getAD_Column_ID());
                if (column.getAD_Reference_ID() == DisplayType.Button) {
                    if (column.getAD_Process_ID() > 0) {
                        generateProcess(column.getAD_Process_ID());
                    }
                }
            }
        }
    } else if (menu.getAction().equals(MMenu.ACTION_Process) || menu.getAction().equals(MMenu.ACTION_Report)) {
        generateProcess(menu.getAD_Process_ID());
    } else if (menu.getAction().equals(MMenu.ACTION_Form)) {
        // Add Form
        MForm form = new MForm(getCtx(), menu.getAD_Form_ID(), get_TrxName());
        if (DB.getSQLValueEx(get_TrxName(), "SELECT COUNT(*) FROM ASP_Form WHERE ASP_Level_ID = ? AND AD_Form_ID = ?", p_ASP_Level_ID, form.getAD_Form_ID()) < 1) {
            X_ASP_Form aspForm = new X_ASP_Form(getCtx(), 0, get_TrxName());
            aspForm.setASP_Level_ID(p_ASP_Level_ID);
            aspForm.setAD_Form_ID(form.getAD_Form_ID());
            aspForm.setASP_Status(p_ASP_Status);
            if (aspForm.save())
                noForms++;
        }
    } else if (menu.getAction().equals(MMenu.ACTION_SmartBrowse)) {
        // Add Browse
        MBrowse browse = new MBrowse(getCtx(), menu.getAD_Browse_ID(), get_TrxName());
        if (DB.getSQLValueEx(get_TrxName(), "SELECT COUNT(*) FROM ASP_Browse WHERE ASP_Level_ID = ? AND AD_Browse_ID = ?", p_ASP_Level_ID, browse.getAD_Browse_ID()) < 1) {
            X_ASP_Browse aspBrowse = new X_ASP_Browse(getCtx(), 0, get_TrxName());
            aspBrowse.setASP_Level_ID(p_ASP_Level_ID);
            aspBrowse.setAD_Browse_ID(browse.getAD_Browse_ID());
            aspBrowse.setASP_Status(p_ASP_Status);
            if (aspBrowse.save())
                noBrowses++;
        }
    } else if (menu.getAction().equals(MMenu.ACTION_Task)) {
        // Add Task
        MTask task = new MTask(getCtx(), menu.getAD_Task_ID(), get_TrxName());
        if (DB.getSQLValueEx(get_TrxName(), "SELECT COUNT(*) FROM ASP_Task WHERE ASP_Level_ID = ? AND AD_Task_ID = ?", p_ASP_Level_ID, task.getAD_Task_ID()) < 1) {
            X_ASP_Task aspTask = new X_ASP_Task(getCtx(), 0, get_TrxName());
            aspTask.setASP_Level_ID(p_ASP_Level_ID);
            aspTask.setAD_Task_ID(task.getAD_Task_ID());
            aspTask.setASP_Status(p_ASP_Status);
            if (aspTask.save())
                noTasks++;
        }
    } else if (menu.getAction().equals(MMenu.ACTION_WorkFlow)) {
        generateWorkflow(menu.getAD_Workflow_ID());
    }
}
Also used : MColumn(org.compiere.model.MColumn) X_ASP_Field(org.compiere.model.X_ASP_Field) MTab(org.compiere.model.MTab) MMenu(org.compiere.model.MMenu) MWindow(org.compiere.model.MWindow) X_ASP_Tab(org.compiere.model.X_ASP_Tab) MBrowse(org.adempiere.model.MBrowse) MForm(org.compiere.model.MForm) MTask(org.compiere.model.MTask) X_ASP_Task(org.compiere.model.X_ASP_Task) X_ASP_Form(org.compiere.model.X_ASP_Form) X_ASP_Window(org.compiere.model.X_ASP_Window) MField(org.compiere.model.MField) X_ASP_Browse(org.eevolution.model.X_ASP_Browse)

Example 2 with X_ASP_Field

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

the class ASPGenerateFields method doIt.

//	prepare
/**
	 * 	Process
	 *	@return info
	 *	@throws Exception
	 */
protected String doIt() throws Exception {
    log.info("ASP_Status=" + p_ASP_Status + ", ASP_Tab_ID=" + p_ASP_Tab_ID);
    X_ASP_Tab asptab = new X_ASP_Tab(getCtx(), p_ASP_Tab_ID, get_TrxName());
    p_ASP_Level_ID = asptab.getASP_Window().getASP_Level_ID();
    // tabs
    MTab tab = new MTab(getCtx(), asptab.getAD_Tab_ID(), get_TrxName());
    // fields
    for (MField field : tab.getFields(true, get_TrxName())) {
        if (DB.getSQLValue(get_TrxName(), "SELECT COUNT(*) FROM ASP_Field WHERE ASP_Tab_ID = ? AND AD_Field_ID = ?", p_ASP_Tab_ID, field.getAD_Field_ID()) < 1) {
            X_ASP_Field aspField = new X_ASP_Field(getCtx(), 0, get_TrxName());
            aspField.setASP_Tab_ID(p_ASP_Tab_ID);
            aspField.setAD_Field_ID(field.getAD_Field_ID());
            aspField.setASP_Status(p_ASP_Status);
            if (aspField.save())
                noFields++;
        }
        // verify if a field is a button and assign permission to the corresponding process
        MColumn column = MColumn.get(getCtx(), field.getAD_Column_ID());
        if (column.getAD_Reference_ID() == DisplayType.Button) {
            if (column.getAD_Process_ID() > 0) {
                generateProcess(column.getAD_Process_ID());
            }
        }
    }
    if (noFields > 0)
        addLog("Field " + noFields);
    if (noProcesses > 0)
        addLog("Process " + noProcesses);
    if (noParameters > 0)
        addLog("Process Parameter " + noParameters);
    if (noWorkflows > 0)
        addLog("Workflow " + noWorkflows);
    return "@OK@";
}
Also used : MColumn(org.compiere.model.MColumn) X_ASP_Field(org.compiere.model.X_ASP_Field) MTab(org.compiere.model.MTab) X_ASP_Tab(org.compiere.model.X_ASP_Tab) MField(org.compiere.model.MField)

Aggregations

MColumn (org.compiere.model.MColumn)2 MField (org.compiere.model.MField)2 MTab (org.compiere.model.MTab)2 X_ASP_Field (org.compiere.model.X_ASP_Field)2 X_ASP_Tab (org.compiere.model.X_ASP_Tab)2 MBrowse (org.adempiere.model.MBrowse)1 MForm (org.compiere.model.MForm)1 MMenu (org.compiere.model.MMenu)1 MTask (org.compiere.model.MTask)1 MWindow (org.compiere.model.MWindow)1 X_ASP_Form (org.compiere.model.X_ASP_Form)1 X_ASP_Task (org.compiere.model.X_ASP_Task)1 X_ASP_Window (org.compiere.model.X_ASP_Window)1 X_ASP_Browse (org.eevolution.model.X_ASP_Browse)1