]> source.dussan.org Git - nextcloud-server.git/commit
Respect additional user settings not covered by the controller
authorDaniel Calviño Sánchez <danxuliu@gmail.com>
Fri, 29 Jan 2021 21:11:16 +0000 (22:11 +0100)
committerDaniel Calviño Sánchez <danxuliu@gmail.com>
Fri, 23 Apr 2021 14:53:56 +0000 (16:53 +0200)
commit0dfd0ec77a4acd11da16e47eaddfaf2fc9a52900
treed1a64ac71e9585d7c843b7780d15cf003c597397
parentbedb97fd57ca1c56b84c2b1056bbb28ea26035fb
Respect additional user settings not covered by the controller

"AccountManager::updateUser()" wipes previous user data with whichever
user data is given (except for some adjustments, like resetting the
verified status when needed). As the controller overrode the properties
those properties would lose some of their attributes even if they are
not affected by the changes made by the controller. Now the controller
only modifies the attributes set ("value" and "scope") to prevent that.

Note that with this change the controller no longer removes the
"verified" status, but this is not a problem because, as mentioned,
"AccountManager::updateUser()" resets them when needed (for example,
when the value of the website property changes).

This change is a previous step to fix overwritting properties with null
values, and it will prevent the controller from making unexpected
changes if more attributes are added in the future.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
apps/settings/lib/Controller/UsersController.php
apps/settings/tests/Controller/UsersControllerTest.php