forked from DGNum/gestioCOF
Improve websocket filter for special history pages
This commit is contained in:
parent
7a00096170
commit
66c5a6953c
4 changed files with 44 additions and 7 deletions
|
@ -138,6 +138,30 @@ class History {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
is_valid(opegroup) {
|
||||||
|
var options = this.api_options;
|
||||||
|
|
||||||
|
if (options.from && dateUTCToParis(opegroup.content.at).isBefore(moment(options.from)))
|
||||||
|
return false;
|
||||||
|
|
||||||
|
if (options.to && dateUTCToParis(opegroup.content.at).isAfter(moment(options.to)))
|
||||||
|
return false;
|
||||||
|
|
||||||
|
if (options.transfersonly && opegroup.type === 'opegroup')
|
||||||
|
return false;
|
||||||
|
|
||||||
|
if (options.accounts && options.accounts.length &&
|
||||||
|
options.accounts.indexOf(opegroup.content.account_id) < 0)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
if (options.checkouts && options.checkouts.length &&
|
||||||
|
(opegroup.type === 'transfergroup' ||
|
||||||
|
options.checkouts.indexOf(opegroup.content.checkout_id) < 0))
|
||||||
|
return false;
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
update_data(data) {
|
update_data(data) {
|
||||||
//Filter opegroups before ?
|
//Filter opegroups before ?
|
||||||
var opegroups = data['opegroups'];
|
var opegroups = data['opegroups'];
|
||||||
|
@ -164,10 +188,7 @@ class History {
|
||||||
this.update_node('opegroup', opegroup.id, update_data);
|
this.update_node('opegroup', opegroup.id, update_data);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (opegroup['add']) {
|
if (opegroup['add'] && this.is_valid(opegroup)) {
|
||||||
if (opegroup.type === 'opegroup' && this.api_options.transfersonly)
|
|
||||||
return;
|
|
||||||
|
|
||||||
this.add_node(opegroup);
|
this.add_node(opegroup);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -78,7 +78,20 @@ $(document).ready(function() {
|
||||||
'accounts': [{{ account.pk }}],
|
'accounts': [{{ account.pk }}],
|
||||||
};
|
};
|
||||||
|
|
||||||
//TODO: add ws support ?
|
// -----
|
||||||
|
// Synchronization
|
||||||
|
// -----
|
||||||
|
|
||||||
|
var websocket_msg_default = {'opegroups':[],'opes':[]}
|
||||||
|
|
||||||
|
var websocket_protocol = window.location.protocol == 'https:' ? 'wss' : 'ws';
|
||||||
|
var location_host = window.location.host;
|
||||||
|
var location_url = window.location.pathname.startsWith('/gestion/') ? location_host + '/gestion' : location_host;
|
||||||
|
var socket = new ReconnectingWebSocket(websocket_protocol+"://" + location_url + "/ws/k-fet/k-psul/");
|
||||||
|
socket.onmessage = function(e) {
|
||||||
|
var data = $.extend({}, websocket_msg_default, JSON.parse(e.data));
|
||||||
|
history.update_data(data);
|
||||||
|
}
|
||||||
|
|
||||||
history.reset();
|
history.reset();
|
||||||
});
|
});
|
||||||
|
|
|
@ -115,7 +115,7 @@ $(document).ready(function() {
|
||||||
timeZone : 'Europe/Paris',
|
timeZone : 'Europe/Paris',
|
||||||
format : 'YYYY-MM-DD HH:mm',
|
format : 'YYYY-MM-DD HH:mm',
|
||||||
stepping : 5,
|
stepping : 5,
|
||||||
defaultDate: moment(),
|
defaultDate: moment().add(5, 'minutes'), // workaround for 'stepping' rounding
|
||||||
locale : 'fr',
|
locale : 'fr',
|
||||||
showTodayButton: true,
|
showTodayButton: true,
|
||||||
});
|
});
|
||||||
|
|
|
@ -1060,8 +1060,11 @@ def kpsul_perform_operations(request):
|
||||||
'is_cof': operationgroup.is_cof,
|
'is_cof': operationgroup.is_cof,
|
||||||
'comment': operationgroup.comment,
|
'comment': operationgroup.comment,
|
||||||
'valid_by': (operationgroup.valid_by and
|
'valid_by': (operationgroup.valid_by and
|
||||||
operationgroup.valid_by.trigramme or None),
|
operationgroup.valid_by.trigramme or None),
|
||||||
'trigramme': operationgroup.on_acc.trigramme,
|
'trigramme': operationgroup.on_acc.trigramme,
|
||||||
|
# Used to filter websocket updates
|
||||||
|
'account_id': operationgroup.on_acc.pk,
|
||||||
|
'checkout_id': operationgroup.checkout.pk,
|
||||||
},
|
},
|
||||||
'parent': {
|
'parent': {
|
||||||
'type': 'day',
|
'type': 'day',
|
||||||
|
|
Loading…
Reference in a new issue