Attached Files | 39218-scenario.patch [^] (13,827 bytes) 2018-12-24 13:38 [Show Content] [Hide Content]# HG changeset patch
# User Javier Armendáriz <javier.armendariz@openbravo.com>
# Date 1545654993 -3600
# Mon Dec 24 13:36:33 2018 +0100
# Node ID 2730a1285660035e5115b25f10c0dfdb0e4f34da
# Parent 596e7671b561eb1d16189c9089cb4691a7f37ccd
Created process in product to be able to reproduce issue 39218
diff --git a/src-db/database/model/tables/M_PRODUCT.xml b/src-db/database/model/tables/M_PRODUCT.xml
--- a/src-db/database/model/tables/M_PRODUCT.xml
+++ b/src-db/database/model/tables/M_PRODUCT.xml
@@ -409,6 +409,10 @@
<default/>
<onCreateDefault/>
</column>
+ <column name="SET_ATTRINSTANCE" primaryKey="false" required="false" type="CHAR" size="1" autoIncrement="false">
+ <default/>
+ <onCreateDefault/>
+ </column>
<foreign-key foreignTable="AD_ORG" name="AD_ORG_MPRODUCT">
<reference local="AD_ORG_ID" foreign="AD_ORG_ID"/>
</foreign-key>
diff --git a/src-db/database/sourcedata/AD_COLUMN.xml b/src-db/database/sourcedata/AD_COLUMN.xml
--- a/src-db/database/sourcedata/AD_COLUMN.xml
+++ b/src-db/database/sourcedata/AD_COLUMN.xml
@@ -264940,7 +264940,7 @@
<!--45D07D1724D0421EA67E8B2EE6D45DE8--> <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE>
<!--45D07D1724D0421EA67E8B2EE6D45DE8--> <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS>
<!--45D07D1724D0421EA67E8B2EE6D45DE8--> <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
-<!--45D07D1724D0421EA67E8B2EE6D45DE8--> <POSITION><![CDATA[112]]></POSITION>
+<!--45D07D1724D0421EA67E8B2EE6D45DE8--> <POSITION><![CDATA[102]]></POSITION>
<!--45D07D1724D0421EA67E8B2EE6D45DE8--> <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT>
<!--45D07D1724D0421EA67E8B2EE6D45DE8--> <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE>
<!--45D07D1724D0421EA67E8B2EE6D45DE8--> <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW>
@@ -291626,6 +291626,42 @@
<!--671F517F12A84CE48A22AC64B7DF502E--> <ALLOWED_CROSS_ORG_LINK><![CDATA[N]]></ALLOWED_CROSS_ORG_LINK>
<!--671F517F12A84CE48A22AC64B7DF502E--></AD_COLUMN>
+<!--672A8D6EE5434997A5741583DC9D0657--><AD_COLUMN>
+<!--672A8D6EE5434997A5741583DC9D0657--> <AD_COLUMN_ID><![CDATA[672A8D6EE5434997A5741583DC9D0657]]></AD_COLUMN_ID>
+<!--672A8D6EE5434997A5741583DC9D0657--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--672A8D6EE5434997A5741583DC9D0657--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--672A8D6EE5434997A5741583DC9D0657--> <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--672A8D6EE5434997A5741583DC9D0657--> <NAME><![CDATA[Set_AttrInstance]]></NAME>
+<!--672A8D6EE5434997A5741583DC9D0657--> <COLUMNNAME><![CDATA[set_attrinstance]]></COLUMNNAME>
+<!--672A8D6EE5434997A5741583DC9D0657--> <AD_TABLE_ID><![CDATA[208]]></AD_TABLE_ID>
+<!--672A8D6EE5434997A5741583DC9D0657--> <AD_REFERENCE_ID><![CDATA[28]]></AD_REFERENCE_ID>
+<!--672A8D6EE5434997A5741583DC9D0657--> <FIELDLENGTH><![CDATA[1]]></FIELDLENGTH>
+<!--672A8D6EE5434997A5741583DC9D0657--> <ISKEY><![CDATA[N]]></ISKEY>
+<!--672A8D6EE5434997A5741583DC9D0657--> <ISPARENT><![CDATA[N]]></ISPARENT>
+<!--672A8D6EE5434997A5741583DC9D0657--> <ISMANDATORY><![CDATA[N]]></ISMANDATORY>
+<!--672A8D6EE5434997A5741583DC9D0657--> <ISUPDATEABLE><![CDATA[Y]]></ISUPDATEABLE>
+<!--672A8D6EE5434997A5741583DC9D0657--> <ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER>
+<!--672A8D6EE5434997A5741583DC9D0657--> <SEQNO><![CDATA[860]]></SEQNO>
+<!--672A8D6EE5434997A5741583DC9D0657--> <ISTRANSLATED><![CDATA[N]]></ISTRANSLATED>
+<!--672A8D6EE5434997A5741583DC9D0657--> <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--672A8D6EE5434997A5741583DC9D0657--> <ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN>
+<!--672A8D6EE5434997A5741583DC9D0657--> <ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR>
+<!--672A8D6EE5434997A5741583DC9D0657--> <ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY>
+<!--672A8D6EE5434997A5741583DC9D0657--> <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE>
+<!--672A8D6EE5434997A5741583DC9D0657--> <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS>
+<!--672A8D6EE5434997A5741583DC9D0657--> <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--672A8D6EE5434997A5741583DC9D0657--> <POSITION><![CDATA[103]]></POSITION>
+<!--672A8D6EE5434997A5741583DC9D0657--> <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT>
+<!--672A8D6EE5434997A5741583DC9D0657--> <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE>
+<!--672A8D6EE5434997A5741583DC9D0657--> <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW>
+<!--672A8D6EE5434997A5741583DC9D0657--> <IMAGESIZEVALUESACTION><![CDATA[N]]></IMAGESIZEVALUESACTION>
+<!--672A8D6EE5434997A5741583DC9D0657--> <ISUSEDSEQUENCE><![CDATA[N]]></ISUSEDSEQUENCE>
+<!--672A8D6EE5434997A5741583DC9D0657--> <ALLOWSORTING><![CDATA[Y]]></ALLOWSORTING>
+<!--672A8D6EE5434997A5741583DC9D0657--> <ALLOWFILTERING><![CDATA[Y]]></ALLOWFILTERING>
+<!--672A8D6EE5434997A5741583DC9D0657--> <ALLOWED_CROSS_ORG_LINK><![CDATA[N]]></ALLOWED_CROSS_ORG_LINK>
+<!--672A8D6EE5434997A5741583DC9D0657--> <EM_OBUIAPP_PROCESS_ID><![CDATA[29CC552B8C9C449BB22725E93B506953]]></EM_OBUIAPP_PROCESS_ID>
+<!--672A8D6EE5434997A5741583DC9D0657--></AD_COLUMN>
+
<!--672E47F6A43B4AD1B7AC8EE923F9318B--><AD_COLUMN>
<!--672E47F6A43B4AD1B7AC8EE923F9318B--> <AD_COLUMN_ID><![CDATA[672E47F6A43B4AD1B7AC8EE923F9318B]]></AD_COLUMN_ID>
<!--672E47F6A43B4AD1B7AC8EE923F9318B--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff --git a/src-db/database/sourcedata/AD_FIELD.xml b/src-db/database/sourcedata/AD_FIELD.xml
--- a/src-db/database/sourcedata/AD_FIELD.xml
+++ b/src-db/database/sourcedata/AD_FIELD.xml
@@ -289657,6 +289657,33 @@
<!--C1DE57A2C139C846E040007F01000CC6--> <EM_OBUIAPP_SHOWSUMMARY><![CDATA[N]]></EM_OBUIAPP_SHOWSUMMARY>
<!--C1DE57A2C139C846E040007F01000CC6--></AD_FIELD>
+<!--C1E0BFDD89914E4A9F9B90B2566B812F--><AD_FIELD>
+<!--C1E0BFDD89914E4A9F9B90B2566B812F--> <AD_FIELD_ID><![CDATA[C1E0BFDD89914E4A9F9B90B2566B812F]]></AD_FIELD_ID>
+<!--C1E0BFDD89914E4A9F9B90B2566B812F--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--C1E0BFDD89914E4A9F9B90B2566B812F--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--C1E0BFDD89914E4A9F9B90B2566B812F--> <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--C1E0BFDD89914E4A9F9B90B2566B812F--> <NAME><![CDATA[Set Attribute Set Instance]]></NAME>
+<!--C1E0BFDD89914E4A9F9B90B2566B812F--> <ISCENTRALLYMAINTAINED><![CDATA[Y]]></ISCENTRALLYMAINTAINED>
+<!--C1E0BFDD89914E4A9F9B90B2566B812F--> <AD_TAB_ID><![CDATA[180]]></AD_TAB_ID>
+<!--C1E0BFDD89914E4A9F9B90B2566B812F--> <AD_COLUMN_ID><![CDATA[672A8D6EE5434997A5741583DC9D0657]]></AD_COLUMN_ID>
+<!--C1E0BFDD89914E4A9F9B90B2566B812F--> <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD>
+<!--C1E0BFDD89914E4A9F9B90B2566B812F--> <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
+<!--C1E0BFDD89914E4A9F9B90B2566B812F--> <DISPLAYLOGIC><![CDATA[@M_AttributeSet_ID@]]></DISPLAYLOGIC>
+<!--C1E0BFDD89914E4A9F9B90B2566B812F--> <DISPLAYLENGTH><![CDATA[1]]></DISPLAYLENGTH>
+<!--C1E0BFDD89914E4A9F9B90B2566B812F--> <ISREADONLY><![CDATA[N]]></ISREADONLY>
+<!--C1E0BFDD89914E4A9F9B90B2566B812F--> <SEQNO><![CDATA[1400]]></SEQNO>
+<!--C1E0BFDD89914E4A9F9B90B2566B812F--> <ISSAMELINE><![CDATA[N]]></ISSAMELINE>
+<!--C1E0BFDD89914E4A9F9B90B2566B812F--> <ISFIELDONLY><![CDATA[N]]></ISFIELDONLY>
+<!--C1E0BFDD89914E4A9F9B90B2566B812F--> <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--C1E0BFDD89914E4A9F9B90B2566B812F--> <SHOWINRELATION><![CDATA[N]]></SHOWINRELATION>
+<!--C1E0BFDD89914E4A9F9B90B2566B812F--> <ISFIRSTFOCUSEDFIELD><![CDATA[N]]></ISFIRSTFOCUSEDFIELD>
+<!--C1E0BFDD89914E4A9F9B90B2566B812F--> <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--C1E0BFDD89914E4A9F9B90B2566B812F--> <STARTINODDCOLUMN><![CDATA[N]]></STARTINODDCOLUMN>
+<!--C1E0BFDD89914E4A9F9B90B2566B812F--> <STARTNEWLINE><![CDATA[N]]></STARTNEWLINE>
+<!--C1E0BFDD89914E4A9F9B90B2566B812F--> <ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR>
+<!--C1E0BFDD89914E4A9F9B90B2566B812F--> <EM_OBUIAPP_SHOWSUMMARY><![CDATA[N]]></EM_OBUIAPP_SHOWSUMMARY>
+<!--C1E0BFDD89914E4A9F9B90B2566B812F--></AD_FIELD>
+
<!--C1F72D44A6724325AEB35C6A264AF151--><AD_FIELD>
<!--C1F72D44A6724325AEB35C6A264AF151--> <AD_FIELD_ID><![CDATA[C1F72D44A6724325AEB35C6A264AF151]]></AD_FIELD_ID>
<!--C1F72D44A6724325AEB35C6A264AF151--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff --git a/src-db/database/sourcedata/OBUIAPP_PROCESS.xml b/src-db/database/sourcedata/OBUIAPP_PROCESS.xml
--- a/src-db/database/sourcedata/OBUIAPP_PROCESS.xml
+++ b/src-db/database/sourcedata/OBUIAPP_PROCESS.xml
@@ -150,6 +150,24 @@
<!--281FFDFAB31C4394A2EAA73A6F9F3A3F--> <ISCANADDRECORDSTOSELECTOR><![CDATA[N]]></ISCANADDRECORDSTOSELECTOR>
<!--281FFDFAB31C4394A2EAA73A6F9F3A3F--></OBUIAPP_PROCESS>
+<!--29CC552B8C9C449BB22725E93B506953--><OBUIAPP_PROCESS>
+<!--29CC552B8C9C449BB22725E93B506953--> <OBUIAPP_PROCESS_ID><![CDATA[29CC552B8C9C449BB22725E93B506953]]></OBUIAPP_PROCESS_ID>
+<!--29CC552B8C9C449BB22725E93B506953--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--29CC552B8C9C449BB22725E93B506953--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--29CC552B8C9C449BB22725E93B506953--> <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--29CC552B8C9C449BB22725E93B506953--> <VALUE><![CDATA[SetAttrSetInstance]]></VALUE>
+<!--29CC552B8C9C449BB22725E93B506953--> <NAME><![CDATA[Set Attribute Set Instance]]></NAME>
+<!--29CC552B8C9C449BB22725E93B506953--> <ACCESSLEVEL><![CDATA[3]]></ACCESSLEVEL>
+<!--29CC552B8C9C449BB22725E93B506953--> <CLASSNAME><![CDATA[org.openbravo.materialmgmt.actionhandler.SetAttrSetInstance]]></CLASSNAME>
+<!--29CC552B8C9C449BB22725E93B506953--> <ISBACKGROUND><![CDATA[N]]></ISBACKGROUND>
+<!--29CC552B8C9C449BB22725E93B506953--> <AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--29CC552B8C9C449BB22725E93B506953--> <UIPATTERN><![CDATA[OBUIAPP_PickAndExecute]]></UIPATTERN>
+<!--29CC552B8C9C449BB22725E93B506953--> <ISMULTIRECORD><![CDATA[N]]></ISMULTIRECORD>
+<!--29CC552B8C9C449BB22725E93B506953--> <IS_EXPLICIT_ACCESS><![CDATA[N]]></IS_EXPLICIT_ACCESS>
+<!--29CC552B8C9C449BB22725E93B506953--> <ISGRIDLEGACY><![CDATA[N]]></ISGRIDLEGACY>
+<!--29CC552B8C9C449BB22725E93B506953--> <ISCANADDRECORDSTOSELECTOR><![CDATA[N]]></ISCANADDRECORDSTOSELECTOR>
+<!--29CC552B8C9C449BB22725E93B506953--></OBUIAPP_PROCESS>
+
<!--3A4E13B0AB764F188CB062DDE2A9B685--><OBUIAPP_PROCESS>
<!--3A4E13B0AB764F188CB062DDE2A9B685--> <OBUIAPP_PROCESS_ID><![CDATA[3A4E13B0AB764F188CB062DDE2A9B685]]></OBUIAPP_PROCESS_ID>
<!--3A4E13B0AB764F188CB062DDE2A9B685--> <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff --git a/src/org/openbravo/materialmgmt/actionhandler/SetAttrSetInstance.java b/src/org/openbravo/materialmgmt/actionhandler/SetAttrSetInstance.java
new file mode 100644
--- /dev/null
+++ b/src/org/openbravo/materialmgmt/actionhandler/SetAttrSetInstance.java
@@ -0,0 +1,73 @@
+/*
+ *************************************************************************
+ * The contents of this file are subject to the Openbravo Public License
+ * Version 1.1 (the "License"), being the Mozilla Public License
+ * Version 1.1 with a permitted attribution clause; you may not use this
+ * file except in compliance with the License. You may obtain a copy of
+ * the License at http://www.openbravo.com/legal/license.html
+ * Software distributed under the License is distributed on an "AS IS"
+ * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
+ * License for the specific language governing rights and limitations
+ * under the License.
+ * The Original Code is Openbravo ERP.
+ * The Initial Developer of the Original Code is Openbravo SLU
+ * All portions are Copyright (C) 2018 Openbravo SLU
+ * All Rights Reserved.
+ * Contributor(s): ______________________________________.
+ ************************************************************************
+ */
+package org.openbravo.materialmgmt.actionhandler;
+
+import java.util.Map;
+
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.codehaus.jettison.json.JSONObject;
+import org.openbravo.client.application.process.BaseProcessActionHandler;
+import org.openbravo.client.application.process.ResponseActionsBuilder;
+import org.openbravo.dal.core.OBContext;
+import org.openbravo.dal.service.OBDal;
+import org.openbravo.model.common.plm.AttributeSet;
+import org.openbravo.model.common.plm.AttributeSetInstance;
+import org.openbravo.model.common.plm.Product;
+
+public class SetAttrSetInstance extends BaseProcessActionHandler {
+
+ private static final Logger log = LogManager.getLogger();
+
+ @Override
+ protected JSONObject doExecute(Map<String, Object> parameters, String content) {
+ OBContext.setAdminMode(true);
+ try {
+ JSONObject jsonRequest = new JSONObject(content);
+
+ log.info("Parameter inpmAttributesetinstanceId. Value= {}",
+ jsonRequest.getString("inpmAttributesetinstanceId"));
+
+ Product product = OBDal.getInstance().get(Product.class,
+ jsonRequest.getString("M_Product_ID"));
+ // Attribute set: Lot
+ AttributeSet attributeSet = OBDal.getInstance().get(AttributeSet.class,
+ "B676F279C99943818DDE55BFDA9BE379");
+
+ // Instance description: L18/07
+ AttributeSetInstance attributeSetInstance = OBDal.getInstance().get(
+ AttributeSetInstance.class, "0BD1F69F312D4831A5B36EA184B420DF");
+
+ product.setAttributeSet(attributeSet);
+ product.setAttributeSetValue(attributeSetInstance);
+ product.setUseAttributeSetValueAs("D");
+
+ return getResponseBuilder() //
+ .showMsgInProcessView(ResponseActionsBuilder.MessageType.SUCCESS, "Success!") //
+ .build();
+ } catch (Exception e) {
+ log.error(e);
+ return getResponseBuilder() //
+ .showMsgInProcessView(ResponseActionsBuilder.MessageType.ERROR, "Error setting UOM") //
+ .build();
+ } finally {
+ OBContext.restorePreviousMode();
+ }
+ }
+}
39218-fix.patch [^] (3,097 bytes) 2018-12-24 17:13 [Show Content] [Hide Content]# HG changeset patch
# User Javier Armendáriz <javier.armendariz@openbravo.com>
# Date 1545667926 -3600
# Mon Dec 24 17:12:06 2018 +0100
# Node ID 591832bbd3b6a6bb3e0906dfaf0e6ec1cdbc8d22
# Parent 2730a1285660035e5115b25f10c0dfdb0e4f34da
Fixes issue 39218: Hidden value in grid not updated when edited in process
This changeset removes the edit values in the selected fields either after
refreshing the grid view or when returning from a process to make sure the
values passed are always up-to-date.
diff --git a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/grid/ob-view-grid.js b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/grid/ob-view-grid.js
--- a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/grid/ob-view-grid.js
+++ b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/grid/ob-view-grid.js
@@ -1712,6 +1712,8 @@
}
this.resetEmptyMessage();
+ this.discardAllEdits();
+
var record, ret = this.Super('dataArrived', arguments);
this.updateRowCountDisplay();
diff --git a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/process/ob-parameter-window-view.js b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/process/ob-parameter-window-view.js
--- a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/process/ob-parameter-window-view.js
+++ b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/process/ob-parameter-window-view.js
@@ -11,7 +11,7 @@
* under the License.
* The Original Code is Openbravo ERP.
* The Initial Developer of the Original Code is Openbravo SLU
- * All portions are Copyright (C) 2012-2017 Openbravo SLU
+ * All portions are Copyright (C) 2012-2018 Openbravo SLU
* All Rights Reserved.
* Contributor(s): ______________________________________.
************************************************************************
@@ -283,11 +283,20 @@
if (this.popup && !retryExecution) {
this.buttonOwnerView.setAsActiveView();
afterRefreshCallback = function () {
+ var selectedRecords, i;
+
if (me.buttonOwnerView && isc.isA.Function(me.buttonOwnerView.refreshParentRecord) && isc.isA.Function(me.buttonOwnerView.refreshChildViews)) {
me.buttonOwnerView.refreshParentRecord();
me.buttonOwnerView.refreshChildViews();
me.buttonOwnerView.toolBar.updateButtonState();
}
+
+ if(me.buttonOwnerView && me.buttonOwnerView.viewGrid && isc.isA.Function(me.buttonOwnerView.viewGrid.getSelectedRecords) && isc.isA.Function(me.buttonOwnerView.viewGrid.discardEdits)) {
+ selectedRecords = me.buttonOwnerView.viewGrid.getSelectedRecords();
+ for (i=0; i < selectedRecords.length; i++) {
+ me.buttonOwnerView.viewGrid.discardEdits(selectedRecords[i]);
+ }
+ }
};
if (refreshParent) {
if (this.button && this.button.multiRecord) {
|