fix error propagation

Change-Id: I3bfa092c9f7f67fd237edb5c770d4fe4f47a1ccd
Signed-off-by: lombardofr <lombardo@everyup.it>
diff --git a/static/src/instancehandler/instance_create.js b/static/src/instancehandler/instance_create.js
index fd6ecfa..124fb05 100644
--- a/static/src/instancehandler/instance_create.js
+++ b/static/src/instancehandler/instance_create.js
@@ -14,6 +14,7 @@
    limitations under the License.
 */
 
+
 function openModalCreatePDU(args) {
     var select2_groups = $('#pdu_vim_accounts').select2({
         placeholder: 'Select Vims',
diff --git a/static/src/instancehandler/instance_list.js b/static/src/instancehandler/instance_list.js
index 5580bbf..d04f465 100644
--- a/static/src/instancehandler/instance_list.js
+++ b/static/src/instancehandler/instance_list.js
@@ -54,7 +54,7 @@
                     }
                     else {
                         dialog.modal('hide');
-                        location.reload();
+                        table.ajax.reload();
                     }
                 },
                 error: function (result) {
@@ -100,7 +100,7 @@
                     }
                     else {
                         dialog.modal('hide');
-                        location.reload();
+                        table.ajax.reload();
                     }
                 },
                 error: function (result) {
@@ -138,7 +138,7 @@
                     }
                     else {
                         dialog.modal('hide');
-                        location.reload();
+                        table.ajax.reload();
                     }
                 },
                 error: function (error) {
@@ -265,6 +265,35 @@
     $(document).on('click', '.interface-group .btn-add', addInterfaceGroup);
     $(document).on('click', '.interface-group .btn-remove', removeInterfaceGroup);
 
+    
+    $("#formCreateNS").submit(function (event) {
+        event.preventDefault(); //prevent default action
+        var post_url = $(this).attr("action"); //get form action url
+        var request_method = $(this).attr("method"); //get form GET/POST method
+        var form_data = new FormData(this); //Encode form elements for submission
+        $.ajax({
+            url: post_url,
+            type: request_method,
+            data: form_data,
+            headers: {
+                "Accept": 'application/json'
+            },
+            contentType: false,
+            processData: false
+        }).done(function (response, textStatus, jqXHR) {
+            table.ajax.reload();
+            $('#modal_new_instance').modal('hide');
+        }).fail(function (result) {
+            var data = result.responseJSON;
+            var title = "Error " + (data.code ? data.code : 'unknown');
+            var message = data.detail ? data.detail : 'No detail available.';
+            bootbox.alert({
+                title: title,
+                message: message
+            });
+        });
+    });
+
     $("#formCreatePDU").submit(function (event) {
         event.preventDefault(); //prevent default action
         var post_url = $(this).attr("action"); //get form action url
diff --git a/static/src/netslicehandler/templates_list.js b/static/src/netslicehandler/templates_list.js
index 813b395..7c52fe7 100644
--- a/static/src/netslicehandler/templates_list.js
+++ b/static/src/netslicehandler/templates_list.js
@@ -14,6 +14,35 @@
    limitations under the License.
 */
 
+$(document).ready(function () {
+    $("#formCreateNSI").submit(function (event) {
+        event.preventDefault(); //prevent default action
+        var post_url = $(this).attr("action"); //get form action url
+        var request_method = $(this).attr("method"); //get form GET/POST method
+        var form_data = new FormData(this); //Encode form elements for submission
+        $.ajax({
+            url: post_url,
+            type: request_method,
+            data: form_data,
+            headers: {
+                "Accept": 'application/json'
+            },
+            contentType: false,
+            processData: false
+        }).done(function (response, textStatus, jqXHR) {
+            window.location.href = '/instances/nsi/list/'
+        }).fail(function (result) {
+            var data = result.responseJSON;
+            var title = "Error " + (data.code ? data.code : 'unknown');
+            var message = data.detail ? data.detail : 'No detail available.';
+            bootbox.alert({
+                title: title,
+                message: message
+            });
+        });
+    });
+});
+
 function deleteTemplate(template_name, template_id) {
     var url = '/netslices/templates/'+template_id+'/delete';
     bootbox.confirm("Are you sure want to delete " + template_name + "?", function (result) {
diff --git a/static/src/packagehandler/packages_list.js b/static/src/packagehandler/packages_list.js
index 0eebca6..f7d5fcf 100644
--- a/static/src/packagehandler/packages_list.js
+++ b/static/src/packagehandler/packages_list.js
@@ -13,6 +13,37 @@
    See the License for the specific language governing permissions and
    limitations under the License.
 */
+$(document).ready(function () {
+    $("#formCreateNS").submit(function (event) {
+        event.preventDefault(); //prevent default action
+        var post_url = $(this).attr("action"); //get form action url
+        var request_method = $(this).attr("method"); //get form GET/POST method
+        var form_data = new FormData(this); //Encode form elements for submission
+        $.ajax({
+            url: post_url,
+            type: request_method,
+            data: form_data,
+            headers: {
+                "Accept": 'application/json'
+            },
+            contentType: false,
+            processData: false
+        }).done(function (response, textStatus, jqXHR) {
+            window.location.href = '/instances/ns/list/';
+            
+        }).fail(function (result) {
+            var data = result.responseJSON;
+            var title = "Error " + (data.code ? data.code : 'unknown');
+            var message = data.detail ? data.detail : 'No detail available.';
+            bootbox.alert({
+                title: title,
+                message: message
+            });
+        });
+    });
+
+    
+});
 
 function deletePackage(package_type, package_id, package_name) {
 
@@ -29,7 +60,7 @@
                 contentType: "application/json;charset=utf-8",
                 success: function (result) {
                     dialog.modal('hide');
-                    location.reload();
+                    table.ajax.reload();
                 },
                 error: function (result) {
                     dialog.modal('hide');
@@ -61,7 +92,7 @@
                 contentType: "application/json;charset=utf-8",
                 success: function (result) {
                     dialog.modal('hide');
-                    location.reload();
+                    table.ajax.reload();
                 },
                 error: function (result) {
                     dialog.modal('hide');