Anonymous | Login
Project:
RSS
  
News | My View | View Issues | Roadmap | Summary

View Issue DetailsJump to Notes ] Issue History ] Print ]
ID
0057879
TypeCategorySeverityReproducibilityDate SubmittedLast Update
defect[Modules] Openbravo Business APImajorhave not tried2025-02-05 15:332025-02-10 10:16
ReporteralostaleView Statuspublic 
Assigned ToTriage Platform Conn 
PrioritynormalResolutionfixedFixed in Version
StatusclosedFix in branchFixed in SCM revision
ProjectionnoneETAnoneTarget Version
OSAnyDatabaseAnyJava version
OS VersionDatabase versionAnt version
Product VersionSCM revision 
Regression date
Regression introduced by commit
Regression level
Review Assigned To
Regression introduced in release
Summary

0057879: values not validated on API import

DescriptionWhen importing objects through API, values are not validated with their Application Dictionary definition. For example, values stored in a list reference property are not checked they are part of the available set of values for that reference.
Steps To ReproduceUsing Postman examples collection [1]:
1. Look for Masterdata > Import Business Partner request
2. Change the value of the invoiceTerms property to something invalid (ie. XXX)
3. Execute the request
   ERROR: Check the Business Partner is successfully imported with an invalid invoice term value. It should have failed with an error message saying XXX is not a valid value for invoiceTerms.

---
[1] https://gitlab.com/orisha-group/bu-commerce/openbravo/product/pmods/org.openbravo.api/-/blob/master/examples/Openbravo%20API.postman_collection.json?ref_type=heads [^]
Proposed SolutionThe problem is caused by how values are set in BaseOBObjects (ie. in DirectPropertyMapping [1], but also applicable to other mappings) using the setValue method instead of the set one.

According to the documentation [2] setValue skips validations:

   * Sets a value in the object without any security or validation checking. Should be used with
   * care. Is used by the subclasses and system classes.


[1] https://gitlab.com/orisha-group/bu-commerce/openbravo/product/pmods/org.openbravo.service.external.integration/-/blob/7f20dbeb867531f404546aae5a8f4e70a719389f/src/org/openbravo/service/external/integration/mapping/DirectPropertyMapping.java#L150 [^]
[2] https://gitlab.com/orisha-group/bu-commerce/openbravo/product/openbravo/-/blob/8fbb1539927d54510869b0740b8168f69ce69424/src/org/openbravo/base/structure/BaseOBObject.java#L299 [^]
TagsNo tags attached.
Attached Files

- Relationships Relation Graph ] Dependency Graph ]
depends on defect 0057918 closedTriage Platform Conn bakport 24Q4 - values not validated on API import 
depends on defect 0057919 closedTriage Platform Conn bakport 25Q1 - values not validated on API import 

-  Notes
(0175224)
hgbot (developer)
2025-02-06 14:29

Merge Request created: https://gitlab.com/orisha-group/bu-commerce/openbravo/product/pmods/org.openbravo.service.external.integration/-/merge_requests/57 [^]
(0175377)
hgbot (developer)
2025-02-10 10:16

Merge request merged: https://gitlab.com/orisha-group/bu-commerce/openbravo/product/pmods/org.openbravo.service.external.integration/-/merge_requests/57 [^]
(0175378)
hgbot (developer)
2025-02-10 10:16

Directly closing issue as related merge request is already approved.

Repository: https://gitlab.com/orisha-group/bu-commerce/openbravo/product/pmods/org.openbravo.service.external.integration [^]
Changeset: 0fd7cc9122c3d454bbca67677166baab5dcc7f7d
Author: Asier Lostalé <a.lostale@orisha.com>
Date: 06-02-2025 14:28:14
URL: https://gitlab.com/orisha-group/bu-commerce/openbravo/product/pmods/org.openbravo.service.external.integration/-/commit/0fd7cc9122c3d454bbca67677166baab5dcc7f7d [^]

fixes BUG-57879: values not validated on API import

Replaces setting values in BaseOBObject using setValue with set method. The
former, bypasses validations.

---
M src-test/org/openbravo/service/external/integration/mapping/PropertyMappingTest.java
M src/org/openbravo/service/external/integration/mapping/BigDecimalDirectPropertyMapping.java
M src/org/openbravo/service/external/integration/mapping/BooleanDirectPropertyMapping.java
M src/org/openbravo/service/external/integration/mapping/DateDirectPropertyMapping.java
M src/org/openbravo/service/external/integration/mapping/DirectPropertyMapping.java
M src/org/openbravo/service/external/integration/mapping/LongDirectPropertyMapping.java
---

- Issue History
Date Modified Username Field Change
2025-02-05 15:33 alostale New Issue
2025-02-05 15:33 alostale Assigned To => Triage Platform Conn
2025-02-05 15:43 alostale Proposed Solution updated
2025-02-06 14:29 hgbot Note Added: 0175224
2025-02-10 09:33 alostale Status new => scheduled
2025-02-10 09:35 alostale Issue cloned 0057918
2025-02-10 09:35 alostale Relationship added depends on 0057918
2025-02-10 09:36 alostale Issue cloned 0057919
2025-02-10 09:37 alostale Relationship added depends on 0057919
2025-02-10 10:16 hgbot Note Added: 0175377
2025-02-10 10:16 hgbot Resolution open => fixed
2025-02-10 10:16 hgbot Status scheduled => closed
2025-02-10 10:16 hgbot Note Added: 0175378


Copyright © 2000 - 2009 MantisBT Group
Powered by Mantis Bugtracker