IDEMPIERE-2676 Incorrect context variables

This commit is contained in:
Carlos Ruiz 2015-06-22 12:53:05 -05:00
parent 866430f1a0
commit ccc2d90e8c
3 changed files with 34 additions and 0 deletions

View File

@ -0,0 +1,16 @@
SET SQLBLANKLINES ON
SET DEFINE OFF
-- IDEMPIERE-2676 Incorrect context variables
-- Jun 17, 2015 4:40:47 PM COT
UPDATE AD_Column SET Callout='org.compiere.model.CalloutOrder.priceList', IsUpdateable='N',Updated=TO_DATE('2015-06-17 16:40:47','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=2161
;
-- IDEMPIERE-2676 Incorrect context variables
-- Jun 22, 2015 12:50:04 PM COT
UPDATE AD_Column SET Callout='org.compiere.model.CalloutOrder.priceList', IsUpdateable='N',Updated=TO_DATE('2015-06-22 12:50:04','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=3484
;
SELECT register_migration_script('201506171641_IDEMPIERE-2676.sql') FROM dual
;

View File

@ -0,0 +1,12 @@
-- IDEMPIERE-2676 Incorrect context variables
-- Jun 17, 2015 4:40:47 PM COT
UPDATE AD_Column SET Callout='org.compiere.model.CalloutOrder.priceList', IsUpdateable='N',Updated=TO_TIMESTAMP('2015-06-17 16:40:47','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=2161
;
-- Jun 22, 2015 12:50:04 PM COT
UPDATE AD_Column SET Callout='org.compiere.model.CalloutOrder.priceList', IsUpdateable='N',Updated=TO_TIMESTAMP('2015-06-22 12:50:04','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=3484
;
SELECT register_migration_script('201506171641_IDEMPIERE-2676.sql') FROM dual
;

View File

@ -2542,12 +2542,14 @@ public class GridTab implements DataStatusListener, Evaluatee, Serializable
*/ */
public int setCurrentRow (int newCurrentRow, boolean fireEvents) public int setCurrentRow (int newCurrentRow, boolean fireEvents)
{ {
boolean changingRow = (m_currentRow != newCurrentRow);
int oldCurrentRow = m_currentRow; int oldCurrentRow = m_currentRow;
m_currentRow = verifyRow (newCurrentRow); m_currentRow = verifyRow (newCurrentRow);
if (log.isLoggable(Level.FINE)) log.fine("Row=" + m_currentRow + " - fire=" + fireEvents); if (log.isLoggable(Level.FINE)) log.fine("Row=" + m_currentRow + " - fire=" + fireEvents);
// Update Field Values // Update Field Values
int size = m_mTable.getColumnCount(); int size = m_mTable.getColumnCount();
GridField keyCalloutDelayed = null;
for (int i = 0; i < size; i++) for (int i = 0; i < size; i++)
{ {
GridField mField = m_mTable.getField(i); GridField mField = m_mTable.getField(i);
@ -2558,6 +2560,8 @@ public class GridTab implements DataStatusListener, Evaluatee, Serializable
mField.setValue(value, m_mTable.isInserting()); mField.setValue(value, m_mTable.isInserting());
if (m_mTable.isInserting()) // set invalid values to null if (m_mTable.isInserting()) // set invalid values to null
mField.validateValue(); mField.validateValue();
if (mField.isKey())
keyCalloutDelayed = mField;
} }
else else
{ // no rows - set to a reasonable value - not updateable { // no rows - set to a reasonable value - not updateable
@ -2576,6 +2580,8 @@ public class GridTab implements DataStatusListener, Evaluatee, Serializable
mField.setValue(); mField.setValue();
} }
} }
if (changingRow && keyCalloutDelayed != null)
processCallout(keyCalloutDelayed);
loadDependentInfo(); loadDependentInfo();
if (!fireEvents) // prevents informing twice if (!fireEvents) // prevents informing twice