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

View Issue DetailsJump to Notes ] Issue History ] Print ]
ID
0057919
TypeCategorySeverityReproducibilityDate SubmittedLast Update
defect[Modules] Openbravo Business APImajorhave not tried2025-02-10 09:362025-02-10 16:26
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

0057919: bakport 25Q1 - 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 ]
blocks defect 0057879 closedTriage Platform Conn values not validated on API import 

-  Notes
(0175395)
hgbot (developer)
2025-02-10 13:45

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

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

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: 9c96ae190c639b44a9bed3a3b420371104078a9c
Author: Asier Lostalé <a.lostale@orisha.com>
Date: 10-02-2025 13:44:41
URL: https://gitlab.com/orisha-group/bu-commerce/openbravo/product/pmods/org.openbravo.service.external.integration/-/commit/9c96ae190c639b44a9bed3a3b420371104078a9c [^]

fixes BUG-57919: values not validated on API import

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

---
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-10 09:36 alostale New Issue
2025-02-10 09:36 alostale Assigned To => Triage Platform Conn
2025-02-10 09:36 alostale Issue generated from 0057879
2025-02-10 09:37 alostale Relationship added blocks 0057879
2025-02-10 13:45 hgbot Note Added: 0175395
2025-02-10 16:26 hgbot Note Added: 0175431
2025-02-10 16:26 hgbot Resolution open => fixed
2025-02-10 16:26 hgbot Status new => closed
2025-02-10 16:26 hgbot Note Added: 0175432


Copyright © 2000 - 2009 MantisBT Group
Powered by Mantis Bugtracker