diff --git a/cloudkittydashboard/dashboards/admin/hashmap/forms.py b/cloudkittydashboard/dashboards/admin/hashmap/forms.py index 67da4e2..d4681e5 100644 --- a/cloudkittydashboard/dashboards/admin/hashmap/forms.py +++ b/cloudkittydashboard/dashboards/admin/hashmap/forms.py @@ -15,7 +15,9 @@ from decimal import Decimal import logging from django.utils.translation import ugettext_lazy as _ +from horizon import exceptions as horizon_exceptions from horizon import forms +from horizon import messages from keystoneauth1 import exceptions from cloudkittydashboard.api import cloudkitty as api @@ -61,7 +63,15 @@ class CreateServiceForm(forms.SelfHandlingForm): service = data['custom_service'] services_mgr = api.cloudkittyclient(request).rating.hashmap LOG.info('Creating service with name %s' % (service)) - return services_mgr.create_service(name=service) + try: + service = services_mgr.create_service(name=service) + messages.success( + request, + _('Service was successfully created')) + return service + except Exception: + horizon_exceptions.handle(request, + _("Unable to create new service.")) def __init__(self, request, *args, **kwargs): super(CreateServiceForm, self).__init__(request, *args, **kwargs) diff --git a/cloudkittydashboard/dashboards/admin/modules/forms.py b/cloudkittydashboard/dashboards/admin/modules/forms.py index 7cc6a2e..c75ccf3 100644 --- a/cloudkittydashboard/dashboards/admin/modules/forms.py +++ b/cloudkittydashboard/dashboards/admin/modules/forms.py @@ -13,7 +13,9 @@ # under the License. from django.utils.translation import ugettext_lazy as _ +from horizon import exceptions from horizon import forms +from horizon import messages from cloudkittydashboard.api import cloudkitty as api @@ -23,7 +25,12 @@ class EditPriorityForm(forms.SelfHandlingForm): def handle(self, request, data): ck_client = api.cloudkittyclient(request) - return ck_client.rating.update_module( - module_id=self.initial["module_id"], - priority=data["priority"] - ) + try: + priority = ck_client.rating.update_module( + module_id=self.initial["module_id"], priority=data["priority"]) + messages.success( + request, + _('Successfully updated priority')) + return priority + except Exception: + exceptions.handle(request, _("Unable to update priority.")) diff --git a/cloudkittydashboard/dashboards/admin/pyscripts/forms.py b/cloudkittydashboard/dashboards/admin/pyscripts/forms.py index 1a43c44..5cf954a 100644 --- a/cloudkittydashboard/dashboards/admin/pyscripts/forms.py +++ b/cloudkittydashboard/dashboards/admin/pyscripts/forms.py @@ -16,7 +16,9 @@ import logging from django.utils.text import normalize_newlines from django.utils.translation import ugettext_lazy as _ +from horizon import exceptions from horizon import forms +from horizon import messages from cloudkittydashboard.api import cloudkitty as api @@ -92,9 +94,16 @@ class CreateScriptForm(forms.SelfHandlingForm): name = data['name'] LOG.info('Creating script with name %s' % (name)) ck_client = api.cloudkittyclient(request) - return ck_client.rating.pyscripts.create_script( - name=name, - data=data['script_data']) + try: + script = ck_client.rating.pyscripts.create_script( + name=name, + data=data['script_data']) + messages.success( + request, + _('Successfully created script')) + return script + except Exception: + exceptions.handle(request, _("Unable to create script.")) class EditScriptForm(CreateScriptForm): @@ -111,5 +120,13 @@ class EditScriptForm(CreateScriptForm): script_id = self.initial['script_id'] LOG.info('Updating script with id %s' % (script_id)) ck_client = api.cloudkittyclient(request) - return ck_client.rating.pyscripts.update_script( - script_id=script_id, name=data['name'], data=data['script_data']) + try: + script = ck_client.rating.pyscripts.update_script( + script_id=script_id, name=data['name'], + data=data['script_data']) + messages.success( + request, + _('Successfully updated script')) + return script + except Exception: + exceptions.handle(request, _("Unable to update script."))