forked from DGNum/gestioCOF
Pas besoin de ws pour les suppressions
This commit is contained in:
parent
550a073d51
commit
49ef8b3c15
3 changed files with 41 additions and 47 deletions
|
@ -35,14 +35,14 @@ function KHistory(options = {}) {
|
||||||
var is_cof = opegroup['is_cof'];
|
var is_cof = opegroup['is_cof'];
|
||||||
var type = opegroup['type']
|
var type = opegroup['type']
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case 'opegroup':
|
case 'operation':
|
||||||
for (let ope of opegroup['opes']) {
|
for (let ope of opegroup['opes']) {
|
||||||
var $ope = this._opeHtml(ope, is_cof, trigramme);
|
var $ope = this._opeHtml(ope, is_cof, trigramme);
|
||||||
$ope.data('opegroup', opegroup['id']);
|
$ope.data('opegroup', opegroup['id']);
|
||||||
$opegroup.after($ope);
|
$opegroup.after($ope);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'transfergroup':
|
case 'transfer':
|
||||||
for (let transfer of opegroup['opes']) {
|
for (let transfer of opegroup['opes']) {
|
||||||
var $transfer = this._transferHtml(transfer);
|
var $transfer = this._transferHtml(transfer);
|
||||||
$transfer.data('transfergroup', opegroup['id']);
|
$transfer.data('transfergroup', opegroup['id']);
|
||||||
|
@ -80,7 +80,7 @@ function KHistory(options = {}) {
|
||||||
}
|
}
|
||||||
|
|
||||||
$ope_html
|
$ope_html
|
||||||
.data('type', 'ope')
|
.data('type', 'operation')
|
||||||
.data('id', ope['id'])
|
.data('id', ope['id'])
|
||||||
.find('.amount').text(amount).end()
|
.find('.amount').text(amount).end()
|
||||||
.find('.infos1').text(infos1).end()
|
.find('.infos1').text(infos1).end()
|
||||||
|
@ -119,7 +119,7 @@ function KHistory(options = {}) {
|
||||||
|
|
||||||
this.cancelOpe = function (ope, $ope = null) {
|
this.cancelOpe = function (ope, $ope = null) {
|
||||||
if (!$ope)
|
if (!$ope)
|
||||||
$ope = this.findOpe(ope['id'], ope["type"]);
|
$ope = this.findOpe(ope["id"], ope["type"]);
|
||||||
|
|
||||||
var cancel = 'Annulé';
|
var cancel = 'Annulé';
|
||||||
var canceled_at = dateUTCToParis(ope['canceled_at']);
|
var canceled_at = dateUTCToParis(ope['canceled_at']);
|
||||||
|
@ -135,13 +135,13 @@ function KHistory(options = {}) {
|
||||||
|
|
||||||
|
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case 'opegroup':
|
case 'operation':
|
||||||
var $opegroup_html = $(this.template_opegroup);
|
var $opegroup_html = $(this.template_opegroup);
|
||||||
var trigramme = opegroup['on_acc__trigramme'];
|
var trigramme = opegroup['on_acc__trigramme'];
|
||||||
var amount = amountDisplay(
|
var amount = amountDisplay(
|
||||||
parseFloat(opegroup['amount']), opegroup['is_cof'], trigramme);
|
parseFloat(opegroup['amount']), opegroup['is_cof'], trigramme);
|
||||||
break;
|
break;
|
||||||
case 'transfergroup':
|
case 'transfer':
|
||||||
var $opegroup_html = $(this.template_transfergroup);
|
var $opegroup_html = $(this.template_transfergroup);
|
||||||
$opegroup_html.find('.infos').text('Transferts').end()
|
$opegroup_html.find('.infos').text('Transferts').end()
|
||||||
var trigramme = '';
|
var trigramme = '';
|
||||||
|
@ -183,20 +183,20 @@ function KHistory(options = {}) {
|
||||||
return $day.data('date', at_ser).text(at.format('D MMMM YYYY'));
|
return $day.data('date', at_ser).text(at.format('D MMMM YYYY'));
|
||||||
}
|
}
|
||||||
|
|
||||||
this.findOpeGroup = function (id) {
|
this.findOpeGroup = function (id, type = "operation") {
|
||||||
return this.$container.find('.opegroup').filter(function () {
|
return this.$container.find('.opegroup').filter(function () {
|
||||||
return $(this).data('opegroup') == id
|
return ($(this).data('id') == id && $(this).data("type") == type)
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
this.findOpe = function (id, type = 'ope') {
|
this.findOpe = function (id, type = 'operation') {
|
||||||
return this.$container.find('.ope').filter(function () {
|
return this.$container.find('.ope').filter(function () {
|
||||||
return ($(this).data('id') == id && $(this).data('type') == type)
|
return ($(this).data('id') == id && $(this).data('type') == type)
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
this.cancelOpeGroup = function (opegroup) {
|
this.update_opegroup = function (opegroup, type = "operation") {
|
||||||
var $opegroup = this.findOpeGroup(opegroup['id']);
|
var $opegroup = this.findOpeGroup(opegroup['id'], type);
|
||||||
var trigramme = $opegroup.find('.trigramme').text();
|
var trigramme = $opegroup.find('.trigramme').text();
|
||||||
var amount = amountDisplay(
|
var amount = amountDisplay(
|
||||||
parseFloat(opegroup['amount']), opegroup['is_cof'], trigramme);
|
parseFloat(opegroup['amount']), opegroup['is_cof'], trigramme);
|
||||||
|
@ -218,13 +218,14 @@ function KHistory(options = {}) {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
this.cancel = function (type, opes, password = "") {
|
this._cancel = function (type, opes, password = "") {
|
||||||
if (window.lock == 1)
|
if (window.lock == 1)
|
||||||
return false
|
return false
|
||||||
window.lock = 1;
|
window.lock = 1;
|
||||||
|
var that = this;
|
||||||
$.ajax({
|
$.ajax({
|
||||||
dataType: "json",
|
dataType: "json",
|
||||||
url: django_urls[`kfet.${type}.cancel`](),
|
url: django_urls[`kfet.${type}s.cancel`](),
|
||||||
method: "POST",
|
method: "POST",
|
||||||
data: opes,
|
data: opes,
|
||||||
beforeSend: function ($xhr) {
|
beforeSend: function ($xhr) {
|
||||||
|
@ -235,6 +236,16 @@ function KHistory(options = {}) {
|
||||||
|
|
||||||
}).done(function (data) {
|
}).done(function (data) {
|
||||||
window.lock = 0;
|
window.lock = 0;
|
||||||
|
that.$container.find('.ui-selected').removeClass('ui-selected');
|
||||||
|
for (let ope of data["canceled"]) {
|
||||||
|
ope["type"] = type;
|
||||||
|
that.cancelOpe(ope);
|
||||||
|
}
|
||||||
|
if (type == "operation") {
|
||||||
|
for (let opegroup of data["opegroups_to_update"]) {
|
||||||
|
that.update_opegroup(opegroup)
|
||||||
|
}
|
||||||
|
}
|
||||||
}).fail(function ($xhr) {
|
}).fail(function ($xhr) {
|
||||||
var data = $xhr.responseJSON;
|
var data = $xhr.responseJSON;
|
||||||
switch ($xhr.status) {
|
switch ($xhr.status) {
|
||||||
|
@ -274,10 +285,10 @@ function KHistory(options = {}) {
|
||||||
});
|
});
|
||||||
} else if (opes_to_cancel["transfers"].length > 0) {
|
} else if (opes_to_cancel["transfers"].length > 0) {
|
||||||
delete opes_to_cancel["operations"];
|
delete opes_to_cancel["operations"];
|
||||||
this.cancel("transfers", opes_to_cancel);
|
this._cancel("transfer", opes_to_cancel);
|
||||||
} else if (opes_to_cancel["operations"].length > 0) {
|
} else if (opes_to_cancel["operations"].length > 0) {
|
||||||
delete opes_to_cancel["transfers"];
|
delete opes_to_cancel["transfers"];
|
||||||
this.cancel("operations", opes_to_cancel);
|
this._cancel("operation", opes_to_cancel);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1256,13 +1256,6 @@ $(document).ready(function() {
|
||||||
for (var i=0; i<data['opegroups'].length; i++) {
|
for (var i=0; i<data['opegroups'].length; i++) {
|
||||||
if (data['opegroups'][i]['add']) {
|
if (data['opegroups'][i]['add']) {
|
||||||
khistory.addOpeGroup(data['opegroups'][i]);
|
khistory.addOpeGroup(data['opegroups'][i]);
|
||||||
} else if (data['opegroups'][i]['cancellation']) {
|
|
||||||
khistory.cancelOpeGroup(data['opegroups'][i]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
for (var i=0; i<data['opes'].length; i++) {
|
|
||||||
if (data['opes'][i]['cancellation']) {
|
|
||||||
khistory.cancelOpe(data['opes'][i]);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (var i=0; i<data['checkouts'].length; i++) {
|
for (var i=0; i<data['checkouts'].length; i++) {
|
||||||
|
|
|
@ -1364,7 +1364,11 @@ def cancel_operations(request):
|
||||||
.filter(pk__in=opegroups_pk)
|
.filter(pk__in=opegroups_pk)
|
||||||
.order_by("pk")
|
.order_by("pk")
|
||||||
)
|
)
|
||||||
opes = sorted(opes)
|
opes = (
|
||||||
|
Operation.objects.values("id", "canceled_at", "canceled_by__trigramme")
|
||||||
|
.filter(pk__in=opes)
|
||||||
|
.order_by("pk")
|
||||||
|
)
|
||||||
checkouts_pk = [checkout.pk for checkout in to_checkouts_balances]
|
checkouts_pk = [checkout.pk for checkout in to_checkouts_balances]
|
||||||
checkouts = (
|
checkouts = (
|
||||||
Checkout.objects.values("id", "balance")
|
Checkout.objects.values("id", "balance")
|
||||||
|
@ -1375,27 +1379,7 @@ def cancel_operations(request):
|
||||||
articles = Article.objects.values("id", "stock").filter(pk__in=articles_pk)
|
articles = Article.objects.values("id", "stock").filter(pk__in=articles_pk)
|
||||||
|
|
||||||
# Websocket data
|
# Websocket data
|
||||||
websocket_data = {"opegroups": [], "opes": [], "checkouts": [], "articles": []}
|
websocket_data = {"checkouts": [], "articles": []}
|
||||||
|
|
||||||
for opegroup in opegroups:
|
|
||||||
websocket_data["opegroups"].append(
|
|
||||||
{
|
|
||||||
"cancellation": True,
|
|
||||||
"id": opegroup["id"],
|
|
||||||
"amount": opegroup["amount"],
|
|
||||||
"is_cof": opegroup["is_cof"],
|
|
||||||
}
|
|
||||||
)
|
|
||||||
canceled_by__trigramme = canceled_by and canceled_by.trigramme or None
|
|
||||||
for ope in opes:
|
|
||||||
websocket_data["opes"].append(
|
|
||||||
{
|
|
||||||
"cancellation": True,
|
|
||||||
"id": ope,
|
|
||||||
"canceled_by__trigramme": canceled_by__trigramme,
|
|
||||||
"canceled_at": canceled_at,
|
|
||||||
}
|
|
||||||
)
|
|
||||||
for checkout in checkouts:
|
for checkout in checkouts:
|
||||||
websocket_data["checkouts"].append(
|
websocket_data["checkouts"].append(
|
||||||
{"id": checkout["id"], "balance": checkout["balance"]}
|
{"id": checkout["id"], "balance": checkout["balance"]}
|
||||||
|
@ -1406,7 +1390,8 @@ def cancel_operations(request):
|
||||||
)
|
)
|
||||||
consumers.KPsul.group_send("kfet.kpsul", websocket_data)
|
consumers.KPsul.group_send("kfet.kpsul", websocket_data)
|
||||||
|
|
||||||
data["canceled"] = opes
|
data["canceled"] = list(opes)
|
||||||
|
data["opegroups_to_update"] = list(opegroups)
|
||||||
if opes_already_canceled:
|
if opes_already_canceled:
|
||||||
data["warnings"]["already_canceled"] = opes_already_canceled
|
data["warnings"]["already_canceled"] = opes_already_canceled
|
||||||
return JsonResponse(data)
|
return JsonResponse(data)
|
||||||
|
@ -1483,7 +1468,7 @@ def history_json(request):
|
||||||
opegroups_list = []
|
opegroups_list = []
|
||||||
for opegroup in opegroups:
|
for opegroup in opegroups:
|
||||||
opegroup_dict = {
|
opegroup_dict = {
|
||||||
"type": "opegroup",
|
"type": "operation",
|
||||||
"id": opegroup.id,
|
"id": opegroup.id,
|
||||||
"amount": opegroup.amount,
|
"amount": opegroup.amount,
|
||||||
"at": opegroup.at,
|
"at": opegroup.at,
|
||||||
|
@ -1519,7 +1504,7 @@ def history_json(request):
|
||||||
for transfergroup in transfergroups:
|
for transfergroup in transfergroups:
|
||||||
if transfergroup.filtered_transfers:
|
if transfergroup.filtered_transfers:
|
||||||
transfergroup_dict = {
|
transfergroup_dict = {
|
||||||
"type": "transfergroup",
|
"type": "transfer",
|
||||||
"id": transfergroup.id,
|
"id": transfergroup.id,
|
||||||
"at": transfergroup.at,
|
"at": transfergroup.at,
|
||||||
"comment": transfergroup.comment,
|
"comment": transfergroup.comment,
|
||||||
|
@ -1809,6 +1794,11 @@ def cancel_transfers(request):
|
||||||
elif hasattr(account, "negative") and not account.negative.balance_offset:
|
elif hasattr(account, "negative") and not account.negative.balance_offset:
|
||||||
account.negative.delete()
|
account.negative.delete()
|
||||||
|
|
||||||
|
transfers = (
|
||||||
|
Transfer.objects.values("id", "canceled_at", "canceled_by__trigramme")
|
||||||
|
.filter(pk__in=transfers)
|
||||||
|
.order_by("pk")
|
||||||
|
)
|
||||||
data["canceled"] = transfers
|
data["canceled"] = transfers
|
||||||
if transfers_already_canceled:
|
if transfers_already_canceled:
|
||||||
data["warnings"]["already_canceled"] = transfers_already_canceled
|
data["warnings"]["already_canceled"] = transfers_already_canceled
|
||||||
|
|
Loading…
Reference in a new issue