Openbravo Issue Tracking System - Openbravo ERP
View Issue Details
0037897Openbravo ERPA. Platformpublic2018-02-06 15:532018-02-15 09:50
Production - Confirmed Stable
3.0PR16Q2 [^]
0037897: Callout not triggered when clearing a selector
A callout is associated to a nullable column with a OBUISEL_Selector Reference.
When the user selects something in the selector the callout is properly triggered. However when the user clears the selector (i.e. no value is selected) and the focus is changed to another field then the callout is NOT triggered.

I have noticed a special case where the callout is properly triggered: when you open a window and then you clear the selector of an existing record (i.e. a record previously saved in the DB) then the callout is properly triggered.
Associate a callout with a nullable column with a OBUISEL_Selector Reference.
Compile and restart tomcat in debug mode.
Set a break point at the beginning of the callout.
Create a new record in the correspondent window. Select any value in the selector and change the focus. Verify the callout is properly triggered. OK
Now clears the selector and change the focus. The callout is NOT triggered. WRONG.
No tags attached.
blocks defect 0037842 closed platform Callout not triggered when clearing a selector 
Issue History
2018-02-13 10:36AugustoMauchTypedefect => backport
2018-02-13 10:36AugustoMauchTarget Version => 3.0PR17Q4.1
2018-02-14 09:43hgbotCheckin
2018-02-14 09:43hgbotNote Added: 0102388
2018-02-14 09:43hgbotStatusscheduled => resolved
2018-02-14 09:43hgbotResolutionopen => fixed
2018-02-14 09:43hgbotFixed in SCM revision => [^]
2018-02-15 07:50alostaleReview Assigned To => caristu
2018-02-15 09:50caristuNote Added: 0102430
2018-02-15 09:50caristuStatusresolved => closed
2018-02-15 09:50caristuFixed in Version => 3.0PR17Q4.1

2018-02-14 09:43   
Repository: erp/backports/3.0PR17Q4.1
Changeset: 3329a5d35ffaa7915a9dbc99001cce238602147a
Author: Augusto Mauch <augusto.mauch <at>>
Date: Wed Feb 14 09:40:23 2018 +0100
URL: [^]

Fixes issue 37897: Callouts are invoked when clearing a non mandatory selector

This changeset [1] fixed a problem where a callout was being called twice when picking a value from a selector. The first request was done properly, but the
second one was done with a null value. The fix consisted in not notifying a change in selector when it was modified from a non-empty value to an empty value.

But as a result, when a non mandatory selector is emptied, callouts are no longer being invoked. The original issue is very hard to reproduce, I have not been
able to find a new way to reproduce it or fix it. To avoid the regression, now the code that was done to fix [1] will only take place if the selector is mandatory,
to make sure that it is possible to give empty values to non-mandatory selectors.

[1] [^]

M modules/org.openbravo.userinterface.selector/web/org.openbravo.userinterface.selector/js/ob-selector-item.js
2018-02-15 09:50   
Code reviewed + tested OK.

Tested with Product field in the Lines tab of Sales Invoice window.