mirror of
				https://gitlab.crans.org/bde/nk20
				synced 2025-10-31 07:49:57 +01:00 
			
		
		
		
	Fix credit/debit tabs
This commit is contained in:
		| @@ -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 %} | ||||
|   | ||||
		Reference in New Issue
	
	Block a user