Add fetch method
This commit is contained in:
parent
290d4ecb6e
commit
8d13c0a4bb
7 changed files with 31 additions and 26 deletions
|
@ -1,6 +1,10 @@
|
||||||
class KHistory {
|
class KHistory {
|
||||||
|
|
||||||
constructor(api_options, display_options) {
|
static get default_options() {
|
||||||
|
return { from: moment().subtract(1, 'days').format('YYYY-MM-DD HH:mm:ss'), };
|
||||||
|
}
|
||||||
|
|
||||||
|
constructor(display_options) {
|
||||||
this.templates = {
|
this.templates = {
|
||||||
'purchase': '<div class="ope"><span class="amount"></span><span class="infos1"></span><span class="infos2"></span><span class="addcost"></span><span class="canceled"></span></div>',
|
'purchase': '<div class="ope"><span class="amount"></span><span class="infos1"></span><span class="infos2"></span><span class="addcost"></span><span class="canceled"></span></div>',
|
||||||
'specialope': '<div class="ope"><span class="amount"></span><span class="infos1"></span><span class="infos2"></span><span class="addcost"></span><span class="canceled"></span></div>',
|
'specialope': '<div class="ope"><span class="amount"></span><span class="infos1"></span><span class="infos2"></span><span class="addcost"></span><span class="canceled"></span></div>',
|
||||||
|
@ -14,26 +18,33 @@ class KHistory {
|
||||||
this._$nb_opes = $('#nb_opes');
|
this._$nb_opes = $('#nb_opes');
|
||||||
|
|
||||||
this.list = new OperationList();
|
this.list = new OperationList();
|
||||||
this.api_options =
|
|
||||||
api_options || { from: moment().subtract(1, 'days').format('YYYY-MM-DD HH:mm:ss'), };
|
|
||||||
this.display_options = display_options || {};
|
this.display_options = display_options || {};
|
||||||
|
|
||||||
this._init_selection();
|
this._init_selection();
|
||||||
this._init_events();
|
this._init_events();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fetch(api_options) {
|
||||||
|
this._$container.html('');
|
||||||
|
this.list.clear();
|
||||||
|
|
||||||
|
if (api_options)
|
||||||
|
this.api_options = api_options;
|
||||||
|
else if (!this.api_options)
|
||||||
|
this.api_options = this.constructor.default_options;
|
||||||
|
|
||||||
|
this.list.fromAPI(this.api_options)
|
||||||
|
.done( () => this.display() );
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
display() {
|
display() {
|
||||||
this.list.display(this._$container, this.templates, this.display_options);
|
this.list.display(this._$container, this.templates, this.display_options);
|
||||||
var nb_opes = this._$container.find('.ope[canceled="false"]').length;
|
var nb_opes = this._$container.find('.ope[canceled="false"]').length;
|
||||||
$('#nb_opes').text(nb_opes);
|
$('#nb_opes').text(nb_opes);
|
||||||
}
|
}
|
||||||
|
|
||||||
reset() {
|
|
||||||
this._$container.html('');
|
|
||||||
this.list.clear();
|
|
||||||
this.list.fromAPI(this.api_options, this.display.bind(this), $.noop);
|
|
||||||
}
|
|
||||||
|
|
||||||
_init_selection() {
|
_init_selection() {
|
||||||
this._$container.selectable({
|
this._$container.selectable({
|
||||||
filter: 'div.opegroup, div.ope',
|
filter: 'div.opegroup, div.ope',
|
||||||
|
|
|
@ -24,6 +24,7 @@ class KPsulManager {
|
||||||
if (!soft) {
|
if (!soft) {
|
||||||
this.checkout_manager.reset();
|
this.checkout_manager.reset();
|
||||||
this.article_manager.reset_data();
|
this.article_manager.reset_data();
|
||||||
|
this.history.fetch();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -105,10 +105,7 @@ $(document).ready(function() {
|
||||||
// Lock to avoid multiple requests
|
// Lock to avoid multiple requests
|
||||||
window.lock = 0;
|
window.lock = 0;
|
||||||
|
|
||||||
var history = new KHistory();
|
var history = new KHistory({'remove_props': ['trigramme']});
|
||||||
history.api_options = {
|
|
||||||
'accounts': [{{ account.pk }}],
|
|
||||||
};
|
|
||||||
|
|
||||||
// -----
|
// -----
|
||||||
// Synchronization
|
// Synchronization
|
||||||
|
@ -116,7 +113,7 @@ $(document).ready(function() {
|
||||||
|
|
||||||
OperationWebSocket.add_handler((data) => history.update_data(data));
|
OperationWebSocket.add_handler((data) => history.update_data(data));
|
||||||
|
|
||||||
Config.reset(history.reset.bind(history));
|
Config.reset(() => history.fetch({'accounts': [{{account.pk}}]}));
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
|
@ -93,10 +93,9 @@ $(document).ready(function() {
|
||||||
data['checkouts'] = checkouts;
|
data['checkouts'] = checkouts;
|
||||||
var accounts = getSelectedMultiple($accounts);
|
var accounts = getSelectedMultiple($accounts);
|
||||||
data['accounts'] = accounts;
|
data['accounts'] = accounts;
|
||||||
history.api_options = data ;
|
|
||||||
|
|
||||||
// Update history
|
// Update history
|
||||||
history.reset();
|
history.fetch(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
$('#from_date').datetimepicker({
|
$('#from_date').datetimepicker({
|
||||||
|
|
|
@ -668,7 +668,7 @@ $(document).ready(function() {
|
||||||
Config.reset(function() {
|
Config.reset(function() {
|
||||||
kpsul.article_manager.reset_data();
|
kpsul.article_manager.reset_data();
|
||||||
displayAddcost();
|
displayAddcost();
|
||||||
kpsul.history.reset();
|
kpsul.history.fetch();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -55,9 +55,6 @@ $(document).ready(function() {
|
||||||
window.lock = 0;
|
window.lock = 0;
|
||||||
|
|
||||||
var history = new KHistory();
|
var history = new KHistory();
|
||||||
history.api_options = {
|
|
||||||
'transfersonly': true,
|
|
||||||
};
|
|
||||||
|
|
||||||
// -----
|
// -----
|
||||||
// Synchronization
|
// Synchronization
|
||||||
|
@ -65,7 +62,7 @@ $(document).ready(function() {
|
||||||
|
|
||||||
OperationWebSocket.add_handler((data) => history.update_data(data));
|
OperationWebSocket.add_handler((data) => history.update_data(data));
|
||||||
|
|
||||||
Config.reset(history.reset.bind(history));
|
Config.reset(() => history.fetch({'transfersonly': true}));
|
||||||
});
|
});
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -1441,11 +1441,11 @@ def kpsul_cancel_operations(request):
|
||||||
@login_required
|
@login_required
|
||||||
def history_json(request):
|
def history_json(request):
|
||||||
# Récupération des paramètres
|
# Récupération des paramètres
|
||||||
from_date = request.POST.get('from', None)
|
from_date = request.GET.get('from', None)
|
||||||
to_date = request.POST.get('to', None)
|
to_date = request.GET.get('to', None)
|
||||||
checkouts = request.POST.getlist('checkouts[]', None)
|
checkouts = request.GET.getlist('checkouts[]', None)
|
||||||
accounts = request.POST.getlist('accounts[]', None)
|
accounts = request.GET.getlist('accounts[]', None)
|
||||||
transfers_only = request.POST.get('transfersonly', None)
|
transfers_only = request.GET.get('transfersonly', None)
|
||||||
|
|
||||||
# Construction de la requête (sur les opérations) pour le prefetch
|
# Construction de la requête (sur les opérations) pour le prefetch
|
||||||
ope_queryset_prefetch = Operation.objects.select_related(
|
ope_queryset_prefetch = Operation.objects.select_related(
|
||||||
|
|
Loading…
Reference in a new issue