def handle(self, request, data): user_id = data['user'] api.account_api(request).users.delete(user_id) messages.success(request, '%s was successfully deleted.' % user_id) return redirect(request.build_absolute_uri())
def users(request, tenant_id): for f in ( AddUser, RemoveUser, ): form, 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) all_users = api.account_api(request).users.list() user_ids = [u.id for u in users] new_users = [u for u in all_users if not u.id in user_ids] return render_to_response( 'django_openstack/syspanel/tenants/users.html', { 'add_user_form': add_user_form, 'remove_user_form': remove_user_form, 'tenant_id': tenant_id, 'users': users, 'new_users': new_users, }, context_instance=template.RequestContext(request))
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 = [] user_ids = [u['id'] for u in users] all_user_ids = [u.id for u in all_users] for uid in all_user_ids: if not uid in user_ids: new_user_ids.append(uid) for i in user_ids: if i in new_user_ids: new_user_ids.remove(i) return render_to_response( 'syspanel_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))
def create(request): tenants = api.account_api(request).tenants.list() if request.method == "POST": form = UserForm(request.POST, tenant_list=tenants) if form.is_valid(): user = form.clean() # TODO Make this a real request try: api.account_api(request).users.create(user['id'], user['email'], user['password'], user['tenant_id'], True) messages.success(request, '%s was successfully created.' % user['id']) return redirect('syspanel_users') except api_exceptions.ApiException, e: messages.error(request, 'Error creating user: %s' % e.message) return redirect('syspanel_users') else: return render_to_response( 'syspanel_user_create.html',{ 'form': form, }, context_instance = template.RequestContext(request))
def handle(self, request, data): try: api.account_api(request).role_refs.add_for_tenant_user( data["tenant"], data["user"], settings.OPENSTACK_KEYSTONE_DEFAULT_ROLE ) 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): try: api.account_api(request).tenants.update(data['id'], data['description'], data['enabled']) messages.success(request, '%s was successfully updated.' % data['id']) except api_exceptions.ApiException, e: messages.error(request, 'Unable to update tenant: %s' % e.message)
def handle(self, request, data): try: api.account_api(request).role_refs.delete_for_tenant_user( data['tenant'], data['user'], 'Member') messages.success( request, '%s was successfully removed from %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.delete_for_tenant_user(data['tenant'], data['user'], 'Member') messages.success(request, '%s was successfully removed from %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'], settings.OPENSTACK_KEYSTONE_DEFAULT_ROLE) 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 update(request, user_id): if request.method == "POST": tenants = api.account_api(request).tenants.list() form = UserForm(request.POST, tenant_list=tenants) if form.is_valid(): user = form.clean() updated = [] if user['email']: updated.append('email') api.account_api(request).users.update_email(user['id'], user['email']) if user['password']: updated.append('password') api.account_api(request).users.update_password(user['id'], user['password']) if user['tenant_id']: updated.append('tenant') api.account_api(request).users.update_tenant(user['id'], user['tenant_id']) messages.success(request, 'Updated %s for %s.' % (', '.join(updated), user_id)) return redirect('syspanel_users') else: # TODO add better error management messages.error(request, 'Unable to update user,\ please try again.') return render_to_response( 'syspanel_user_update.html',{ 'form': form, 'user_id': user_id, }, context_instance = template.RequestContext(request)) else: u = api.account_api(request).users.get(user_id) tenants = api.account_api(request).tenants.list() try: # FIXME email = u.email except: email = '' try: tenant_id = u.tenantId except: tenant_id = None form = UserForm(initial={'id': user_id, 'tenant_id': tenant_id, 'email': email}, tenant_list=tenants) return render_to_response( 'syspanel_user_update.html',{ 'form': form, 'user_id': user_id, }, context_instance = template.RequestContext(request))
def test_get_account_api(self): self.mox.StubOutClassWithMocks(OSExtras, "Account") OSExtras.Account(auth_token=TEST_TOKEN, management_url=TEST_URL) self.mox.StubOutWithMock(api, "url_for") api.url_for(IsA(http.HttpRequest), "identity", True).AndReturn(TEST_URL) api.url_for(IsA(http.HttpRequest), "identity", True).AndReturn(TEST_URL) self.mox.ReplayAll() self.assertIsNotNone(api.account_api(self.request)) self.mox.VerifyAll()
def index(request): for f in (UserDeleteForm,): _, handled = f.maybe_handle(request) if handled: return handled users = api.account_api(request).users.list() user_delete_form = UserDeleteForm() return render_to_response('syspanel_users.html',{ 'users': users, 'user_delete_form': user_delete_form, }, context_instance = template.RequestContext(request))
def update(request, tenant_id): form, handled = UpdateTenant.maybe_handle(request) if handled: return handled if request.method == 'GET': try: tenant = api.account_api(request).tenants.get(tenant_id) form = UpdateTenant(initial={'id': tenant.id, 'description': tenant.description, 'enabled': tenant.enabled}) except api_exceptions.ApiException, e: messages.error(request, 'Unable to update tenant: %s' % e.message) return redirect('syspanel_tenants')
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) all_users = api.account_api(request).users.list() user_ids = [u.id for u in users] new_users = [u for u in all_users if not u.id in user_ids] return render_to_response( 'django_openstack/syspanel/tenants/users.html', { 'add_user_form': add_user_form, 'remove_user_form': remove_user_form, 'tenant_id': tenant_id, 'users': users, 'new_users': new_users, }, context_instance=template.RequestContext(request))
def stub_account_api(self): self.mox.StubOutWithMock(api, "account_api") account_api = self.mox.CreateMock(OSExtras.Account) api.account_api(IsA(http.HttpRequest)).AndReturn(account_api) return account_api
def index(request): tenants = [] try: tenants = api.account_api(request).tenants.list() except api_exceptions.ApiException, e: messages.error(request, 'Unable to get tenant info: %s' % e.message)
def handle(self, request, data): try: api.account_api(request).role_refs.delete_for_tenant_user(data["tenant"], data["user"], "Member") messages.success(request, "%s was successfully removed from %s." % (data["user"], data["tenant"])) except api_exceptions.ApiException, e: messages.error(request, "Unable to create tenant: %s" % (e.message))
if request.method == "POST": form = UserForm(request.POST, tenant_list=tenants) if form.is_valid(): user = form.clean() # TODO Make this a real request try: LOG.info('Creating user with id "%s"' % user['id']) api.user_create(request, user['id'], user['email'], user['password'], user['tenant_id'], True) api.account_api(request).role_refs.add_for_tenant_user( user['tenant_id'], user['id'], settings.OPENSTACK_KEYSTONE_DEFAULT_ROLE) messages.success(request, '%s was successfully created.' % user['id']) return redirect('syspanel_users') except api_exceptions.ApiException, e: LOG.error('ApiException while creating user\n' 'id: "%s", email: "%s", tenant_id: "%s"' % (user['id'], user['email'], user['tenant_id']), exc_info=True) messages.error(request, 'Error creating user: %s' % e.message)
except api_exceptions.ApiException, e: messages.error(request, 'Unable to retrieve tenant list: %s' % e.message) return redirect('syspanel_users') if request.method == "POST": form = UserForm(request.POST, tenant_list=tenants) if form.is_valid(): user = form.clean() # TODO Make this a real request try: LOG.info('Creating user with id "%s"' % user['id']) api.user_create(request, user['id'], user['email'], user['password'], user['tenant_id'], True) api.account_api(request).role_refs.add_for_tenant_user( user['tenant_id'], user['id'], settings.OPENSTACK_KEYSTONE_DEFAULT_ROLE) messages.success(request, '%s was successfully created.' % user['id']) return redirect('syspanel_users') except api_exceptions.ApiException, e: LOG.error('ApiException while creating user\n' 'id: "%s", email: "%s", tenant_id: "%s"' % (user['id'], user['email'], user['tenant_id']), exc_info=True) messages.error(request, 'Error creating user: %s' % e.message) return redirect('syspanel_users') else: return render_to_response(