Bug 48092 - Default values for properties are not saved
Default values for properties are not saved
Status: NEW
Product: UCS
Classification: Unclassified
Component: UMC (Generic)
UCS 4.3
Other Linux
: P5 normal (vote)
: ---
Assigned To: UMC maintainers
UMC maintainers
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2018-11-02 15:10 CET by Stefan Gohmann
Modified: 2019-03-10 16:33 CET (History)
2 users (show)

See Also:
What kind of report is it?: Bug Report
What type of bug is this?: 3: Simply Wrong: The implementation doesn't match the docu
Who will be affected by this bug?: 3: Will affect average number of installed domains
How will those affected feel about the bug?: 2: A Pain – users won’t like this once they notice it
User Pain: 0.103
Enterprise Customer affected?: Yes
School Customer affected?:
ISV affected?:
Waiting Support:
Ticket number:
Bug group (optional):
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Stefan Gohmann univentionstaff 2018-11-02 15:10:28 CET
If I open the samba domain object in the LDAP directory browser, I always see the following notification:

> Notification
> The following empty properties were set to default values in the form. These 
> values will be applied when saving.
> 
>     General - Password - Passwords must meet complexity requirements: true
>     General - Password - Store plaintext passwords: false

The LDAP object:
root@master431:~# univention-ldapsearch sambaDomainName=DEADLOCK43 -LLL
dn: sambaDomainName=DEADLOCK43,cn=samba,dc=deadlock43,dc=intranet
sambaDomainName: DEADLOCK43
sambaSID: S-1-5-21-1415230736-3466347602-1585201122
objectClass: sambaDomain
objectClass: univentionObject
univentionObjectType: settings/sambadomain
sambaNextUserRid: 1000
sambaNextGroupRid: 1000
sambaMinPwdLength: 8
univentionSamba4pwdProperties: 1
sambaPwdHistoryLength: 0
sambaNextRid: 1000

root@master431:~#
Comment 1 Jürn Brodersen univentionstaff 2019-02-25 12:27:07 CET
I think IN8-udm has the same problem.

It looks like this is an issue with complex/multiinput widgets and the _getInitialFormValues function in DetailPage.js.

At least in the IN8-udm package the problem was a dependency of a select widget on a multiinput widget which contained textboxes. A textbox doesn't have a ready function  which resulted in the _getInitialFormValues function running to early.

My current workaround is a widget override on the text box with a ready function  returning a promise which is fulfilled after a 1s timeout. Not nice, but it works for now.
Comment 2 Florian Best univentionstaff 2019-02-25 12:33:42 CET
(In reply to Jürn Brodersen from comment #1)
> My current workaround is a widget override on the text box with a ready
> function  returning a promise which is fulfilled after a 1s timeout. Not
> nice, but it works for now.
Let's better fix this correctly as soon as possible.
1 second can easily happen with slow network connections e.g. on mobile devices.

Do you know which widgets are affected?
Comment 3 Florian Best univentionstaff 2019-02-25 12:35:54 CET
See also Bug #46529, which might is only a workaround for broken widgets.
Comment 4 Jürn Brodersen univentionstaff 2019-02-25 14:08:57 CET
The following is mostly a guess:
This seems to occur with widgets that depend on widgets without a ready function (e.g. TextBox.js). Normally a widget would get its value through DetailPage.js before _getInintialValue is called. But since the dependency mechanism fills out the value, this is not guaranteed to happen

In this case all values were supplied through the first udm get call without any additional umcp calls. So this does not need to be triggered through a slow network connection. But I think it might be as well if any umcp calls are involved.


I would like to see a fix for this, too. :)
But I think this is not trivial to fix.
Comment 5 Florian Best univentionstaff 2019-03-10 16:33:56 CET
The get/ call when receiving objects fill in default values into the form. But the form doesn't send all data so that only the difference / changed values are send back to the backend. Therefore for default attributes which are unset no changes are detected and not saved on modify() currently.

The cause is:
commit 0766ed868dd0c748a1dafdf485c748d1659ca092
Date:   Fri May 12 11:17:25 2017 +0000
    Bug #41053: set default values of objects when receiving form values