Allow setting multiple roles for the same user

Registered by Julie Gravel

Summary:
Currently in Identity -> Users, there is no way to add more than one role to a user. But you can set more than one role with a keystone command.

Motivation:
Horizon should provide this capability to match the command line feature.

Description:
Here's the keystone command for adding roles:

[root@tigris01 ~(keystone_admin)]# keystone help user-role-add
usage: keystone user-role-add --user <user> --role <role> [--tenant <tenant>]

Add role to user.

Arguments:
  --user <user>, --user-id <user>, --user_id <user>
                        Name or ID of user.
  --role <role>, --role-id <role>, --role_id <role>
                        Name or ID of role.
  --tenant <tenant>, --tenant-id <tenant>
                        Name or ID of tenant.

UX:
Currently there's only one way to assign a role to a user: during the user creation with the Create User dialog. The Edit User dialog doesn't even provide the role field for modification. A new tab "User Roles" could be added to both the Create User dialog and the Edit User dialog. This new tab would handle the assigning / adding / removing of roles for the user. The "User Roles" tab would contain a list of available roles on the left hand side table that could be added to the right hand side table, similar to the Project Members tab and the Project Groups tab of the Create Project dialog. Existing information on the Create User dialog and the Edit User dialog would be move into a tab called "User Information". The "User Information" tab would be the first tab and the "User Roles" would be the second tab.

Outside Dependencies:
N/A

Requirements Update Required:
N/A

Doc Impact:
N/A

Blueprint information

Status:
Complete
Approver:
None
Priority:
Undefined
Drafter:
Julie Gravel
Direction:
Needs approval
Assignee:
Julie Gravel
Definition:
Obsolete
Series goal:
None
Implementation:
Unknown
Milestone target:
None
Completed by
David Lyle

Related branches

Sprints

Whiteboard

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.