Historique d'un compte

- Reprise en utilisant `history.js`
- Fix csrf_token sur ajax POST K-Psul
- Fix annulation K-Psul
- Ajouts de select_related pour économiser de la requête BDD
This commit is contained in:
Aurélien Delobelle 2016-08-24 23:34:14 +02:00
parent 3b7c690f0b
commit c4fa4ea20c
5 changed files with 61 additions and 71 deletions

View file

@ -1,5 +1,16 @@
{% extends "kfet/base.html" %}
{% load staticfiles %}
{% load kfet_tags %}
{% load l10n %}
{% block extra_head %}
<script type="text/javascript" src="{% static 'kfet/js/js.cookie.js' %}"></script>
<script type="text/javascript" src="{% static 'moment.js' %}"></script>
<script type="text/javascript" src="{% static 'moment-fr.js' %}"></script>
<script type="text/javascript" src="{% static '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/history.js' %}"></script>
{% endblock %}
{% block title %}
{% if account.user == request.user %}
@ -43,67 +54,42 @@
<div class="content-right-block">
<h2>Historique</h2>
<div id="history">
{% spaceless %}
{% for ope in history %}
{% ifchanged ope.group.at|date:'dmY' %}
<div class="day">
{{ ope.group.at|date:'l j F' }}
</div>
{% endifchanged %}
{% ifchanged ope.group.pk %}
<div class="opegroup" data-opegroup="{{ ope.group.pk }}">
<span class="time">{{ ope.group.at|date:'H:i:s' }}</span>
<span class="amount">
{% if ope.group.on_acc.trigramme == 'LIQ' %}
{{ ope.group.amount|floatformat:2 }}
{% else %}
{{ ope.group.amount|ukf:ope.group.is_cof }}
{% endif %}
</span>
{% if perms.kfet.is_team and ope.group.valid_by %}
<span class="valid_by">Par {{ ope.group.valid_by.trigramme }}</span>
{% endif %}
{% if ope.group.comment %}
<span class="comment">{{ ope.group.comment }}</span>
{% endif %}
</div>
{% endifchanged %}
<div class="ope {% if ope.canceled_at %}canceled{% endif %}" data-ope="{{ ope.pk }}" data-opegroup="{{ ope.group.pk }}">
{% if ope.group.on_acc.trigramme == 'LIQ' %}
<span class="amount">{{ ope.amount|floatformat:2 }}€</span>
{% else %}
<span class="amount">{{ ope.amount|ukf:ope.group.is_cof }}</span>
{% endif %}
{% if ope.type == "purchase" %}
<span class="infos1">{{ ope.article_nb }}</span>
<span class="infos2">{{ ope.article.name }}</span>
{% else %}
<span class="infos1">{{ ope.amount|floatformat:2 }}€</span>
<span class="infos2">
{% if ope.type == "deposit" %}Charge{% else %}Retrait{% endif %}
</span>
{% endif %}
{% if ope.addcost_for %}
<span class="addcost">
{{ ope.addcost_amount|ukf:ope.group.is_cof }}UKF pour {{ ope.addcost_for.trigramme }}
</span>
{% endif %}
{% if ope.canceled_at %}
{% if perms.kfet.is_team and ope.canceled_by %}
<span class="canceled">
Annulé par {{ ope.canceled_by.trigramme }} le {{ ope.canceled_at }}
</span>
{% else %}
<span class="canceled">Annulé le {{ ope.canceled_at }}</span>
{% endif %}
{% endif %}
</div>
{% endfor %}
{% endspaceless %}
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
$(document).ready(function() {
settings = { 'subvention_cof': parseFloat({{ settings.subvention_cof|unlocalize }})}
khistory = new KHistory({
display_trigramme: false,
});
function getHistory() {
var data = {
'accounts': [{{ account.pk }}],
}
$.ajax({
dataType: "json",
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]);
}
var nb_opes = khistory.$container.find('.ope:not(.canceled)').length;
$('#nb_opes').text(nb_opes);
});
}
getHistory();
});
</script>
{% endblock %}

View file

@ -108,6 +108,8 @@
{{ operation_formset.empty_form }}
</div>
{% csrf_token %}
<script type="text/javascript">
$(document).ready(function() {
// -----