@@ -54,7 +61,6 @@
{% endblock extrajs %}
-
{% block extracss %}
{% endblock extracss %}
diff --git a/apimanager/webui/views.py b/apimanager/webui/views.py
index e3fce9b..44cfa4c 100644
--- a/apimanager/webui/views.py
+++ b/apimanager/webui/views.py
@@ -13,19 +13,7 @@ from django.http import JsonResponse
from .forms import WebuiForm
from django.urls import reverse_lazy
from django.views.decorators.csrf import csrf_exempt
-
-
-def error_once_only(request, err):
- """
- Just add the error once
- :param request:
- :param err:
- :return:
- """
- storage = messages.get_messages(request)
- if str(err) not in [str(m.message) for m in storage]:
- messages.error(request, err)
-
+from utils.ErrorHandler import exception_handle, error_once_only
class IndexView(LoginRequiredMixin, FormView):
"""Index view for config"""
@@ -58,6 +46,7 @@ class IndexView(LoginRequiredMixin, FormView):
# }
# ]
# }
+ #print(response)
context.update(response)
except APIError as err:
messages.error(self.request, Exception("The OBP-API server is not running or does not respond properly."
@@ -71,7 +60,7 @@ class IndexView(LoginRequiredMixin, FormView):
form = super(IndexView, self).get_form(*args, **kwargs)
return form
-
+@exception_handle
@csrf_exempt
def webui_save(request):
web_ui_props_name = request.POST.get('web_ui_props_name')
@@ -81,58 +70,22 @@ def webui_save(request):
'name': web_ui_props_name,
'value': web_ui_props_value
}
-
- response = __send_request(request, '/management/webui_props', 'post', payload)
- status_code = response['code']
-
- errors = [str(m.message) for m in messages.get_messages(request)]
- response = JsonResponse(
- {'code': status_code, 'errors': errors, 'web_ui_props_id': response['result'].get('web_ui_props_id')})
- response.status_code = status_code
+ api = API(request.session.get('obp'))
+ urlpath = '/management/webui_props'
+ response = api.post(urlpath, payload=payload)
+
return response
-
+@exception_handle
@csrf_exempt
def webui_delete(request):
web_ui_props_id = request.POST.get('web_ui_props_id')
web_ui_props_name = request.POST.get('web_ui_props_name')
if web_ui_props_id == 'default' or web_ui_props_id == '' or web_ui_props_id is None:
- status_code = 200
+ return {'code':403,'message':'Cann\'t delete web_ui_props_id default'}
else:
- status_code = __send_request(request, '/management/webui_props/' + web_ui_props_id, 'delete')['code']
- default_value = ''
- if 200 <= status_code <= 299:
- all_webui = __send_request(request, '/management/webui_props?active=true', 'get')
- status_code = all_webui['code']
- for v in all_webui['result']['webui_props']:
- if v['name'] == web_ui_props_name:
- default_value = v['value']
- break
-
- errors = [str(m.message) for m in messages.get_messages(request)]
- response = JsonResponse({'code': status_code, 'errors': errors, 'default_value': default_value})
- response.status_code = status_code
- return response
-
-
-def __send_request(request, url, method_name, payload=None):
- api = API(request.session.get('obp'))
- code = 200
- try:
- if payload:
- result = getattr(api, method_name)(url, payload=payload)
- else:
- result = getattr(api, method_name)(url)
- except APIError as err:
- code = 500
- error_once_only(request, APIError(Exception("The OBP-API server is not running or does not respond properly."
- "Please check OBP-API server. Details: " + str(err))))
- except Exception as err:
- code = 500
- error_once_only(request, "Unknown Error. Details: " + str(err))
-
- if 'code' in result and result['code'] >= 400:
- code = int(result['code'])
- error_once_only(request, result['message'])
-
- return {'code': code, 'result': result}
+ api = API(request.session.get('obp'))
+ urlpath = '/management/webui_props/{}'.format(web_ui_props_id)
+ result = api.delete(urlpath)
+ print(result)
+ return result