Fix (de)validation of transactions

This commit is contained in:
Yohann D'ANELLO 2020-03-14 12:07:03 +01:00 committed by Bombar Maxime
parent 05fb50965b
commit 5d15b8c613
2 changed files with 11 additions and 7 deletions

View File

@ -27,7 +27,9 @@ class HistoryTable(tables.Table):
total = tables.Column() # will use Transaction.total() !!
valid = tables.Column(attrs={"td": {"id": lambda record: "validate_" + str(record.id),
"class": lambda record: str(record.valid).lower() + ' validate'}})
"class": lambda record: str(record.valid).lower() + ' validate',
"onclick": lambda record: 'de_validate(' + str(record.id) + ', '
+ str(record.valid).lower() + ')'}})
def order_total(self, queryset, is_descending):
# needed for rendering

View File

@ -192,10 +192,9 @@
{% endif %}
{% endfor %}
// When we click on the validate button, the validation status is switched
$(".validate").click(function(e) {
let id = e.target.id.substring(9);
let validated = e.target.classList.contains("true");
// When a validate button is clicked, we switch the validation status
function de_validate(id, validated) {
$("#validate_" + id).html("<strong style=\"font-size: 16pt;\">⟳ ...</strong>");
// Perform a PATCH request to the API in order to update the transaction
// If the user has insuffisent rights, an error message will appear
@ -211,11 +210,14 @@
"resourcetype": "TemplateTransaction",
valid: !validated
},
success: function() {
success: function () {
refreshHistory();
refreshBalance();
// Refresh jQuery objects
$(".validate").click(de_validate);
}
});
});
}
</script>
{% endblock %}