Openbravo Issue Tracking System - Retail Modules | |||||
View Issue Details | |||||
ID | Project | Category | View Status | Date Submitted | Last Update |
0056778 | Retail Modules | Retail API | public | 2024-10-14 18:01 | 2024-10-24 07:22 |
Reporter | kchoperena | ||||
Assigned To | Bimla_vm | ||||
Priority | high | Severity | major | Reproducibility | always |
Status | scheduled | Resolution | open | ||
Platform | OS | 5 | OS Version | ||
Product Version | |||||
Target Version | Fixed in Version | ||||
Merge Request Status | |||||
Review Assigned To | |||||
OBNetwork customer | |||||
Support ticket | |||||
Regression level | |||||
Regression date | |||||
Regression introduced in release | |||||
Regression introduced by commit | |||||
Triggers an Emergency Pack | No | ||||
Summary | 0056778: Export Promotion API: incompatibleDiscount is defined as mandatory but in the back-end you can create a register not setting it | ||||
Description | If you create a register for the Incompatible Discounts tab of 'Promotion and Discounts' window and you leave empty the 'Incompatible discount' field, any GET API is going to fail with the following error as the field has not a value defined: 2024-10-14 17:54:56,174 [http-nio-8080-exec-6] ERROR org.openbravo.service.web.BaseWebServiceServlet - Value of property incompatibleDiscount is null but it does not accept null values org.openbravo.base.exception.OBException: Value of property incompatibleDiscount is null but it does not accept null values at org.openbravo.service.external.integration.mapping.PropertyMapping.addPropertyValueIfValid(PropertyMapping.java:108) ~[classes/:?] at org.openbravo.service.external.integration.mapping.PropertyMapping.addMappingValue(PropertyMapping.java:87) ~[classes/:?] at org.openbravo.service.external.integration.mapping.PropertyMapper.createSynchronizableBusinessObject(PropertyMapper.java:155) ~[classes/:?] at org.openbravo.service.external.integration.export.SynchronizableBusinessObjectExporter.exportToSynchronizableBusinessObject(SynchronizableBusinessObjectExporter.java:129) ~[classes/:?] at org.openbravo.service.external.integration.export.SynchronizableBusinessObjectExporter.exportToSynchronizableBusinessObject(SynchronizableBusinessObjectExporter.java:108) ~[classes/:?] at org.openbravo.service.external.integration.mapping.OneToManyEntityPropertyMapping.getTargetList(OneToManyEntityPropertyMapping.java:110) ~[classes/:?] at org.openbravo.service.external.integration.mapping.OneToManyEntityPropertyMapping.getMappingValueForExport(OneToManyEntityPropertyMapping.java:98) ~[classes/:?] | ||||
Steps To Reproduce | 1.- Create a promotion in the back-end 2.- Add a configuration for the Incompatible Discounts tab (see attached image as an example) 3.- Using a REST client, create a request to get the previously created promotion. Example request for livebuilds: https://livebuilds.openbravo.com/context/retail_modules_pgsql_pi/ws/org.openbravo.api.ExportService/Promotion/promotionId [^] Just replace the base url and the promotionId by the created one RESULT: The integration will fail | ||||
Proposed Solution | |||||
Additional Information | |||||
Tags | No tags attached. | ||||
Relationships | |||||
Attached Files | |||||
Issue History | |||||
Date Modified | Username | Field | Change | ||
2024-10-14 18:01 | kchoperena | New Issue | |||
2024-10-14 18:01 | kchoperena | Assigned To | => Retail | ||
2024-10-14 18:01 | kchoperena | Triggers an Emergency Pack | => No | ||
2024-10-17 15:25 | guillermogil | Status | new => acknowledged | ||
2024-10-23 09:12 | guillermogil | Assigned To | Retail => guilleaer | ||
2024-10-24 07:21 | Bimla_vm | Assigned To | guilleaer => Bimla_vm | ||
2024-10-24 07:22 | Bimla_vm | Status | acknowledged => scheduled |
There are no notes attached to this issue. |