Openbravo Issue Tracking System - Openbravo ERP
View Issue Details
0046684Openbravo ERPA. Platformpublic2021-05-14 13:402021-05-18 13:57
marvintm 
cberner 
immediatemajoralways
closedfixed 
5
 
PR21Q2.1PR21Q2 
Core
2020-10-27
PR21Q1
https://gitlab.com/openbravo/product/openbravo/-/commit/74ec2cdad81aba152fc7a704384cc96836dabde9 [^]
No
0046684: If a tab has a field for the id of the entity, it is no longer possible to create a new record in form view
For Application Dictionary generated windows, if a tab has a field for the id of the entity, it is no longer possible to create a new record in form view.

An example of this can be found in the "Coupons on the Fly" module.
- Log in https://livebuilds.openbravo.com/retail_modules_pgsql_pi/, [^] using "White valley group admin" role
- Create a discount in "Discounts and promotion" window of type "Variable Amount Coupons". Make sure to check the flags "Uses coupon codes" and "Is OTF coupon"
- Go to "OTF Coupons generation rules".
- Create a new record in form view. Check the "Is variable coupon" flag. Fill all remaining mandatory fields (select the previously created discount as discount).
- Realise that you cannot save the record, because the following error is shown:

Error
Saving failed. One or more fields contain illegal values, check the errors for each field.

If the definition of the window is changed, and the field for the id is removed, then the record can be saved correctly.
No tags attached.
blocks defect 0046681 closed cberner If a tab has a field for the id of the entity, it is no longer possible to create a new record in form view 
Issue History
2021-05-14 15:03cbernerTypedefect => backport
2021-05-14 15:03cbernerTarget Version => PR21Q2.1
2021-05-18 09:51cbernerPrioritynormal => immediate
2021-05-18 10:51hgbotNote Added: 0128305
2021-05-18 13:57hgbotNote Added: 0128330
2021-05-18 13:57hgbotResolutionopen => fixed
2021-05-18 13:57hgbotStatusscheduled => closed
2021-05-18 13:57hgbotFixed in Version => PR21Q2
2021-05-18 13:57hgbotNote Added: 0128331

Notes
(0128305)
hgbot   
2021-05-18 10:51   
Merge Request created: https://gitlab.com/openbravo/product/openbravo/-/merge_requests/370 [^]
(0128330)
hgbot   
2021-05-18 13:57   
Merge request merged: https://gitlab.com/openbravo/product/openbravo/-/merge_requests/370 [^]
(0128331)
hgbot   
2021-05-18 13:57   
Directly closing issue as related merge request is already approved.

Repository: https://gitlab.com/openbravo/product/openbravo [^]
Changeset: 9ab49a024670d8a4823a686b8f5a3de01a12770c
Author: Cristian Berner <cristian.berner@openbravo.com>
Date: 2021-05-18T10:50:56+02:00
URL: https://gitlab.com/openbravo/product/openbravo/-/commit/9ab49a024670d8a4823a686b8f5a3de01a12770c [^]

Fixes ISSUE-46684: Not possible to create a new record in form view if id is present in tab

This was due to how validation is handled in form, to avoid ISSUE-45301
a validateHiddenFields flag has been set to true to validate all hidden
fields that may be present in the form but under collapsed field groups.
This also checks all hidden fields, for example in this case identifier.
Which on new records is always undefined, until the record is saved and
an id is received.

To fix this, a check is done at validateField level, if the field is hidden and not displayed, validation will be skipped.
An alternative would be to only validate displayed fields at this level,
but this may be more prone to errors.

---
M modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/ob-view-form.js
---