From 1d255b8c1ef7cee014957308a6d9e9c7969ae7a6 Mon Sep 17 00:00:00 2001 From: hieplq Date: Wed, 8 Apr 2015 21:25:33 +0700 Subject: [PATCH] IDEMPIERE-2389 Print format and View Report selection on process dialog NPE: when click save at process (not report) parameter --- .../webui/apps/AbstractProcessDialog.java | 46 +++++++++++-------- 1 file changed, 27 insertions(+), 19 deletions(-) diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/AbstractProcessDialog.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/AbstractProcessDialog.java index e265045bba..6d1c8be3a0 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/AbstractProcessDialog.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/AbstractProcessDialog.java @@ -558,7 +558,7 @@ public abstract class AbstractProcessDialog extends Window implements IProcessUI freportType.setValue(instance.getReportType()); } - if (instance != null) + if (instance != null && chbIsSummary != null) chbIsSummary.setSelected(instance.getIsSummary()); } @@ -630,22 +630,8 @@ public abstract class AbstractProcessDialog extends Window implements IProcessUI } getParameterPanel().saveParameters(); - Object value = fPrintFormat.getValue(); - if (value == null){ - savedParams.get(i).setAD_PrintFormat_ID(0); - }else{ - savedParams.get(i).setAD_PrintFormat_ID((Integer)value); - } + saveReportOptionToInstance(savedParams.get(i)); - value = fLanguageType.getValue(); - if (value == null){ - savedParams.get(i).setAD_Language_ID(0); - }else{ - savedParams.get(i).setAD_Language_ID((Integer)value); - } - - savedParams.get(i).setReportType(freportType.getSelectedItem().getValue().toString()); - savedParams.get(i).setIsSummary(chbIsSummary.isSelected()); savedParams.get(i).saveEx(); } } @@ -657,9 +643,7 @@ public abstract class AbstractProcessDialog extends Window implements IProcessUI instance = new MPInstance(Env.getCtx(), getProcessInfo().getAD_Process_ID(), getProcessInfo().getRecord_ID()); instance.setName(saveName); - instance.setAD_PrintFormat_ID((Integer) fPrintFormat.getValue()); - instance.setReportType(freportType.getSelectedItem().getValue().toString()); - instance.setIsSummary(chbIsSummary.isSelected()); + saveReportOptionToInstance(instance); instance.saveEx(); getProcessInfo().setAD_PInstance_ID(instance.getAD_PInstance_ID()); // Get Parameters @@ -677,6 +661,30 @@ public abstract class AbstractProcessDialog extends Window implements IProcessUI fSavedName.setSelectedItem(getComboItem(saveName)); } + protected void saveReportOptionToInstance (MPInstance instance){ + if (!isReport()) + return; + + Object value = fPrintFormat.getValue(); + if (value == null){ + instance.setAD_PrintFormat_ID(0); + }else{ + instance.setAD_PrintFormat_ID((Integer)value); + } + + if (fLanguageType != null){ + value = fLanguageType.getValue(); + if (value == null){ + instance.setAD_Language_ID(0); + }else{ + instance.setAD_Language_ID((Integer)value); + } + } + + instance.setReportType(freportType.getSelectedItem().getValue().toString()); + instance.setIsSummary(chbIsSummary.isSelected()); + } + public Comboitem getComboItem( String value) { Comboitem item = null; for (int i = 0; i < fSavedName.getItems().size(); i++) {