factor out api calls
This commit is contained in:
		| @@ -1,3 +1,6 @@ | ||||
| # vim: tabstop=4 shiftwidth=4 softtabstop=4 | ||||
|  | ||||
|  | ||||
| from django.conf import settings | ||||
|  | ||||
| import logging | ||||
| @@ -50,15 +53,138 @@ def auth_api(): | ||||
|                                settings.OPENSTACK_KEYSTONE_URL) | ||||
|  | ||||
|  | ||||
| def get_tenant(request, tenant_id): | ||||
|   tenants = auth_api().tenants.for_token(request.session['token']) | ||||
|   for t in tenants: | ||||
|       if str(t.id) == str(tenant_id): | ||||
|           return t | ||||
| def console_create(request, instance_id, kind=None): | ||||
|     return extras_api(request).consoles.create(instance_id, kind) | ||||
|  | ||||
|  | ||||
| def flavor_create(request, name, memory, vcpu, disk, flavor_id): | ||||
|     return admin_api(request).flavors.create( | ||||
|             name, int(memory), int(vcpu), int(disk), flavor_id) | ||||
|  | ||||
| def token_info(token): | ||||
|  | ||||
| def flavor_delete(request, flavor_id, purge=False): | ||||
|     return admin_api(request).flavors.delete(flavor_id, purge) | ||||
|  | ||||
|  | ||||
| def flavor_get(request, flavor_id): | ||||
|     return compute_api(request).flavors.get(flavor_id) | ||||
|  | ||||
|  | ||||
| def flavor_list(request): | ||||
|     return extras_api(request).flavors.list() | ||||
|  | ||||
|  | ||||
| def flavor_list_admin(request): | ||||
|     return extras_api(request).flavors.list() | ||||
|  | ||||
|  | ||||
| def image_all_metadata(request): | ||||
|     images = glance_api(request).get_images_detailed() | ||||
|     image_dict = {} | ||||
|     for image in images: | ||||
|         image_dict[image['id']] = image | ||||
|     return image_dict | ||||
|  | ||||
|  | ||||
| def image_create(request, image_meta, image_file): | ||||
|     return glance_api(request).add_image(image_meta, image_file) | ||||
|  | ||||
|  | ||||
| def image_delete(request, image_id): | ||||
|     return glance_api(request).delete_image(image_id) | ||||
|  | ||||
|  | ||||
| def image_get(request, image_id): | ||||
|     return glance_api(request).get_image(image_id)[0] | ||||
|  | ||||
|  | ||||
| def image_list_detailed(request): | ||||
|     return glance_api(request).get_images_detailed() | ||||
|  | ||||
|  | ||||
| def image_update(request, image_id, image_meta=None): | ||||
|     image_meta = image_meta and image_meta or {} | ||||
|     return glance_api(request).update_image(image_id, image_meta=image_meta) | ||||
|  | ||||
|  | ||||
| def keypair_create(request, name): | ||||
|     return extras_api(request).keypairs.create(name) | ||||
|  | ||||
|  | ||||
| def keypair_delete(request, keypair_id): | ||||
|     return extras_api(request).keypairs.delete(keypair_id) | ||||
|  | ||||
|  | ||||
| def keypair_list(request): | ||||
|     return extras_api(request).keypairs.list() | ||||
|  | ||||
|  | ||||
| def server_create(request, name, image, flavor, user_data, key_name): | ||||
|     return extras_api(request).servers.create( | ||||
|             name, image, flavor, user_data, key_name) | ||||
|  | ||||
|  | ||||
| def server_delete(request, instance): | ||||
|     return compute_api(request).servers.delete(instance) | ||||
|  | ||||
|  | ||||
| def server_get(request, instance_id): | ||||
|     return compute_api(request).servers.get(instance_id) | ||||
|  | ||||
|  | ||||
| def server_list(request): | ||||
|     return extras_api(request).servers.list() | ||||
|  | ||||
|  | ||||
| def server_reboot(request, instance_id, hardness=openstack.compute.servers.REBOOT_HARD): | ||||
|     server = server_get(request, instance_id) | ||||
|     return server.reboot(hardness) | ||||
|  | ||||
|  | ||||
| def service_get(request, name): | ||||
|     return admin_api(request).services.get(name) | ||||
|  | ||||
|  | ||||
| def service_list(request): | ||||
|     return admin_api(request).services.list() | ||||
|  | ||||
|  | ||||
| def service_update(request, name, enabled): | ||||
|     return admin_api(request).services.update(name, enabled) | ||||
|  | ||||
|  | ||||
| def token_get_tenant(request, tenant_id): | ||||
|     tenants = auth_api().tenants.for_token(request.session['token']) | ||||
|     for t in tenants: | ||||
|         if str(t.id) == str(tenant_id): | ||||
|             return t | ||||
|  | ||||
|  | ||||
| def token_list_tenants(request, token): | ||||
|     return auth_api().tenants.for_token(token) | ||||
|  | ||||
|  | ||||
| def tenant_create(request, tenant_id, description, enabled): | ||||
|     return account_api(request).tenants.create(tenant_id, description, enabled) | ||||
|  | ||||
|  | ||||
| def tenant_get(request, tenant_id): | ||||
|     return account_api(request).tenants.get(tenant_id) | ||||
|  | ||||
|  | ||||
| def tenant_list(request): | ||||
|     return account_api(request).tenants.list() | ||||
|  | ||||
|  | ||||
| def tenant_update(request, tenant_id, description, enabled): | ||||
|     return account_api(request).tenants.update(tenant_id, description, enabled) | ||||
|  | ||||
|  | ||||
| def token_create(request, tenant, username, password): | ||||
|     return auth_api().tokens.create(tenant, username, password) | ||||
|  | ||||
|  | ||||
| def token_info(request, token): | ||||
|     hdrs = {"Content-type": "application/json", | ||||
|             "X_AUTH_TOKEN": settings.OPENSTACK_ADMIN_TOKEN, | ||||
|             "Accept": "text/json"} | ||||
| @@ -79,9 +205,38 @@ def token_info(token): | ||||
|             'admin': admin} | ||||
|  | ||||
|  | ||||
| def get_image_cache(request): | ||||
|     images = glance_api(request).get_images_detailed() | ||||
|     image_dict = {} | ||||
|     for image in images: | ||||
|         image_dict[image['id']] = image | ||||
|     return image_dict | ||||
| def usage_get(request, tenant_id, start, end): | ||||
|     return extras_api(request).usage.get(tenant_id, start, end) | ||||
|  | ||||
|  | ||||
| def usage_list(request, start, end): | ||||
|     return extras_api(request).usage.list(start, end) | ||||
|  | ||||
|  | ||||
| def user_create(request, user_id, email, password, tenant_id): | ||||
|     return account_api(request).users.create( | ||||
|             user_id, email, password, tenant_id) | ||||
|  | ||||
|  | ||||
| def user_delete(request, user_id): | ||||
|     return account_api(request).users.delete(user_id) | ||||
|  | ||||
|  | ||||
| def user_get(request, user_id): | ||||
|     return account_api(request).users.get(user_id) | ||||
|  | ||||
|  | ||||
| def user_list(request): | ||||
|     return account_api(request).users.list() | ||||
|  | ||||
|  | ||||
| def user_update_email(request, user_id, email): | ||||
|     return account_api(request).users.update_email(user_id, email) | ||||
|  | ||||
|  | ||||
| def user_update_password(request, user_id, password): | ||||
|     return account_api(request).users.update_password(user_id, password) | ||||
|  | ||||
|  | ||||
| def user_update_tenant(request, user_id, tenant_id): | ||||
|     return account_api(request).users.update_tenant(user_id, tenant_id) | ||||
|   | ||||
| @@ -18,10 +18,11 @@ class Login(forms.SelfHandlingForm): | ||||
|  | ||||
|     def handle(self, request, data): | ||||
|         try: | ||||
|             token = api.auth_api().tokens.create("", | ||||
|                                                  data['username'], | ||||
|                                                  data['password']) | ||||
|             info = api.token_info(token) | ||||
|             token = api.token_create(request, | ||||
|                                      "", | ||||
|                                      data['username'], | ||||
|                                      data['password']) | ||||
|             info = api.token_info(request, token) | ||||
|             request.session['token'] = token.id | ||||
|             request.session['user'] = info['user'] | ||||
|             request.session['tenant'] = info['tenant'] | ||||
| @@ -37,6 +38,7 @@ class Login(forms.SelfHandlingForm): | ||||
|         except api_exceptions.Unauthorized as e: | ||||
|             messages.error(request, 'Error authenticating: %s' % e.message) | ||||
|  | ||||
|  | ||||
| def login(request): | ||||
|     if request.user and request.user.is_authenticated(): | ||||
|         if request.user.is_admin(): | ||||
|   | ||||
| @@ -5,4 +5,4 @@ from django_openstack import api | ||||
| def tenants(request): | ||||
|     if not request.user or not request.user.is_authenticated(): | ||||
|         return {} | ||||
|     return {'tenants': api.auth_api().tenants.for_token(request.user.token)} | ||||
|     return {'tenants': api.token_list_tenants(request, request.user.token)} | ||||
|   | ||||
| @@ -67,13 +67,14 @@ class LaunchForm(forms.SelfHandlingForm): | ||||
|     def handle(self, request, data): | ||||
|         image_id = data['image_id'] | ||||
|         try: | ||||
|             image = api.compute_api(request).images.get(image_id) | ||||
|             flavor = api.compute_api(request).flavors.get(data['flavor']) | ||||
|             api.extras_api(request).servers.create(data['name'], | ||||
|                                                    image, | ||||
|                                                    flavor, | ||||
|                                                    user_data=data['user_data'], | ||||
|                                                    key_name=data.get('key_name')) | ||||
|             image = api.image_get(request, image_id) | ||||
|             flavor = api.flavor_get(request, data['flavor']) | ||||
|             api.server_create(request, | ||||
|                               data['name'], | ||||
|                               image, | ||||
|                               flavor, | ||||
|                               user_data=data['user_data'], | ||||
|                               key_name=data.get('key_name')) | ||||
|  | ||||
|             messages.success(request, "Instance was successfully\ | ||||
|                                        launched.") | ||||
| @@ -86,10 +87,10 @@ class LaunchForm(forms.SelfHandlingForm): | ||||
|  | ||||
| @login_required | ||||
| def index(request, tenant_id): | ||||
|     tenant = api.get_tenant(request, request.user.tenant) | ||||
|     tenant = api.token_get_tenant(request, request.user.tenant) | ||||
|     all_images = [] | ||||
|     try: | ||||
|         all_images = api.glance_api(request).get_images_detailed() | ||||
|         all_images = api.image_list_detailed(request) | ||||
|         if not all_images: | ||||
|             messages.info(request, "There are currently no images.") | ||||
|     except GlanceClientConnectionError, e: | ||||
| @@ -121,7 +122,7 @@ def index(request, tenant_id): | ||||
| def launch(request, tenant_id, image_id): | ||||
|     def flavorlist(): | ||||
|         try: | ||||
|             fl = api.extras_api(request).flavors.list() | ||||
|             fl = api.flavor_list(request) | ||||
|  | ||||
|             # TODO add vcpu count to flavors | ||||
|             sel = [(f.id, '%s (%svcpu / %sGB Disk / %sMB Ram )' % | ||||
| @@ -132,14 +133,14 @@ def launch(request, tenant_id, image_id): | ||||
|  | ||||
|     def keynamelist(): | ||||
|         try: | ||||
|             fl = api.extras_api(request).keypairs.list() | ||||
|             fl = api.keypair_list(request) | ||||
|             sel = [(f.key_name, f.key_name) for f in fl] | ||||
|             return sel | ||||
|         except: | ||||
|             return [] | ||||
|  | ||||
|     image = api.compute_api(request).images.get(image_id) | ||||
|     tenant = api.get_tenant(request, request.user.tenant) | ||||
|     image = api.image_get(request, image_id) | ||||
|     tenant = api.token_get_tenant(request, request.user.tenant) | ||||
|  | ||||
|     form, handled = LaunchForm.maybe_handle( | ||||
|             request, initial={'flavorlist': flavorlist(), | ||||
|   | ||||
| @@ -44,10 +44,10 @@ class TerminateInstance(forms.SelfHandlingForm): | ||||
|  | ||||
|     def handle(self, request, data): | ||||
|         instance_id = data['instance'] | ||||
|         instance = api.compute_api(request).servers.get(instance_id) | ||||
|         instance = api.server_get(request, instance_id) | ||||
|  | ||||
|         try: | ||||
|             api.compute_api(request).servers.delete(instance) | ||||
|             api.server_delete(request, instance) | ||||
|         except api_exceptions.ApiException, e: | ||||
|             messages.error(request, | ||||
|                            'Unable to terminate %s: %s' % | ||||
| @@ -65,8 +65,7 @@ class RebootInstance(forms.SelfHandlingForm): | ||||
|     def handle(self, request, data): | ||||
|         instance_id = data['instance'] | ||||
|         try: | ||||
|             server = api.compute_api(request).servers.get(instance_id) | ||||
|             server.reboot(openstack.compute.servers.REBOOT_HARD) | ||||
|             server = api.server_reboot(request, instance_id) | ||||
|             messages.success(request, "Instance rebooting") | ||||
|         except api_exceptions.ApiException, e: | ||||
|             messages.error(request, | ||||
| @@ -84,8 +83,8 @@ def index(request, tenant_id): | ||||
|  | ||||
|     instances = [] | ||||
|     try: | ||||
|         image_dict = api.get_image_cache(request) | ||||
|         instances = api.extras_api(request).servers.list() | ||||
|         image_dict = api.image_all_metadata(request) | ||||
|         instances = api.server_list(request) | ||||
|         for instance in instances: | ||||
|             # FIXME - ported this over, but it is hacky | ||||
|             instance._info['attrs']['image_name'] =\ | ||||
| @@ -117,11 +116,9 @@ def usage(request, tenant_id=None): | ||||
|         tenant_id = request.user.tenant | ||||
|  | ||||
|     try: | ||||
|         usage = api.extras_api(request).usage.get(tenant_id, | ||||
|                                                   datetime_start, datetime_end) | ||||
|         usage = api.usage_get(request, tenant_id, datetime_start, datetime_end) | ||||
|     except api_exceptions.ApiException, e: | ||||
|         messages.error(request, 'Unable to get usage info: %s' % e.message) | ||||
|  | ||||
|     return render_to_response('dash_usage.html', { | ||||
|         'usage': usage, | ||||
|     }, context_instance=template.RequestContext(request)) | ||||
| @@ -130,7 +127,7 @@ def usage(request, tenant_id=None): | ||||
| @login_required | ||||
| def console(request, tenant_id, instance_id): | ||||
|     try: | ||||
|         console = api.extras_api(request).consoles.create(instance_id) | ||||
|         console = api.console_create(request, instance_id) | ||||
|         response = http.HttpResponse(mimetype='text/plain') | ||||
|         response.write(console.output) | ||||
|         response.flush() | ||||
| @@ -145,7 +142,7 @@ def console(request, tenant_id, instance_id): | ||||
| @login_required | ||||
| def vnc(request, tenant_id, instance_id): | ||||
|     try: | ||||
|         console = api.extras_api(request).consoles.create(instance_id, 'vnc') | ||||
|         console = api.console_create(request, instance_id, 'vnc') | ||||
|         return redirect(console.output) | ||||
|     except api_exceptions.ApiException, e: | ||||
|         messages.error(request, | ||||
|   | ||||
| @@ -45,8 +45,7 @@ class DeleteKeypair(forms.SelfHandlingForm): | ||||
|  | ||||
|     def handle(self, request, data): | ||||
|         try: | ||||
|             keypair = api.extras_api(request).keypairs.delete( | ||||
|                                               data['keypair_id']) | ||||
|             keypair = api.keypair_delete(request, data['keypair_id']) | ||||
|             messages.info(request, 'Successfully deleted keypair: %s' \ | ||||
|                                     % data['keypair_id']) | ||||
|         except api_exceptions.ApiException, e: | ||||
| @@ -58,7 +57,7 @@ class CreateKeypair(forms.SelfHandlingForm): | ||||
|  | ||||
|     def handle(self, request, data): | ||||
|         try: | ||||
|             keypair = api.extras_api(request).keypairs.create(data['name']) | ||||
|             keypair = api.keypair_create(request, data['name']) | ||||
|             response = http.HttpResponse(mimetype='application/binary') | ||||
|             response['Content-Disposition'] = \ | ||||
|                 'attachment; filename=%s.pem' % \ | ||||
| @@ -76,7 +75,7 @@ def index(request, tenant_id): | ||||
|         return handled | ||||
|  | ||||
|     try: | ||||
|         keypairs = api.extras_api(request).keypairs.list() | ||||
|         keypairs = api.keypair_list(request) | ||||
|     except api_exceptions.ApiException, e: | ||||
|         keypairs = [] | ||||
|         messages.error(request, 'Error featching keypairs: %s' % e.message) | ||||
|   | ||||
| @@ -24,11 +24,12 @@ class CreateFlavor(forms.SelfHandlingForm): | ||||
|     disk_gb = forms.CharField(max_length="5", label="Disk GB") | ||||
|  | ||||
|     def handle(self, request, data): | ||||
|         api.admin_api(request).flavors.create(data['name'], | ||||
|                                               int(data['memory_mb']), | ||||
|                                               int(data['vcpus']), | ||||
|                                               int(data['disk_gb']), | ||||
|                                               int(data['flavorid'])) | ||||
|         api.flavor_create(request, | ||||
|                           data['name'], | ||||
|                           int(data['memory_mb']), | ||||
|                           int(data['vcpus']), | ||||
|                           int(data['disk_gb']), | ||||
|                           int(data['flavorid'])) | ||||
|         messages.success(request, | ||||
|                 '%s was successfully added to flavors.' % data['name']) | ||||
|         return redirect('syspanel_flavors') | ||||
| @@ -39,7 +40,7 @@ class DeleteFlavor(forms.SelfHandlingForm): | ||||
|  | ||||
|     def handle(self, request, data): | ||||
|         flavor_id = data['flavorid'] | ||||
|         api.admin_api(request).flavors.delete(flavor_id, True) | ||||
|         api.flavor_delete(flavor_id, True) | ||||
|         return redirect(request.build_absolute_uri()) | ||||
|  | ||||
|  | ||||
| @@ -56,7 +57,7 @@ def index(request): | ||||
|  | ||||
|     flavors = [] | ||||
|     try: | ||||
|         flavors = api.admin_api(request).flavors.list() | ||||
|         flavors = api.flavor_list_admin(request) | ||||
|     except api_exceptions.ApiException, e: | ||||
|         messages.error(request, 'Unable to get usage info: %s' % e.message) | ||||
|  | ||||
|   | ||||
| @@ -20,7 +20,7 @@ class DeleteImage(forms.SelfHandlingForm): | ||||
|     def handle(self, request, data): | ||||
|         image_id = data['image_id'] | ||||
|         try: | ||||
|             api.glance_api(request).delete_image(image_id) | ||||
|             api.image_delete(request, image_id) | ||||
|         except GlanceClientConnectionError, e: | ||||
|             messages.error(request, "Error connecting to glance: %s" % e.message) | ||||
|         except glance_exception.Error, e: | ||||
| @@ -32,8 +32,9 @@ class ToggleImage(forms.SelfHandlingForm): | ||||
|     image_id = forms.CharField(required=True) | ||||
|  | ||||
|     def handle(self, request, data): | ||||
|         image_id = data['image_id'] | ||||
|         try: | ||||
|             api.glance_api(request).update_image(image_id, image_meta={'is_public': False}) | ||||
|             api.image_update(request, image_id, image_meta={'is_public': False}) | ||||
|         except GlanceClientConnectionError, e: | ||||
|             messages.error(request, "Error connecting to glance: %s" % e.message) | ||||
|         except glance_exception.Error, e: | ||||
| @@ -56,7 +57,7 @@ def index(request): | ||||
|  | ||||
|     images = [] | ||||
|     try: | ||||
|         images = api.glance_api(request).get_images_detailed() | ||||
|         images = api.image_list_detailed(request) | ||||
|         if not images: | ||||
|             messages.info(request, "There are currently no images.") | ||||
|     except GlanceClientConnectionError, e: | ||||
| @@ -74,7 +75,7 @@ def index(request): | ||||
| @login_required | ||||
| def update(request, image_id): | ||||
|     try: | ||||
|         image = glance_api(request).get_image(image_id)[0] | ||||
|         image = api.image_get(request, image_id) | ||||
|     except GlanceClientConnectionError, e: | ||||
|         messages.error(request, "Error connecting to glance: %s" % e.message) | ||||
|     except glance_exception.Error, e: | ||||
| @@ -100,8 +101,7 @@ def update(request, image_id): | ||||
|                     'architecture': image_form['architecture'], | ||||
|                     'project_id': image_form['project_id'], | ||||
|                 } | ||||
|  | ||||
|                 glance_api(request).update_image(image_id, metadata) | ||||
|                 api.image_update(request, image_id, metadata) | ||||
|                 messages.success(request, "Image was successfully updated.") | ||||
|             except GlanceClientConnectionError, e: | ||||
|                 messages.error(request, "Error connecting to glance: %s" % e.message) | ||||
| @@ -156,7 +156,7 @@ def upload(request): | ||||
|                 messages.error(request, "Image could not be uploaded, please try again.") | ||||
|  | ||||
|             try: | ||||
|                 glance_api(request).add_image(metadata, image['image_file']) | ||||
|                 api.image_create(request, metadata, image['image_file']) | ||||
|             except GlanceClientConnectionError, e: | ||||
|                 messages.error(request, "Error connecting to glance: %s" % e.message) | ||||
|             except glance_exception.Error, e: | ||||
|   | ||||
| @@ -61,7 +61,7 @@ def usage(request): | ||||
|         datetime_end = datetime_start | ||||
|     else: | ||||
|         try: | ||||
|             service_list = api.admin_api(request).services.list() | ||||
|             service_list = api.service_list(request) | ||||
|         except api_exceptions.ApiException, e: | ||||
|             messages.error(request, 'Unable to get service info: %s' % e.message) | ||||
|  | ||||
| @@ -71,7 +71,7 @@ def usage(request): | ||||
|                 max_gigabytes += service.stats['max_gigabytes'] | ||||
|  | ||||
|         try: | ||||
|             usage_list = api.extras_api(request).usage.list(datetime_start, datetime_end) | ||||
|             usage_list = api.usage_list(request, datetime_start, datetime_end) | ||||
|         except api_exceptions.ApiException, e: | ||||
|             messages.error(request, 'Unable to get usage info: %s' % e.message) | ||||
|  | ||||
| @@ -142,7 +142,7 @@ def tenant_usage(request, tenant_id): | ||||
|  | ||||
|     usage = {} | ||||
|     try: | ||||
|         usage = extras_api(request).usage.get(tenant_id, datetime_start, datetime_end) | ||||
|         usage = api.usage_get(request, tenant_id, datetime_start, datetime_end) | ||||
|     except api_exceptions.ApiException, e: | ||||
|         messages.error(request, 'Unable to get usage info: %s' % e.message) | ||||
|  | ||||
| @@ -162,8 +162,8 @@ def index(request): | ||||
|  | ||||
|     instances = [] | ||||
|     try: | ||||
|         image_dict = api.get_image_cache(request) | ||||
|         instances = api.extras_api(request).servers.list() | ||||
|         image_dict = api.image_all_metadata(request) | ||||
|         instances = api.server_list(request) | ||||
|         for instance in instances: | ||||
|             # FIXME - ported this over, but it is hacky | ||||
|             instance._info['attrs']['image_name'] =\ | ||||
|   | ||||
| @@ -28,9 +28,10 @@ class ToggleService(forms.SelfHandlingForm): | ||||
|  | ||||
|     def handle(self, request, data): | ||||
|         try: | ||||
|             service = api.admin_api(request).services.get(data['service']) | ||||
|             api.admin_api(request).services.update(data['service'],  | ||||
|                                                    not service.disabled) | ||||
|             service = api.service_get(request, data['service']) | ||||
|             api.service_update(request, | ||||
|                                data['service'], | ||||
|                                not service.disabled) | ||||
|             if service.disabled: | ||||
|                 messages.info(request, "Service '%s' has been enabled" | ||||
|                                         % data['name']) | ||||
| @@ -53,7 +54,7 @@ def index(request): | ||||
|  | ||||
|     services = [] | ||||
|     try: | ||||
|         services = api.admin_api(request).services.list() | ||||
|         services = api.service_list(request) | ||||
|     except api_exceptions.ApiException, e: | ||||
|         messages.error(request, 'Unable to get service info: %s' % e.message) | ||||
|  | ||||
|   | ||||
| @@ -27,8 +27,10 @@ class CreateTenant(forms.SelfHandlingForm): | ||||
|  | ||||
|     def handle(self, request, data): | ||||
|         try: | ||||
|             api.account_api(request).tenants.create(data['id'], | ||||
|                     data['description'], data['enabled']) | ||||
|             api.tenant_create(request, | ||||
|                               data['id'], | ||||
|                               data['description'], | ||||
|                               data['enabled']) | ||||
|             messages.success(request, | ||||
|                              '%s was successfully created.' | ||||
|                              % data['id']) | ||||
| @@ -45,8 +47,10 @@ class UpdateTenant(forms.SelfHandlingForm): | ||||
|  | ||||
|     def handle(self, request, data): | ||||
|         try: | ||||
|             api.account_api(request).tenants.update(data['id'], | ||||
|                     data['description'], data['enabled']) | ||||
|             api.tenant_update(request, | ||||
|                               data['id'], | ||||
|                               data['description'], | ||||
|                               data['enabled']) | ||||
|             messages.success(request, | ||||
|                              '%s was successfully updated.' | ||||
|                              % data['id']) | ||||
| @@ -59,7 +63,7 @@ class UpdateTenant(forms.SelfHandlingForm): | ||||
| def index(request): | ||||
|     tenants = [] | ||||
|     try: | ||||
|         tenants = api.account_api(request).tenants.list() | ||||
|         tenants = api.tenant_list(request) | ||||
|     except api_exceptions.ApiException, e: | ||||
|         messages.error(request, 'Unable to get tenant info: %s' % e.message) | ||||
|     tenants.sort(key=lambda x: x.id, reverse=True) | ||||
| @@ -88,7 +92,7 @@ def update(request, tenant_id): | ||||
|  | ||||
|     if request.method == 'GET': | ||||
|         try: | ||||
|             tenant = api.account_api(request).tenants.get(tenant_id) | ||||
|             tenant = api.tenant_get(request, tenant_id) | ||||
|             form = UpdateTenant(initial={'id': tenant.id, | ||||
|                                          'description': tenant.description, | ||||
|                                          'enabled': tenant.enabled}) | ||||
|   | ||||
| @@ -38,7 +38,7 @@ class UserDeleteForm(forms.SelfHandlingForm): | ||||
|  | ||||
|     def handle(self, request, data): | ||||
|         user_id = data['user'] | ||||
|         api.account_api(request).users.delete(user_id) | ||||
|         api.user_delete(request, user_id) | ||||
|         messages.success(request, | ||||
|                          '%s was successfully deleted.' | ||||
|                          % user_id) | ||||
| @@ -52,7 +52,7 @@ def index(request): | ||||
|         if handled: | ||||
|             return handled | ||||
|  | ||||
|     users = api.account_api(request).users.list() | ||||
|     users = api.user_list(request) | ||||
|  | ||||
|     user_delete_form = UserDeleteForm() | ||||
|     return render_to_response('syspanel_users.html',{ | ||||
| @@ -64,23 +64,20 @@ def index(request): | ||||
| @login_required | ||||
| def update(request, user_id): | ||||
|     if request.method == "POST": | ||||
|         tenants = api.account_api(request).tenants.list() | ||||
|         tenants = api.tenant_list(request) | ||||
|         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']) | ||||
|                 api.user_update_email(request, user['id'], user['email']) | ||||
|             if user['password']: | ||||
|                 updated.append('password') | ||||
|                 api.account_api(request).users.update_password(user['id'], | ||||
|                                                             user['password']) | ||||
|                 api.user_update_password(request, user['id'], user['password']) | ||||
|             if user['tenant_id']: | ||||
|                 updated.append('tenant') | ||||
|                 api.account_api(request).users.update_tenant(user['id'], | ||||
|                                                              user['tenant_id']) | ||||
|                 api.user_update_tenant(request, user['id'], user['tenant_id']) | ||||
|             messages.success(request, | ||||
|                              'Updated %s for %s.' | ||||
|                              % (', '.join(updated), user_id)) | ||||
| @@ -97,8 +94,8 @@ def update(request, user_id): | ||||
|             }, context_instance = template.RequestContext(request)) | ||||
|  | ||||
|     else: | ||||
|         u = api.account_api(request).users.get(user_id) | ||||
|         tenants = api.account_api(request).tenants.list() | ||||
|         u = api.user_get(request, user_id) | ||||
|         tenants = api.tenant_list(request) | ||||
|         try: | ||||
|             # FIXME | ||||
|             email = u.email | ||||
| @@ -122,7 +119,7 @@ def update(request, user_id): | ||||
|  | ||||
| @login_required | ||||
| def create(request): | ||||
|     tenants = api.account_api(request).tenants.list() | ||||
|     tenants = api.tenant_list(request) | ||||
|  | ||||
|     if request.method == "POST": | ||||
|         form = UserForm(request.POST, tenant_list=tenants) | ||||
| @@ -130,11 +127,12 @@ def create(request): | ||||
|             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) | ||||
|                 api.user_create(request, | ||||
|                                 user['id'], | ||||
|                                 user['email'], | ||||
|                                 user['password'], | ||||
|                                 user['tenant_id'], | ||||
|                                 True) | ||||
|  | ||||
|                 messages.success(request, | ||||
|                                  '%s was successfully created.' | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 termie
					termie