{
var query, data;
- // JGLL: TODO These lines should be moved to a different part of the code
- // to avoid a call every time a resource is selected or deselected -> where?
- function get_testbeds_with_sla() {
- return $.ajax({
- url: '/sla/testbeds/',
- async: true
- });
- }
-
query = query_ext.query;
switch(query.object) {
case 'resource':
+
+ var warnings = manifold.query_store.get_record_state(query.query_uuid, record_key, STATE_WARNINGS);
// CONSTRAINT_RESERVABLE_LEASE
//
// +) If a reservable node is added to the slice, then it should have a corresponding lease
// XXX Not always a resource
var is_reservable = (record.exclusive == true);
if (is_reservable) {
- var warnings = manifold.query_store.get_record_state(query.query_uuid, record_key, STATE_WARNINGS);
+ // var warnings = manifold.query_store.get_record_state(query.query_uuid, record_key, STATE_WARNINGS);
if (event_type == STATE_SET_ADD) {
// We should have a lease_query associated
var warn = CONSTRAINT_RESERVABLE_LEASE_MSG;
warnings[CONSTRAINT_RESERVABLE_LEASE] = warn;
- manifold.query_store.set_record_state(query.query_uuid, record_key, STATE_WARNINGS, warnings);
+ /*manifold.query_store.set_record_state(query.query_uuid, record_key, STATE_WARNINGS, warnings);
// Signal the change to plugins (even if the constraint does not apply, so that the plugin can display a checkmark)
data = {
state: STATE_WARNINGS,
op : null,
value : warnings
}
- manifold.raise_record_event(query.query_uuid, FIELD_STATE_CHANGED, data);
+ manifold.raise_record_event(query.query_uuid, FIELD_STATE_CHANGED, data);*/
} else {
// Lease are defined, delete the warning in case it was set previously
}
}
+ /*var urn_regexp = /\+(.*?)\+/;
+ var testbed_urn = urn_regexp.exec(record.urn)[1];
+ var has_sla = $.inArray(testbed_urn, localStorage.getItem("sla_testbeds").split(",")) != -1;
+
+ if (has_sla) {
+ // var warnings = manifold.query_store.get_record_state(query.query_uuid, record_key, STATE_WARNINGS);
+
+ if (event_type == STATE_SET_ADD) {
+ var warn = CONSTRAINT_SLA_MSG;
+ warnings[CONSTRAINT_SLA] = warn;
+ } else {
+ delete warnings[CONSTRAINT_SLA];
+ }
+ }*/
+
+ manifold.query_store.set_record_state(query.query_uuid, record_key, STATE_WARNINGS, warnings);
+ // Signal the change to plugins (even if the constraint does not apply, so that the plugin can display a checkmark)
+ data = {
+ state: STATE_WARNINGS,
+ key : record_key,
+ op : null,
+ value : warnings
+ }
+ manifold.raise_record_event(query.query_uuid, FIELD_STATE_CHANGED, data);
+
// JGLL: SLA code
/*get_testbeds_with_sla()
.done( function(testbeds) {
switch(event_type) {
case STATUS_REMOVE_WARNING:
record = manifold.query_store.get_record(query_uuid, data.value);
- this._enforce_constraints(query_ext, record, data.value, STATE_SET_ADD);
+ this._enforce_constraints(query_ext, record, data.value, STATE_SET_REMOVE);
+ break;
// XXX At some point, should be renamed to RECORD_STATE_CHANGED
case FIELD_STATE_CHANGED:
var SlaDialog = Plugin.extend({
accepted_slas: {},
+ queries: [],
/** XXX to check
* @brief Plugin constructor
// call function
this.button_binding();
+ // Get testbeds with sla and store them in localStorage
+ //this.get_testbeds_with_sla();
+
+ },
+
+ get_testbeds_with_sla: function () {
+ return $.get('/sla/testbeds/', function(data) {
+ if (typeof(Storage) !== "undefined") {
+ if (!localStorage.getItem("sla_testbeds")) {
+ var testbeds = data;
+ localStorage.setItem("sla_testbeds", testbeds);
+ }
+ }
+ });
},
find_row: function(key)
self.accepted_slas[id] = true;
var is_ok = self.check_template_status();
+ $(".sla-alert").show();
+ $(this).button("complete");
+ $(this).prop("disabled", true);
+
if (is_ok) {
// remove warnings
// var warnings = manifold.query_store.get_record_state(resource_query.query_uuid, resource_key, STATE_WARNINGS);
}
});
+
+ $(".sla-alert-close").click(function() {
+ $(this).closest(".sla-alert").hide();
+ });
},
create_sla: function(record) {
if ($("#" + id_ref).data("urns").length == 0) {
$("#" + id_ref).hide();
delete self.accepted_slas[id_ref];
+ $(".sla-accept-button").button("reset");
+ $(".sla-accept-button").prop("disabled", false);
}
//$( "#sla_offers_list" ).append(
// $("<li>").text("Testbed " + testbeds[pos] + " offers SLA for its resources")
</div>
</div>
</div>
+ <div class="sla-alert" hidden="hidden">
+ <div class="alert alert-success fade in">
+ <a href="#" class="sla-alert-close">×</a>
+ <strong>Accepted!</strong> The SLA has been accepted.
+ </div>
+ </div>
<div id="sla_offers" class="container">
<div id="fuseco-fokus-fraunhofer-de" class="row" data-urns="[]" style="display: none">
<div class="col-md-6">
</button>
</div>
<div class="col-md-1">
- <button class="sla-accept-button btn btn-default">
+ <button class="sla-accept-button btn btn-default" data-complete-text="Accepted" autocomplete="off">
<span class="glyphicon glyphicon-ok"></span>
Accept
</button>
</button>
</div>
<div class="col-md-1">
- <button class="sla-accept-button btn btn-default">
+ <button class="sla-accept-button btn btn-default" data-complete-text="Accepted" autocomplete="off">
<span class="glyphicon glyphicon-ok"></span>
Accept
</button>
</button>
</div>
<div class="col-md-1">
- <button class="sla-accept-button btn btn-default">
+ <button class="sla-accept-button btn btn-default" data-complete-text="Accepted" autocomplete="off">
<span class="glyphicon glyphicon-ok"></span>
Accept
</button>
</button>
</div>
<div class="col-md-1">
- <button class="sla-accept-button btn btn-default">
+ <button class="sla-accept-button btn btn-default" data-complete-text="Accepted" autocomplete="off">
<span class="glyphicon glyphicon-ok"></span>
Accept
</button>