From: Javier Garcia <javier.garcial@atos.net>
Date: Fri, 18 Sep 2015 11:33:33 +0000 (+0200)
Subject: SLA plugin: fixed template shown in dialog
X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=deee82377a1f72626cede01fdfec5e9d7cc274ce;p=unfold.git

SLA plugin: fixed template shown in dialog
---

diff --git a/plugins/sladialog/static/js/sladialog.js b/plugins/sladialog/static/js/sladialog.js
index a8f8244c..01eb0afd 100644
--- a/plugins/sladialog/static/js/sladialog.js
+++ b/plugins/sladialog/static/js/sladialog.js
@@ -27,12 +27,11 @@
             this.listen_query(options.query_uuid);
             
             /* GUI setup and event binding */
-
-            // call function
-            this.button_binding();
-
             // Get testbeds with sla and store them in localStorage
             this.get_testbeds_with_sla();
+
+            // call function
+            //this.button_binding();
         },
 
         get_testbeds_with_sla: function () {
@@ -50,36 +49,40 @@
         },
 
         get_sla_templates: function (testbeds) {
+            var self = this;
 
             testbeds.forEach(function(testbed, index, array) {
 
-                if(testbed!="omf:netmode") { return } // TODO: remove
-
-                $.get('/sla/agreements/templates/' + testbed, function(slo) {
-
-                    $(".modal-body #sla_template").append(slo);
-
-                    var content =
-                    "<div id=" + testbed + " class='row' data-urns='[]' style='display: none'>" +
-                        "<div class='col-md-6'>" +
-                            "<p>Testbed <span class='provider'>" + testbed + "</span> offers the following SLA for its resources</p>" +
-                        "/div>" +
-                        "<div class='col-md-1'>" +
-                            "<button class='sla-info-button btn btn-default' data-toggle='modal' data-target='#sla_template_modal'>" +
-                            "<span class='glyphicon glyphicon-info-sign'></span>" +
-                                "Details" +
-                            "</button>" +
-                        "</div>" +
-                        "<div class='col-md-1'>" +
-                            "<button class='sla-accept-button btn btn-default' data-complete-text='Accepted' autocomplete='off'>" +
-                            "<span class='glyphicon glyphicon-ok'></span>" +
-                                "Accept" +
-                            "</button>" +
-                        "</div>" +
-                    "</div>";
-
-                    $("#sla_offers").append(content);
-                });
+                if(testbed=="omf:netmode") { // TODO: Remove
+
+                    $.ajax('/sla/agreements/templates/' + testbed)
+                     .always(function(data) {
+                        $(".modal-body #sla_template").html(data.responseText.replace(/<|>/g, ""));
+
+                        var content =
+                        "<div id=" + testbed.replace(/\.|:/g, "-") + " class='row' data-urns='[]' style='display: none'>" +
+                            "<div class='col-md-6'>" +
+                                "<p>Testbed <span class='provider'>" + testbed + "</span> offers the following SLA for its resources</p>" +
+                            "</div>" +
+                            "<div class='col-md-1'>" +
+                                "<button class='sla-info-button btn btn-default' data-toggle='modal' data-target='#sla_template_modal'>" +
+                                "<span class='glyphicon glyphicon-info-sign'></span>" +
+                                    "Details" +
+                                "</button>" +
+                            "</div>" +
+                            "<div class='col-md-1'>" +
+                                "<button class='sla-accept-button btn btn-default' data-complete-text='Accepted' autocomplete='off'>" +
+                                "<span class='glyphicon glyphicon-ok'></span>" +
+                                    "Accept" +
+                                "</button>" +
+                            "</div>" +
+                        "</div>";
+
+                        $("#sla_offers").append(content);
+
+                        self.button_binding();
+                    });
+                }
             });
         },
 
diff --git a/sla/slicetabsla.py b/sla/slicetabsla.py
index 1e36fcf1..cc26b254 100755
--- a/sla/slicetabsla.py
+++ b/sla/slicetabsla.py
@@ -250,11 +250,12 @@ class AgreementTemplates(FreeAccessView, ThemeView):
         #logger.debug("BBBBB templates: {}".format(templates))
 
         for template in templates:
-            service_level_objectives.append(template.GuaranteeTerm.ServiceLevelObjective)
+            service_level_objectives.append(
+                [v.servicelevelobjective for v in template.guaranteeterms.values()])
 
-        #logger.debug("CCCCC slo: {}".format(service_level_objectives))
+        logger.debug("CCCCC slo: {}".format(service_level_objectives))
 
-        return HttpResponse(service_level_objectives, content_type="application/xml")
+        return HttpResponse(service_level_objectives, content_type="application/json", status=response.status_code)
 
 class CreateAgreement(LoginRequiredView, ThemeView):
     def post(self, request, *args, **kwargs):