fix error handling nsd/vnd composer; promt for cp-ref

Change-Id: Icbec00681fa1274f7d242505d4f9bf9b3c755c4e
Signed-off-by: lombardofr <lombardo@everyup.it>
diff --git a/descriptorhandler/template/descriptor_view.html b/descriptorhandler/template/descriptor_view.html
index 2a18666..8a3fd3e 100644
--- a/descriptorhandler/template/descriptor_view.html
+++ b/descriptorhandler/template/descriptor_view.html
@@ -29,8 +29,8 @@
 {% block nav_buttons_list %}
     {{ block.super }}
     <li class="pull-right"><button id="save" type="button" class="btn btn-block btn-primary btn-sm"  onclick="update(this.id)" ><i class="fa fa-save"></i> Update</button></li>
-    <li class="pull-right"><button id="save_show_graph" type="button" class="btn btn-block btn-primary btn-sm"  onclick="update(this.id)" disabled><i class="fa fa-save"></i> Update and Show Graph</button></li>
-    <li class="pull-right"><button type="button" class="btn btn-block btn-primary btn-sm"  onclick="goToGraph()" disabled><i class="fa fa-sitemap"></i> Show Graph</button></li>
+    <li class="pull-right"><button id="save_show_graph" type="button" class="btn btn-block btn-primary btn-sm"  onclick="update(this.id, 'true')"><i class="fa fa-save"></i> Update and Show Graph</button></li>
+    <li class="pull-right"><button type="button" class="btn btn-block btn-primary btn-sm"  onclick="goToGraph()"><i class="fa fa-sitemap"></i> Show Graph</button></li>
 
 {% endblock %}
 
@@ -79,7 +79,7 @@
     });
 
 
-    function update(e) {
+    function update(e, show_graph) {
         var dialog = bootbox.dialog({
             message: '<div class="text-center"><i class="fa fa-spin fa-spinner"></i> Loading...</div>',
             closeButton: false
@@ -107,6 +107,9 @@
                 'text': text
             },
             success: function (result) {
+                if(show_graph){
+                    goToGraph();
+                }
                 dialog.modal('hide');
                 $("#success-alert").fadeTo(2000, 500).slideDown(500, function(){
                     setTimeout(function () {
@@ -116,9 +119,14 @@
                 });
             },
             error: function (result) {
-                console.log(result);
                 dialog.modal('hide');
-                bootbox.alert(result);
+                var data = result.responseJSON;
+                var title = "Error " + (data && data.code ? data.code : 'unknown');
+                var message = data && data.detail ? data.detail : 'No detail available.';
+                bootbox.alert({
+                    title: title,
+                    message: message
+                });
             }
         });
     }
diff --git a/descriptorhandler/template/descriptor_view_base.html b/descriptorhandler/template/descriptor_view_base.html
index 918e810..6f7618a 100644
--- a/descriptorhandler/template/descriptor_view_base.html
+++ b/descriptorhandler/template/descriptor_view_base.html
@@ -135,7 +135,7 @@
 
 
         function goToGraph() {
-            window.location.href = '/projects/graph?type={{descriptor_type}}&id={{descriptor_id}}'
+            window.location.href = '/projects/descriptors/composer?type={{descriptor_type}}&id={{descriptor_id}}'
         }
     </script>
 {% endblock %}
diff --git a/descriptorhandler/views.py b/descriptorhandler/views.py
index fda9aff..5824e57 100644
--- a/descriptorhandler/views.py
+++ b/descriptorhandler/views.py
@@ -216,6 +216,7 @@
 
             return __response_handler(request, result_graph, url=None, status=200)
 
+
 @login_required
 def updateElement(request, descriptor_type=None, descriptor_id=None, element_type=None):
     user = osmutils.get_user(request)