X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=plugins%2Fqueryupdater%2Fstatic%2Fjs%2Fqueryupdater.js;h=ac7fc0aeccf3e70f473371fa4db69c8037c6553d;hb=c99f1bd98ff355bd3f63b4929739ea5bd92cd6a3;hp=abcd2d7fc833256e2a6a81099011e5110937400c;hpb=ffc68fa6f93c8acfeb7b4a84a8dbf0ff69af9409;p=unfold.git diff --git a/plugins/queryupdater/static/js/queryupdater.js b/plugins/queryupdater/static/js/queryupdater.js index abcd2d7f..ac7fc0ae 100644 --- a/plugins/queryupdater/static/js/queryupdater.js +++ b/plugins/queryupdater/static/js/queryupdater.js @@ -11,6 +11,9 @@ (function( $ ){ + var debug=false; + debug=true; + // XXX record selected (multiple selection ?) // XXX record disabled ? // XXX out of sync plugin ? @@ -25,8 +28,8 @@ var QueryUpdater = Plugin.extend({ - init: function(options, element) - { + init: function(options, element) { + this.classname="queryupdater"; this._super(options, element); var self = this; @@ -65,11 +68,53 @@ /***************************** GUI EVENTS *****************************/ - do_update: function(e) - { + do_update: function(e) { var self = e.data; + var username = e.data.options.username; + var urn = data.value; // XXX check that the query is not disabled - manifold.raise_event(self.options.query_uuid, RUN_UPDATE); + + console.log("DATA VALUE: " + data.value); + + if (data.value.toLowerCase().indexOf("iminds") >= 0){ + + $('#sla_dialog').show(); + $('#slamodal').modal('show'); + + $(document).ready(function() { + $("#accept_sla").click(function(){ + console.log("SLA ACCEPTED"); + console.log("With username: " + username); + if(urn.toLowerCase().indexOf("wall2") >= 0){ + $.post("/sla/agreements/simplecreate", + { "template_id": "iMindsServiceVirtualwall", + "user": username, + "expiration_time": new Date() // jgarcia: FIXME + }); + } else if(urn.toLowerCase().indexOf("wilab2") >= 0){ + $.post("/sla/agreements/simplecreate", + { "template_id":"iMindsServiceWiLab2", + "user":username, + "expiration_time": new Date() // jgarcia: FIXME + }); + } + $('#slamodal').modal('hide'); + console.log("Executing raise_event after sending SLA"); + // manifold.raise_event(self.options.query_uuid, RUN_UPDATE); + }); + }); + + $(document).ready(function() { + $("#dismiss_sla").click(function(){ + console.log("SLA NOT ACCEPTED"); + $('#slamodal').modal('hide'); + }); + }); + + } else { + console.log("Executing raise_event"); + manifold.raise_event(self.options.query_uuid, RUN_UPDATE); + } }, // related buttons are also disabled in the html template @@ -129,7 +174,9 @@ // make sure the change is visible : toggle on the whole plugin // this might have to be made an 'auto-toggle' option of this plugin.. // also it might be needed to be a little finer-grained here - this.toggle_on(); + + // XXX we don't want to show automaticaly the pending when a checkbox is checked + //this.toggle_on(); switch(data.request) { case FIELD_REQUEST_ADD_RESET: @@ -138,6 +185,8 @@ row = this.find_row(data.value); if (row) this.table.fnDeleteRow(row.nTr); + $("#badge-pending").data('number', $("#badge-pending").data('number') - 1 ); + $("#badge-pending").text($("#badge-pending").data('number')); return; case FIELD_REQUEST_CHANGE: action = 'UPDATE'; @@ -165,10 +214,13 @@ var status = msg + status; + + // find line // if no, create it, else replace it // XXX it's not just about adding lines, but sometimes removing some // XXX how do we handle status reset ? + data.value = JSON.stringify(data.value); row = this.find_row(data.value); newline = [ action, @@ -181,6 +233,8 @@ // XXX second parameter refresh = false can improve performance. todo in querytable also this.table.fnAddData(newline); row = this.find_row(data.value); + $("#badge-pending").data('number', $("#badge-pending").data('number') + 1 ); + $("#badge-pending").text($("#badge-pending").data('number')); } else { // Update row text... this.table.fnUpdate(newline, row.nTr); @@ -268,6 +322,7 @@ on_query_in_progress: function() { + messages.debug("queryupdater.on_query_in_progress"); this.spin(); }, @@ -297,6 +352,7 @@ on_added_record: function(record) { this.set_record_state(record, RECORD_STATE_ADDED); + // update pending number }, on_removed_record: function(record_key)