forked from DGNum/gestioCOF
unite transfer history
This commit is contained in:
parent
1dbbad38b9
commit
3f35dc2c06
2 changed files with 80 additions and 53 deletions
|
@ -129,6 +129,7 @@ function KHistory(options={}) {
|
||||||
|
|
||||||
if (!this.display_trigramme)
|
if (!this.display_trigramme)
|
||||||
$opegroup_html.find('.trigramme').remove();
|
$opegroup_html.find('.trigramme').remove();
|
||||||
|
$opegroup_html.find('.info').remove();
|
||||||
|
|
||||||
if (opegroup['valid_by__trigramme'])
|
if (opegroup['valid_by__trigramme'])
|
||||||
$opegroup_html.find('.valid_by').text('Par '+opegroup['valid_by__trigramme']);
|
$opegroup_html.find('.valid_by').text('Par '+opegroup['valid_by__trigramme']);
|
||||||
|
|
|
@ -6,7 +6,11 @@
|
||||||
<script type="text/javascript" src="{% static 'kfet/js/js.cookie.js' %}"></script>
|
<script type="text/javascript" src="{% static 'kfet/js/js.cookie.js' %}"></script>
|
||||||
<script type="text/javascript" src="{% static 'kfet/js/jquery-ui.min.js' %}"></script>
|
<script type="text/javascript" src="{% static 'kfet/js/jquery-ui.min.js' %}"></script>
|
||||||
<script type="text/javascript" src="{% static 'kfet/js/jquery-confirm.js' %}"></script>
|
<script type="text/javascript" src="{% static 'kfet/js/jquery-confirm.js' %}"></script>
|
||||||
|
<script type="text/javascript" src="{% static 'kfet/js/moment.js' %}"></script>
|
||||||
|
<script type="text/javascript" src="{% static 'kfet/js/moment-fr.js' %}"></script>
|
||||||
|
<script type="text/javascript" src="{% static 'kfet/js/moment-timezone-with-data-2010-2020.js' %}"></script>
|
||||||
<script type="text/javascript" src="{% static 'kfet/js/kfet.js' %}"></script>
|
<script type="text/javascript" src="{% static 'kfet/js/kfet.js' %}"></script>
|
||||||
|
<script type="text/javascript" src="{% static 'kfet/js/history.js' %}"></script>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block title %}Transferts{% endblock %}
|
{% block title %}Transferts{% endblock %}
|
||||||
|
@ -31,22 +35,7 @@
|
||||||
<div class="content-right">
|
<div class="content-right">
|
||||||
<div class="content-right-block">
|
<div class="content-right-block">
|
||||||
<h2>Liste des transferts</h2>
|
<h2>Liste des transferts</h2>
|
||||||
<div id="history">
|
<table id="history" class="table">
|
||||||
{% for transfergroup in transfergroups %}
|
|
||||||
<div class="opegroup transfergroup" data-transfergroup="{{ transfergroup.pk }}">
|
|
||||||
<span>{{ transfergroup.at }}</span>
|
|
||||||
<span>{{ transfergroup.valid_by.trigramme }}</span>
|
|
||||||
<span>{{ transfergroup.comment }}</span>
|
|
||||||
</div>
|
|
||||||
{% for transfer in transfergroup.transfers.all %}
|
|
||||||
<div class="ope transfer{% if transfer.canceled_at %} canceled{% endif %}" data-transfer="{{ transfer.pk }}" data-transfergroup="{{ transfergroup.pk }}">
|
|
||||||
<span class="amount">{{ transfer.amount }} €</span>
|
|
||||||
<span class="from_acc">{{ transfer.from_acc.trigramme }}</span>
|
|
||||||
<span class="glyphicon glyphicon-arrow-right"></span>
|
|
||||||
<span class="to_acc">{{ transfer.to_acc.trigramme }}</span>
|
|
||||||
</div>
|
|
||||||
{% endfor %}
|
|
||||||
{% endfor %}
|
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -70,15 +59,80 @@ $(document).ready(function() {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
khistory = new KHistory({
|
||||||
|
display_trigramme: false,
|
||||||
|
});
|
||||||
|
|
||||||
|
function getHistory() {
|
||||||
|
var data = {'transfersonly': true};
|
||||||
|
|
||||||
function cancelTransfers(transfers_array, password = '') {
|
|
||||||
if (lock == 1)
|
|
||||||
return false
|
|
||||||
lock = 1;
|
|
||||||
var data = { 'transfers' : transfers_array }
|
|
||||||
$.ajax({
|
$.ajax({
|
||||||
dataType: "json",
|
dataType: "json",
|
||||||
url : "{% url 'kfet.transfers.cancel' %}",
|
url : "{% url 'kfet.history.json' %}",
|
||||||
|
method : "POST",
|
||||||
|
data : data,
|
||||||
|
})
|
||||||
|
.done(function(data) {
|
||||||
|
for (var i=0; i<data['opegroups'].length; i++) {
|
||||||
|
khistory.addOpeGroup(data['opegroups'][i]);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
khistory.$container.selectable({
|
||||||
|
filter: 'div.opegroup, div.ope',
|
||||||
|
selected: function(e, ui) {
|
||||||
|
$(ui.selected).each(function() {
|
||||||
|
if ($(this).hasClass('opegroup')) {
|
||||||
|
var type = $(this).data('type');
|
||||||
|
var id = $(this).data('id');
|
||||||
|
$(this).siblings('.ope').filter(function() {
|
||||||
|
return $(this).data(type) == id
|
||||||
|
}).addClass('ui-selected');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
$(document).on('keydown', function (e) {
|
||||||
|
if (e.keyCode == 46) {
|
||||||
|
// DEL (Suppr)
|
||||||
|
var opes_to_cancel = [];
|
||||||
|
khistory.$container.find('.ope.ui-selected').each(function () {
|
||||||
|
opes_to_cancel.push($(this).data('type')+' '+$(this).data('id'));
|
||||||
|
});
|
||||||
|
if (opes_to_cancel.length > 0)
|
||||||
|
confirmCancel(opes_to_cancel);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
function confirmCancel(opes_to_cancel) {
|
||||||
|
var nb = opes_to_cancel.length;
|
||||||
|
var content = nb+' opération'.pluralize(nb)
|
||||||
|
+' va'.pluralize(nb, ' vont')
|
||||||
|
+ ' être'
|
||||||
|
+ ' annulée'.pluralize(nb);
|
||||||
|
$.confirm({
|
||||||
|
title: 'Confirmation',
|
||||||
|
content: content,
|
||||||
|
backgroundDismiss: true,
|
||||||
|
animation: 'top',
|
||||||
|
closeAnimation: 'bottom',
|
||||||
|
keyboardEnabled: true,
|
||||||
|
confirm: function() {
|
||||||
|
cancelOperations(opes_to_cancel);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function cancelOperations(opes_array, password = '') {
|
||||||
|
if (lock == 1)
|
||||||
|
return false
|
||||||
|
lock = 1 ;
|
||||||
|
var data = { 'operations' : opes_array }
|
||||||
|
$.ajax({
|
||||||
|
dataType: "json",
|
||||||
|
url : "{% url 'kfet.kpsul.cancel_operations' %}",
|
||||||
method : "POST",
|
method : "POST",
|
||||||
data : data,
|
data : data,
|
||||||
beforeSend: function ($xhr) {
|
beforeSend: function ($xhr) {
|
||||||
|
@ -89,11 +143,7 @@ $(document).ready(function() {
|
||||||
|
|
||||||
})
|
})
|
||||||
.done(function(data) {
|
.done(function(data) {
|
||||||
for (var i=0; i<data['canceled'].length; i++) {
|
khistory.$container.find('.ui-selected').removeClass('ui-selected');
|
||||||
$('#history').find('.transfer[data-transfer='+data['canceled'][i]+']')
|
|
||||||
.addClass('canceled');
|
|
||||||
}
|
|
||||||
$('#history').find('.ui-selected').removeClass('ui-selected');
|
|
||||||
lock = 0;
|
lock = 0;
|
||||||
})
|
})
|
||||||
.fail(function($xhr) {
|
.fail(function($xhr) {
|
||||||
|
@ -101,7 +151,7 @@ $(document).ready(function() {
|
||||||
switch ($xhr.status) {
|
switch ($xhr.status) {
|
||||||
case 403:
|
case 403:
|
||||||
requestAuth(data, function(password) {
|
requestAuth(data, function(password) {
|
||||||
cancelTransfers(transfers_array, password);
|
cancelOperations(opes_array, password);
|
||||||
});
|
});
|
||||||
break;
|
break;
|
||||||
case 400:
|
case 400:
|
||||||
|
@ -112,31 +162,7 @@ $(document).ready(function() {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
$('#history').selectable({
|
getHistory();
|
||||||
filter: 'div.transfergroup, div.transfer',
|
|
||||||
selected: function(e, ui) {
|
|
||||||
$(ui.selected).each(function() {
|
|
||||||
if ($(this).hasClass('transfergroup')) {
|
|
||||||
var transfergroup = $(this).attr('data-transfergroup');
|
|
||||||
$(this).siblings('.ope').filter(function() {
|
|
||||||
return $(this).attr('data-transfergroup') == transfergroup
|
|
||||||
}).addClass('ui-selected');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
},
|
|
||||||
});
|
|
||||||
|
|
||||||
$(document).on('keydown', function (e) {
|
|
||||||
if (e.keyCode == 46) {
|
|
||||||
// DEL (Suppr)
|
|
||||||
var transfers_to_cancel = [];
|
|
||||||
$('#history').find('.transfer.ui-selected').each(function () {
|
|
||||||
transfers_to_cancel.push($(this).attr('data-transfer'));
|
|
||||||
});
|
|
||||||
if (transfers_to_cancel.length > 0)
|
|
||||||
cancelTransfers(transfers_to_cancel);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue