Comment 1 for bug 918997

Revision history for this message
Tihomir Trifonov (ttrifonov) wrote :

Hello,

regarding this ticket, I have several comments on it(before maybe trying to fix it).

1. As I understand the problem here is that the popup label is wrong - the 'username' SHOULD NOT be edited. It is a read-only field along with user_id.
So maybe it needs to be just dropped from the text, and to leave it as :
"From here you can edit users by changing their emails, passwords, and tenants".
Or maybe ", and default tenant", as this is the actual behavior.

2. Maybe it is a good idea to add the 'name' of the user as a readonly field, as the user_id. See the attachment for an example. At least it is good to see the username when editing.

There is something strange here. I am using devstack setup, and for me the 'update_email' function is not working.

    def update_email(self, user, email):
        """
        Update email
        """
        # FIXME(ja): why do we have to send id in params and url?
        params = {"user": {"id": base.getid(user),
                           "email": email}}

        return self._update("/users/%s" % base.getid(user), params, "user")

This is the function in python-keystoneclient, where self._update is :

    def _update(self, url, body, response_key=None):
        resp, body = self.api.put(url, body=body)
        # PUT requests may not return a body
        if body:
            return self.resource_class(self, body[response_key])

an actual *PUT* request.

But, as I see in keystone/keystone/contrib/extensions/admin/osksadm/__init__.py

        mapper.connect("/users/{user_id}",
                    controller=user_controller,
                    action="update_user",
                    conditions=dict(method=["POST"]))
        mapper.connect("/users/{user_id}",

This supports only POST and not PUT. Maybe this is some configuration error, although I see that the versions in master branch is the same. Should this be files as a separate bug ?