def handle(self, request, data): try: api.account_api(request).role_refs.delete_for_tenant_user(data['tenant'], data['user'], auth.Roles.PROJECT_ADMIN) messages.success(request, '%s was successfully removed from admins of %s.' % (data['user'], data['tenant'])) except api_exceptions.ApiException, e: messages.error(request, 'Unable to create tenant: %s' % (e.message))
def handle(self, request, data): try: api.account_api(request).role_refs.add_for_tenant_user(data['tenant'], data['user'], auth.Roles.USER) messages.success(request, '%s was successfully added to %s.' % (data['user'], data['tenant'])) except api_exceptions.ApiException, e: messages.error(request, 'Unable to create user association: %s' % (e.message))
def _handle(self, request, data): super(UserEditAdminForm, self)._handle(request, data) for admin_role in [auth.Roles.SOFTWARE_ADMIN, auth.Roles.HARDWARE_ADMIN]: field_name = 'is_' + admin_role if self.user[field_name] != (admin_role in self.orig_user.global_roles): if self.user[field_name]: api.account_api(request).role_refs. \ add_for_tenant_user(None, self.user['id'], admin_role) self.updated.append(field_name) elif self.user['id'] != request.user.username: api.account_api(request).role_refs. \ delete_for_tenant_user(None, self.user['id'], admin_role) self.updated.append(field_name)
def users(request, tenant_id): for f in (AddUser, RemoveUser,): _, handled = f.maybe_handle(request) if handled: return handled # form, handled = UpdateTenant.maybe_handle(request) # if handled: # return handled add_user_form = AddUser() remove_user_form = RemoveUser() users = api.account_api(request).users.get_for_tenant(tenant_id).values all_users = api.account_api(request).users.list() new_user_ids = set([u.id for u in all_users if auth.Roles.needs_tenant(api.User(u).global_roles)]) - set([u['id'] for u in users]) users = [user for user in users if auth.Roles.PROJECT_ADMIN in user["tenantRoles"]] return render_to_response( topbar + '/tenant_users.html',{ 'add_user_form': add_user_form, 'remove_user_form': remove_user_form, 'tenant_id': tenant_id, 'users': users, 'new_users': new_user_ids, }, context_instance = template.RequestContext(request))