Openbravo Issue Tracking System - POS2
View Issue Details
0054673POS2Corepublic2024-02-14 14:092024-07-30 13:27
NaroaIriarte 
Triage Platform Base 
normalminoralways
newopen 
5
 
 
No
0054673: Errors in successful responses generate a notification even if the code that issued the request handles the error.
When a successful response contains an error message, the error is handled on a function listener here [1] and a notification is displayed on the lower part of the screen (see attached image).

Sometimes the code that issued the request is the one that is going to address the error (see same attached image), so the notification displayed by the RequestListener would not be needed, as it is redundant.

[1] https://gitlab.com/openbravo/product/pmods/org.openbravo.core2/-/blob/master/web-jspack/org.openbravo.core2/src/core/network/RequestListener.js#L42 [^]
In org.openbravo.pos2/src/org/openbravo/pos2/process/StoreStock.java add throw exception

--- a/src/org/openbravo/pos2/process/StoreStock.java
+++ b/src/org/openbravo/pos2/process/StoreStock.java
@@ -22,6 +22,7 @@ import javax.inject.Inject;
 import org.apache.commons.lang.StringUtils;
 import org.codehaus.jettison.json.JSONException;
 import org.codehaus.jettison.json.JSONObject;
+import org.openbravo.base.exception.OBException;
 import org.openbravo.client.kernel.ComponentProvider.Qualifier;
 import org.openbravo.dal.core.OBContext;
 import org.openbravo.erpCommon.utility.OBMessageUtils;
@@ -62,6 +63,9 @@ public class StoreStock extends ProcessHQLQuery {
 
   @Override
   protected Map<String, Object> getParameterValues(JSONObject jsonsent) throws JSONException {
+ if (1 == 1) {
+ throw new OBException("My managed error");
+ }
     try {
       OBContext.setAdminMode(true);
       final Map<String, Object> parameters = new HashMap<>();



In /home/openbravo/workspaces/pos2/openbravo/modules/org.openbravo.pos2/web-jspack/org.openbravo.pos2/src/components/ProductButton/StoreStockPopup/StoreStockDataSource.js add a console log to simulate that I want to manage my exception

--- a/web-jspack/org.openbravo.pos2/src/components/ProductButton/StoreStockPopup/StoreStockDataSource.js
+++ b/web-jspack/org.openbravo.pos2/src/components/ProductButton/StoreStockPopup/StoreStockDataSource.js
@@ -29,6 +29,8 @@ export default class StoreStockDataSource extends RemoteDataSource {
       productId
     });
 
+ console.error('My Own error');
+

Login into POS
Add a product to the order -> Avalanche transceiver
click on the line recently added -> It executes to call to check stock

1. Error with my exception is shown as an error
2. my log is shown in the console

Platform should allow developers to manage exceptions without showing errors

Erase the code that shows the popup error and let the developers handle their errors or add a parameter that can be set to true if error handling is needed, for example.
No tags attached.
related to defect 0052342 closed caristu No error feedback provided in the UI when some requests fail 
related to feature request 0054436 acknowledged NaroaIriarte It should be possible to define the maximum amount for a Gift Certificate 
blocks defect 0055361 closed SABARINATH P Undefined error message while refunding a gift card with no sales order line related 
png doubleError.png (64,698) 2024-02-14 14:09
https://issues.openbravo.com/file_download.php?file_id=19464&type=bug
png
Issue History
2024-02-14 14:09NaroaIriarteNew Issue
2024-02-14 14:09NaroaIriarteAssigned To => Triage Platform Base
2024-02-14 14:09NaroaIriarteFile Added: doubleError.png
2024-02-14 14:09NaroaIriarteTriggers an Emergency Pack => No
2024-02-14 16:46NaroaIriarteRelationship addedrelated to 0054436
2024-05-06 17:47caristuNote Added: 0164120
2024-05-06 17:49caristuRelationship addedrelated to 0052342
2024-05-08 17:29guilleaerRelationship addedblocks 0055361
2024-05-08 17:34guilleaerRelationship addedblocks 0055330
2024-05-08 17:39guilleaerRelationship deletedblocks 0055330
2024-05-08 17:39guilleaerRelationship deletedblocks 0055361
2024-05-09 12:43guilleaerRelationship addedblocks 0055361
2024-05-13 10:42ucarrionNote Added: 0164479
2024-07-12 09:32AugustoMauchNote Added: 0166927
2024-07-12 09:32AugustoMauchAssigned ToTriage Platform Base => NaroaIriarte
2024-07-12 09:32AugustoMauchStatusnew => feedback
2024-07-12 13:47guilleaerSteps to Reproduce Updatedbug_revision_view_page.php?rev_id=28230#r28230
2024-07-12 14:02AugustoMauchSummaryThe exceptions handled in the backoffice should be managed per each developer and not in a general way => Errors in successful responses generate a notification even if the code that issued the request handles the error.
2024-07-12 14:02AugustoMauchDescription Updatedbug_revision_view_page.php?rev_id=28232#r28232
2024-07-15 09:24guillermogilAssigned ToNaroaIriarte => guillermogil
2024-07-15 09:25guillermogilAssigned Toguillermogil => Triage Platform Base
2024-07-15 09:25guillermogilStatusfeedback => new
2024-07-30 13:27AugustoMauchTypedefect => feature request

Notes
(0164120)
caristu   
2024-05-06 17:47   
The logic that handles the display of those messages is centralized here[1]. If it is finally decided to show no message at all in an automatic way, the fix is just a matter of removing the "handleErrorInSuccessfulResponse" function and its usage.

Note that this can cause potential regressions on the code that is currently delegating to this function the display of the error messages. In such cases, the user would stop seeing the errors.

[1] https://gitlab.com/openbravo/product/pmods/org.openbravo.core2/-/blob/master/web-jspack/org.openbravo.core2/src/core/network/RequestListener.js#L41 [^]
(0164479)
ucarrion   
2024-05-13 10:42   
Putting this issue as 'Gold' because is blocking a fix for ToysRUs. See the related Mantis https://issues.openbravo.com/view.php?id=55361 [^]
(0166927)
AugustoMauch   
2024-07-12 09:32   
Hello Naroa,

We need steps to reproduce, please.