mirror of https://gitlab.crans.org/bde/nk20
Fix credit/debit tabs
This commit is contained in:
parent
7af76899e3
commit
a609d7c995
|
@ -1,6 +1,7 @@
|
|||
# Copyright (C) 2018-2020 by BDE ENS Paris-Saclay
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
from note.models import NoteSpecial
|
||||
from treasury.models import SpecialTransactionProxy, RemittanceType
|
||||
|
||||
|
||||
|
@ -8,5 +9,6 @@ def save_special_transaction(instance, created, **kwargs):
|
|||
"""
|
||||
When a special transaction is created, we create its linked proxy
|
||||
"""
|
||||
if created and RemittanceType.objects.filter(note=instance.source).exists():
|
||||
if created and isinstance(instance.source, NoteSpecial) \
|
||||
and RemittanceType.objects.filter(note=instance.source).exists():
|
||||
SpecialTransactionProxy.objects.create(transaction=instance, remittance=None).save()
|
||||
|
|
|
@ -34,6 +34,9 @@ $(document).ready(function() {
|
|||
if ($("#type_credit").is(":checked") || $("#type_debit").is(":checked")) {
|
||||
let arr = $("#type_credit").is(":checked") ? dests_notes_display : sources_notes_display;
|
||||
|
||||
if (arr.length === 0)
|
||||
return;
|
||||
|
||||
let last = arr[arr.length - 1];
|
||||
arr.length = 0;
|
||||
arr.push(last);
|
||||
|
@ -65,6 +68,68 @@ $(document).ready(function() {
|
|||
autoCompleteNote("dest_note", "dest_note_list", dests, dests_notes_display,
|
||||
"dest_alias", "dest_note", "user_note", "profile_pic", checkUniqueNote);
|
||||
|
||||
let source = $("#source_note");
|
||||
let dest = $("#dest_note");
|
||||
|
||||
$("#type_gift").click(function() {
|
||||
$("#special_transaction_div").addClass('d-none');
|
||||
source.attr('disabled', true);
|
||||
source.val(username);
|
||||
source.tooltip('hide');
|
||||
$("#source_note_list").addClass('d-none');
|
||||
dest.attr('disabled', false);
|
||||
$("#dest_note_list").removeClass('d-none');
|
||||
});
|
||||
|
||||
$("#type_transfer").click(function() {
|
||||
$("#special_transaction_div").addClass('d-none');
|
||||
source.attr('disabled', false);
|
||||
$("#source_note_list").removeClass('d-none');
|
||||
dest.attr('disabled', false);
|
||||
$("#dest_note_list").removeClass('d-none');
|
||||
});
|
||||
|
||||
$("#type_credit").click(function() {
|
||||
$("#special_transaction_div").removeClass('d-none');
|
||||
$("#source_note_list").addClass('d-none');
|
||||
$("#dest_note_list").removeClass('d-none');
|
||||
source.attr('disabled', true);
|
||||
source.val($("#credit_type option:selected").text());
|
||||
source.tooltip('hide');
|
||||
dest.attr('disabled', false);
|
||||
dest.val('');
|
||||
dest.tooltip('hide');
|
||||
|
||||
if (dests_notes_display.length > 1) {
|
||||
$("#dest_note_list").html('');
|
||||
dests_notes_display.length = 0;
|
||||
}
|
||||
});
|
||||
|
||||
$("#type_debit").click(function() {
|
||||
$("#special_transaction_div").removeClass('d-none');
|
||||
$("#source_note_list").removeClass('d-none');
|
||||
$("#dest_note_list").addClass('d-none');
|
||||
source.attr('disabled', false);
|
||||
source.val('');
|
||||
source.tooltip('hide');
|
||||
dest.attr('disabled', true);
|
||||
dest.val($("#credit_type option:selected").text());
|
||||
dest.tooltip('hide');
|
||||
|
||||
if (sources_notes_display.length > 1) {
|
||||
$("#source_note_list").html('');
|
||||
sources_notes_display.length = 0;
|
||||
}
|
||||
});
|
||||
|
||||
$("#credit_type").change(function() {
|
||||
let type = $("#credit_type option:selected").text();
|
||||
if ($("#type_credit").is(":checked"))
|
||||
source.val(type);
|
||||
else
|
||||
dest.val(type);
|
||||
});
|
||||
|
||||
// Ensure we begin in gift mode. Removing these lines may cause problems when reloading.
|
||||
let type_gift = $("#type_gift"); // Default mode
|
||||
|
|
|
@ -160,57 +160,7 @@ SPDX-License-Identifier: GPL-2.0-or-later
|
|||
TRANSFER_POLYMORPHIC_CTYPE = {{ polymorphic_ctype }};
|
||||
SPECIAL_TRANSFER_POLYMORPHIC_CTYPE = {{ special_polymorphic_ctype }};
|
||||
user_id = {{ user.note.pk }};
|
||||
|
||||
source = $("#source_note");
|
||||
dest = $("#dest_note");
|
||||
|
||||
$("#type_gift").click(function() {
|
||||
$("#special_transaction_div").addClass('d-none');
|
||||
source.attr('disabled', true);
|
||||
source.val("{{ user.username }}");
|
||||
source.tooltip('hide');
|
||||
$("#source_note_list").addClass('d-none');
|
||||
dest.attr('disabled', false);
|
||||
$("#dest_note_list").removeClass('d-none');
|
||||
});
|
||||
|
||||
$("#type_transfer").click(function() {
|
||||
$("#special_transaction_div").addClass('d-none');
|
||||
source.attr('disabled', false);
|
||||
$("#source_note_list").removeClass('d-none');
|
||||
dest.attr('disabled', false);
|
||||
$("#dest_note_list").removeClass('d-none');
|
||||
});
|
||||
|
||||
$("#type_credit").click(function() {
|
||||
$("#special_transaction_div").removeClass('d-none');
|
||||
$("#source_note_list").addClass('d-none');
|
||||
$("#dest_note_list").removeClass('d-none');
|
||||
source.attr('disabled', true);
|
||||
source.val($("#credit_type option:selected").text());
|
||||
source.tooltip('hide');
|
||||
dest.attr('disabled', false);
|
||||
dest.val('');
|
||||
});
|
||||
|
||||
$("#type_debit").click(function() {
|
||||
$("#special_transaction_div").removeClass('d-none');
|
||||
$("#source_note_list").removeClass('d-none');
|
||||
$("#dest_note_list").addClass('d-none');
|
||||
source.attr('disabled', false);
|
||||
source.val('');
|
||||
dest.attr('disabled', true);
|
||||
dest.val($("#credit_type option:selected").text());
|
||||
dest.tooltip('hide');
|
||||
});
|
||||
|
||||
$("#credit_type").change(function() {
|
||||
let type = $("#credit_type option:selected").text();
|
||||
if ($("#type_credit").is(":checked"))
|
||||
source.val(type);
|
||||
else
|
||||
dest.val(type);
|
||||
});
|
||||
username = "{{ user.username }}";
|
||||
</script>
|
||||
<script src="/static/js/transfer.js"></script>
|
||||
{% endblock %}
|
||||
|
|
Loading…
Reference in New Issue