Bug 47199

Summary: UMC: Correctly set attribute is detected as unset
Product: UCS Reporter: Erik Damrose <damrose>
Component: UMC (Generic)Assignee: Johannes Keiser <keiser>
Status: CLOSED FIXED QA Contact: Dirk Wiesenthal <wiesenthal>
Severity: normal    
Priority: P5 CC: best, gohmann, keiser, sm
Version: UCS 4.3   
Target Milestone: UCS 4.3-1-errata   
Hardware: Other   
OS: Linux   
See Also: https://forge.univention.org/bugzilla/show_bug.cgi?id=48880
What kind of report is it?: Bug Report What type of bug is this?: 5: Major Usability: Impairs usability in key scenarios
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.171 Enterprise Customer affected?: Yes
School Customer affected?: Yes ISV affected?:
Waiting Support: Yes Flags outvoted (downgraded) after PO Review:
Ticket number: 2018073121000508, 2018071221000295 Bug group (optional):
Max CVSS v3 score:
Attachments: ldif of a user object affected by this bug

Description Erik Damrose univentionstaff 2018-06-14 18:42:53 CEST
UCS 4.3-1e112 (maybe due to bug #46529)

To reproduce: Deactivate a user account by setting the checkbox Account -> "Account is deactivated".

The user is deactivated correctly (tested with kinit + ldapsearch)

But now every time the user object is opened, there is a popup:

The following empty properties were set to default values in the form. These values will be applied when saving.
Account - Deactivation - Account is deactivated: true
Comment 1 Florian Best univentionstaff 2018-06-15 11:11:55 CEST
Could you attach an LDIF of that user object here.
Comment 2 Erik Damrose univentionstaff 2018-06-18 09:36:02 CEST
Created attachment 9560 [details]
ldif of a user object affected by this bug
Comment 3 Florian Best univentionstaff 2018-06-19 14:32:27 CEST
(In reply to Erik Damrose from comment #2)
> Created attachment 9560 [details]
> ldif of a user object affected by this bug

looks like a valid LDAP object, I think. Maybe it's a javascript problem?
Comment 4 Johannes Keiser univentionstaff 2018-06-19 15:21:32 CEST
def hasChanged(self, key):
if key == 'disabled' and inconsistentDisabledState(self.oldattr):
	return True
Comment 5 Johannes Keiser univentionstaff 2018-06-19 15:36:14 CEST
After the default values for properties have been set it is checked if the values have changed. If the values have changed the property is flagged as such and the popup in the frontend is shown: 'The following empty properties were set to default values in the form.'


(In reply to Johannes Keiser from comment #4)
> def hasChanged(self, key):
> if key == 'disabled' and inconsistentDisabledState(self.oldattr):
> 	return True

from users/user.py:
this does return true even if 'disabled' did not change and because of that the popup is shown.
Comment 6 Johannes Keiser univentionstaff 2018-07-12 11:57:33 CEST
*** Bug 47089 has been marked as a duplicate of this bug. ***
Comment 7 Erik Damrose univentionstaff 2018-07-12 12:42:08 CEST
I copied the customer information from the duplicate bug
Comment 8 Johannes Keiser univentionstaff 2018-08-02 10:15:21 CEST
*** Bug 47438 has been marked as a duplicate of this bug. ***
Comment 9 Johannes Keiser univentionstaff 2018-08-22 17:45:08 CEST
e8213e2 Bug #47199: fix inconsistentDisabledState() in users/user.py
63a1031 Bug #47199: Debian changelog
395de71 Bug #47199: YAML - add entry
63b0d06 Bug #47199: Merge branch 'jkeiser/47199__inconsistent_disabled_state' into 4.3-1
f2033ba Bug #47199: YAML - update version

Successful build
Package: univention-directory-manager-modules
Version: 13.0.21-32A~4.3.0.201808221741
Comment 10 Dirk Wiesenthal univentionstaff 2018-08-28 17:29:23 CEST
Changeset: OK
YAML: OK
My tests: OK
Comment 11 Arvid Requate univentionstaff 2018-08-29 12:49:42 CEST
<http://errata.software-univention.de/ucs/4.3/222.html>