mirror of https://github.com/zulip/zulip.git
80c057d91d
Update the REQ check for profile_data in update_user_backend by tweaking `check_profile_data` to use `check_dict_only`. Here is the relevant URL: path('users/<int:user_id>', rest_dispatch, {'GET': 'zerver.views.users.get_members_backend', It would be nice to unify the validator for these two views, but they are different: update_user_backend update_user_custom_profile_data It's not completely clear to me why update_user_backend seems to support a superset of the functionality of `update_user_custom_profile_data`, but it has this code to allow you to remove custom profile fields: clean_profile_data = [] for entry in profile_data: assert isinstance(entry["id"], int) if entry["value"] is None or not entry["value"]: field_id = entry["id"] check_remove_custom_profile_field_value(target, field_id) else: clean_profile_data.append({ "id": entry["id"], "value": entry["value"], }) Whereas the other view is much simpler: def update_user_custom_profile_data( <snip> ) -> HttpResponse: validate_user_custom_profile_data(user_profile.realm.id, data) do_update_user_custom_profile_data_if_changed(user_profile, data) # We need to call this explicitly otherwise constraints are not check return json_success() |
||
---|---|---|
.. | ||
data_import | ||
lib | ||
management | ||
migrations | ||
openapi | ||
templatetags | ||
tests | ||
tornado | ||
views | ||
webhooks | ||
worker | ||
__init__.py | ||
apps.py | ||
context_processors.py | ||
decorator.py | ||
filters.py | ||
forms.py | ||
logging_handlers.py | ||
middleware.py | ||
models.py | ||
signals.py |