Project:
| View Issue Details[ Jump to Notes ] | [ Issue History ] [ Print ] | |||||||
| ID | ||||||||
| 0057919 | ||||||||
| Type | Category | Severity | Reproducibility | Date Submitted | Last Update | |||
| defect | [Modules] Openbravo Business API | major | have not tried | 2025-02-10 09:36 | 2025-02-10 16:26 | |||
| Reporter | alostale | View Status | public | |||||
| Assigned To | Triage Platform Conn | |||||||
| Priority | normal | Resolution | fixed | Fixed in Version | ||||
| Status | closed | Fix in branch | Fixed in SCM revision | |||||
| Projection | none | ETA | none | Target Version | ||||
| OS | Any | Database | Any | Java version | ||||
| OS Version | Database version | Ant version | ||||||
| Product Version | SCM revision | |||||||
| Merge Request Status | approved | |||||||
| Regression date | ||||||||
| Regression introduced by commit | ||||||||
| Regression level | ||||||||
| Review Assigned To | ||||||||
| Support ticket | ||||||||
| OBNetwork customer | No | |||||||
| Regression introduced in release | ||||||||
| Summary | 0057919: bakport 25Q1 - values not validated on API import | |||||||
| Description | When 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 Reproduce | Using 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 Solution | The 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 [^] | |||||||
| Tags | No tags attached. | |||||||
| Attached Files | ||||||||
Relationships [ Relation Graph ]
[ Dependency Graph ]
|
||||||||
|
||||||||
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 | OBNetwork customer | => No |
| 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 | Merge Request Status | => open |
| 2025-02-10 13:45 | hgbot | Note Added: 0175395 | |
| 2025-02-10 16:26 | hgbot | Merge Request Status | open => approved |
| 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 |