fix error propagation

Change-Id: I3bfa092c9f7f67fd237edb5c770d4fe4f47a1ccd
Signed-off-by: lombardofr <lombardo@everyup.it>
diff --git a/instancehandler/template/modal/instance_create_nsi.html b/instancehandler/template/modal/instance_create_nsi.html
index 21b410a..35e11e1 100644
--- a/instancehandler/template/modal/instance_create_nsi.html
+++ b/instancehandler/template/modal/instance_create_nsi.html
@@ -6,7 +6,7 @@
                     <span aria-hidden="true">×</span></button>
                 <h4 class="modal-title">New NSI</h4>
             </div>
-            <form id="formCreateNS" action='{% url "instances:create" type='nsi' %}'
+            <form id="formCreateNSI" action='{% url "instances:create" type='nsi' %}'
                   class="form-horizontal"
                   method="post" enctype="multipart/form-data">
                 {% csrf_token %}
diff --git a/instancehandler/views.py b/instancehandler/views.py
index bdc85a7..edf0da1 100644
--- a/instancehandler/views.py
+++ b/instancehandler/views.py
@@ -165,10 +165,14 @@
                             ns_data['wimAccountId'] = get_wim_account_id(wim_account)
 
         except Exception as e:
-            request.session["OSM_ERROR"] = "Error creating the NS; Invalid parameters provided."
-            return __response_handler(request, {}, 'instances:list', to_redirect=True, type='ns', )
+            return __response_handler(request, {'status': 400, 'code': 'BAD_REQUEST', 'detail': e.message} , url=None, status=400)
         result = client.ns_create(user.get_token(), ns_data)
-        return __response_handler(request, result, 'instances:list', to_redirect=True, type='ns')
+        print result
+        if result['error']:
+            return __response_handler(request, result['data'], url=None,
+                                  status=result['data']['status'] if 'status' in result['data'] else 500)
+        else:
+            return __response_handler(request, {}, url=None, status=200)
 
     elif type == 'nsi':
         try:
@@ -245,11 +249,14 @@
                             raise ValueError("Error 'additionalParamsForSubnet' items must contain "
                                             "'additionalParamsForNs' and/or 'additionalParamsForVnf'")
         except Exception as e:
-            request.session["OSM_ERROR"] = "Error creating the NSI; Invalid parameters provided."
-            return __response_handler(request, {}, 'instances:list', to_redirect=True, type=type)
+            return __response_handler(request, {'status': 400, 'code': 'BAD_REQUEST', 'detail': e.message} , url=None, status=400)
 
         result = client.nsi_create(user.get_token(), nsi_data)
-        return __response_handler(request, result, 'instances:list', to_redirect=True, type=type)
+        if result['error']:
+            return __response_handler(request, result['data'], url=None,
+                                  status=result['data']['status'] if 'status' in result['data'] else 500)
+        else:
+            return __response_handler(request, {}, url=None, status=200)
 
     elif type == 'pdu':
         interface_param_name = request.POST.getlist('interfaces_name')