diff --git a/locale/de/LC_MESSAGES/django.po b/locale/de/LC_MESSAGES/django.po index 1e22bacd..8618d9e5 100644 --- a/locale/de/LC_MESSAGES/django.po +++ b/locale/de/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-29 10:56+0200\n" +"POT-Creation-Date: 2020-07-29 22:54+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -186,12 +186,12 @@ msgstr "" msgid "Type" msgstr "" -#: apps/activity/tables.py:77 apps/member/forms.py:92 +#: apps/activity/tables.py:77 apps/member/forms.py:105 #: apps/registration/forms.py:64 apps/treasury/forms.py:120 msgid "Last name" msgstr "" -#: apps/activity/tables.py:79 apps/member/forms.py:97 +#: apps/activity/tables.py:79 apps/member/forms.py:110 #: apps/registration/forms.py:69 apps/treasury/forms.py:122 #: templates/note/transaction_form.html:126 msgid "First name" @@ -279,35 +279,35 @@ msgstr "" msgid "member" msgstr "" -#: apps/member/forms.py:46 apps/member/views.py:77 +#: apps/member/forms.py:59 apps/member/views.py:78 msgid "An alias with a similar name already exists." msgstr "" -#: apps/member/forms.py:71 apps/registration/forms.py:44 +#: apps/member/forms.py:84 apps/registration/forms.py:44 msgid "Inscription paid by Société Générale" msgstr "" -#: apps/member/forms.py:73 apps/registration/forms.py:46 +#: apps/member/forms.py:86 apps/registration/forms.py:46 msgid "Check this case is the Société Générale paid the inscription." msgstr "" -#: apps/member/forms.py:78 apps/registration/forms.py:51 +#: apps/member/forms.py:91 apps/registration/forms.py:51 msgid "Credit type" msgstr "" -#: apps/member/forms.py:79 apps/registration/forms.py:52 +#: apps/member/forms.py:92 apps/registration/forms.py:52 msgid "No credit" msgstr "" -#: apps/member/forms.py:81 +#: apps/member/forms.py:94 msgid "You can credit the note of the user." msgstr "" -#: apps/member/forms.py:85 apps/registration/forms.py:57 +#: apps/member/forms.py:98 apps/registration/forms.py:57 msgid "Credit amount" msgstr "" -#: apps/member/forms.py:102 apps/registration/forms.py:74 +#: apps/member/forms.py:115 apps/registration/forms.py:74 #: apps/treasury/forms.py:124 templates/note/transaction_form.html:132 msgid "Bank" msgstr "" @@ -509,7 +509,7 @@ msgstr "" msgid "fee" msgstr "" -#: apps/member/models.py:303 apps/member/views.py:527 apps/wei/views.py:770 +#: apps/member/models.py:303 apps/member/views.py:528 apps/wei/views.py:770 msgid "User is not a member of the parent club" msgstr "" @@ -518,7 +518,7 @@ msgstr "" msgid "The role {role} does not apply to the club {club}." msgstr "" -#: apps/member/models.py:321 apps/member/views.py:536 +#: apps/member/models.py:321 apps/member/views.py:537 msgid "User is already a member of the club" msgstr "" @@ -539,45 +539,45 @@ msgstr "" msgid "Renew" msgstr "" -#: apps/member/views.py:64 apps/registration/forms.py:23 +#: apps/member/views.py:65 apps/registration/forms.py:23 msgid "This address must be valid." msgstr "" -#: apps/member/views.py:67 templates/member/profile_info.html:47 +#: apps/member/views.py:68 templates/member/profile_info.html:47 #: templates/registration/future_profile_detail.html:48 #: templates/wei/weimembership_form.html:130 msgid "Update Profile" msgstr "" -#: apps/member/views.py:183 +#: apps/member/views.py:184 msgid "Search user" msgstr "" -#: apps/member/views.py:522 apps/wei/views.py:761 +#: apps/member/views.py:523 apps/wei/views.py:761 msgid "" "This user don't have enough money to join this club, and can't have a " "negative balance." msgstr "" -#: apps/member/views.py:540 +#: apps/member/views.py:541 msgid "The membership must start after {:%m-%d-%Y}." msgstr "" -#: apps/member/views.py:545 +#: apps/member/views.py:546 msgid "The membership must begin before {:%m-%d-%Y}." msgstr "" -#: apps/member/views.py:562 apps/member/views.py:564 apps/member/views.py:566 +#: apps/member/views.py:563 apps/member/views.py:565 apps/member/views.py:567 #: apps/registration/views.py:290 apps/registration/views.py:292 #: apps/registration/views.py:294 msgid "This field is required." msgstr "" -#: apps/note/admin.py:120 apps/note/models/transactions.py:106 +#: apps/note/admin.py:122 apps/note/models/transactions.py:106 msgid "source" msgstr "" -#: apps/note/admin.py:128 apps/note/admin.py:170 +#: apps/note/admin.py:130 apps/note/admin.py:172 #: apps/note/models/transactions.py:55 apps/note/models/transactions.py:119 msgid "destination" msgstr "" @@ -761,7 +761,7 @@ msgstr "" #: apps/note/models/transactions.py:228 #: templates/activity/activity_entry.html:13 templates/base.html:99 -#: templates/note/transaction_form.html:19 +#: templates/note/transaction_form.html:15 #: templates/note/transaction_form.html:140 msgid "Transfer" msgstr "" @@ -780,11 +780,11 @@ msgstr "" #: apps/note/models/transactions.py:277 #: templates/activity/activity_entry.html:17 -#: templates/note/transaction_form.html:24 +#: templates/note/transaction_form.html:20 msgid "Credit" msgstr "" -#: apps/note/models/transactions.py:277 templates/note/transaction_form.html:28 +#: apps/note/models/transactions.py:277 templates/note/transaction_form.html:24 msgid "Debit" msgstr "" @@ -1522,7 +1522,7 @@ msgid "Guests list" msgstr "" #: templates/activity/activity_entry.html:22 -#: templates/note/transaction_form.html:33 +#: templates/note/transaction_form.html:29 msgid "Entries" msgstr "" @@ -1707,7 +1707,7 @@ msgstr "" msgid "Consum" msgstr "" -#: templates/note/conso_form.html:39 templates/note/transaction_form.html:61 +#: templates/note/conso_form.html:39 templates/note/transaction_form.html:57 #: templates/note/transaction_form.html:76 msgid "Name or alias..." msgstr "" @@ -1736,12 +1736,12 @@ msgstr "" msgid "Recent transactions history" msgstr "" -#: templates/note/transaction_form.html:15 -msgid "Gift" +#: templates/note/transaction_form.html:51 +msgid "Select emitters" msgstr "" -#: templates/note/transaction_form.html:55 -msgid "Select emitters" +#: templates/note/transaction_form.html:60 +msgid "I am the emitter" msgstr "" #: templates/note/transaction_form.html:70 diff --git a/locale/fr/LC_MESSAGES/django.po b/locale/fr/LC_MESSAGES/django.po index b53f558a..16548d3b 100644 --- a/locale/fr/LC_MESSAGES/django.po +++ b/locale/fr/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-29 10:56+0200\n" +"POT-Creation-Date: 2020-07-29 22:54+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -187,12 +187,12 @@ msgstr "supprimer" msgid "Type" msgstr "Type" -#: apps/activity/tables.py:77 apps/member/forms.py:92 +#: apps/activity/tables.py:77 apps/member/forms.py:105 #: apps/registration/forms.py:64 apps/treasury/forms.py:120 msgid "Last name" msgstr "Nom de famille" -#: apps/activity/tables.py:79 apps/member/forms.py:97 +#: apps/activity/tables.py:79 apps/member/forms.py:110 #: apps/registration/forms.py:69 apps/treasury/forms.py:122 #: templates/note/transaction_form.html:126 msgid "First name" @@ -280,35 +280,35 @@ msgstr "journaux de modifications" msgid "member" msgstr "adhérent" -#: apps/member/forms.py:46 apps/member/views.py:77 +#: apps/member/forms.py:59 apps/member/views.py:78 msgid "An alias with a similar name already exists." msgstr "Un alias avec un nom similaire existe déjà." -#: apps/member/forms.py:71 apps/registration/forms.py:44 +#: apps/member/forms.py:84 apps/registration/forms.py:44 msgid "Inscription paid by Société Générale" msgstr "Inscription payée par la Société générale" -#: apps/member/forms.py:73 apps/registration/forms.py:46 +#: apps/member/forms.py:86 apps/registration/forms.py:46 msgid "Check this case is the Société Générale paid the inscription." msgstr "Cochez cette case si la Société Générale a payé l'inscription." -#: apps/member/forms.py:78 apps/registration/forms.py:51 +#: apps/member/forms.py:91 apps/registration/forms.py:51 msgid "Credit type" msgstr "Type de rechargement" -#: apps/member/forms.py:79 apps/registration/forms.py:52 +#: apps/member/forms.py:92 apps/registration/forms.py:52 msgid "No credit" msgstr "Pas de rechargement" -#: apps/member/forms.py:81 +#: apps/member/forms.py:94 msgid "You can credit the note of the user." msgstr "Vous pouvez créditer la note de l'utisateur avant l'adhésion." -#: apps/member/forms.py:85 apps/registration/forms.py:57 +#: apps/member/forms.py:98 apps/registration/forms.py:57 msgid "Credit amount" msgstr "Montant à créditer" -#: apps/member/forms.py:102 apps/registration/forms.py:74 +#: apps/member/forms.py:115 apps/registration/forms.py:74 #: apps/treasury/forms.py:124 templates/note/transaction_form.html:132 msgid "Bank" msgstr "Banque" @@ -514,7 +514,7 @@ msgstr "l'adhésion finit le" msgid "fee" msgstr "cotisation" -#: apps/member/models.py:303 apps/member/views.py:527 apps/wei/views.py:770 +#: apps/member/models.py:303 apps/member/views.py:528 apps/wei/views.py:770 msgid "User is not a member of the parent club" msgstr "L'utilisateur n'est pas membre du club parent" @@ -523,7 +523,7 @@ msgstr "L'utilisateur n'est pas membre du club parent" msgid "The role {role} does not apply to the club {club}." msgstr "Le rôle {role} ne s'applique pas au club {club}." -#: apps/member/models.py:321 apps/member/views.py:536 +#: apps/member/models.py:321 apps/member/views.py:537 msgid "User is already a member of the club" msgstr "L'utilisateur est déjà membre du club" @@ -544,21 +544,21 @@ msgstr "adhésions" msgid "Renew" msgstr "Renouveler" -#: apps/member/views.py:64 apps/registration/forms.py:23 +#: apps/member/views.py:65 apps/registration/forms.py:23 msgid "This address must be valid." msgstr "Cette adresse doit être valide." -#: apps/member/views.py:67 templates/member/profile_info.html:47 +#: apps/member/views.py:68 templates/member/profile_info.html:47 #: templates/registration/future_profile_detail.html:48 #: templates/wei/weimembership_form.html:130 msgid "Update Profile" msgstr "Modifier le profil" -#: apps/member/views.py:183 +#: apps/member/views.py:184 msgid "Search user" msgstr "Chercher un utilisateur" -#: apps/member/views.py:522 apps/wei/views.py:761 +#: apps/member/views.py:523 apps/wei/views.py:761 msgid "" "This user don't have enough money to join this club, and can't have a " "negative balance." @@ -566,25 +566,25 @@ msgstr "" "Cet utilisateur n'a pas assez d'argent pour rejoindre ce club et ne peut pas " "avoir un solde négatif." -#: apps/member/views.py:540 +#: apps/member/views.py:541 msgid "The membership must start after {:%m-%d-%Y}." msgstr "L'adhésion doit commencer après le {:%d/%m/%Y}." -#: apps/member/views.py:545 +#: apps/member/views.py:546 msgid "The membership must begin before {:%m-%d-%Y}." msgstr "L'adhésion doit commencer avant le {:%d/%m/%Y}." -#: apps/member/views.py:562 apps/member/views.py:564 apps/member/views.py:566 +#: apps/member/views.py:563 apps/member/views.py:565 apps/member/views.py:567 #: apps/registration/views.py:290 apps/registration/views.py:292 #: apps/registration/views.py:294 msgid "This field is required." msgstr "Ce champ est requis." -#: apps/note/admin.py:120 apps/note/models/transactions.py:106 +#: apps/note/admin.py:122 apps/note/models/transactions.py:106 msgid "source" msgstr "source" -#: apps/note/admin.py:128 apps/note/admin.py:170 +#: apps/note/admin.py:130 apps/note/admin.py:172 #: apps/note/models/transactions.py:55 apps/note/models/transactions.py:119 msgid "destination" msgstr "destination" @@ -771,7 +771,7 @@ msgstr "" #: apps/note/models/transactions.py:228 #: templates/activity/activity_entry.html:13 templates/base.html:99 -#: templates/note/transaction_form.html:19 +#: templates/note/transaction_form.html:15 #: templates/note/transaction_form.html:140 msgid "Transfer" msgstr "Virement" @@ -790,11 +790,11 @@ msgstr "banque" #: apps/note/models/transactions.py:277 #: templates/activity/activity_entry.html:17 -#: templates/note/transaction_form.html:24 +#: templates/note/transaction_form.html:20 msgid "Credit" msgstr "Crédit" -#: apps/note/models/transactions.py:277 templates/note/transaction_form.html:28 +#: apps/note/models/transactions.py:277 templates/note/transaction_form.html:24 msgid "Debit" msgstr "Débit" @@ -1577,7 +1577,7 @@ msgid "Guests list" msgstr "Liste des invités" #: templates/activity/activity_entry.html:22 -#: templates/note/transaction_form.html:33 +#: templates/note/transaction_form.html:29 msgid "Entries" msgstr "Entrées" @@ -1769,7 +1769,7 @@ msgstr "Il n'y a pas d'utilisateur trouvé avec cette entrée." msgid "Consum" msgstr "Consommer" -#: templates/note/conso_form.html:39 templates/note/transaction_form.html:61 +#: templates/note/conso_form.html:39 templates/note/transaction_form.html:57 #: templates/note/transaction_form.html:76 msgid "Name or alias..." msgstr "Pseudo ou alias ..." @@ -1798,14 +1798,14 @@ msgstr "Consommations doubles" msgid "Recent transactions history" msgstr "Historique des transactions récentes" -#: templates/note/transaction_form.html:15 -msgid "Gift" -msgstr "Don" - -#: templates/note/transaction_form.html:55 +#: templates/note/transaction_form.html:51 msgid "Select emitters" msgstr "Sélection des émetteurs" +#: templates/note/transaction_form.html:60 +msgid "I am the emitter" +msgstr "Je suis l'émetteur" + #: templates/note/transaction_form.html:70 msgid "Select receivers" msgstr "Sélection des destinataires" @@ -1951,8 +1951,8 @@ msgid "" "permission mask?" msgstr "" "Vous êtes connecté en tant que %(username)s, mais vous n'avez le droit " -"d'accéder à cette page. Voulez-vous essayer avec un autre compte, ou avec " -"un masque de permissions plus fort ?" +"d'accéder à cette page. Voulez-vous essayer avec un autre compte, ou avec un " +"masque de permissions plus fort ?" #: templates/registration/login.html:23 msgid "Forgotten your password or username?" diff --git a/static/js/base.js b/static/js/base.js index 87a79af2..b03c1359 100644 --- a/static/js/base.js +++ b/static/js/base.js @@ -223,7 +223,9 @@ function autoCompleteNote(field_id, note_list_id, notes, notes_display, alias_pr // When the user type "Enter", the first alias is clicked field.keypress(function (event) { + console.log(notes); if (event.originalEvent.charCode === 13 && notes.length > 0) { + console.log(42); let li_obj = field.parent().find("ul li").first(); displayNote(notes[0], li_obj.text(), user_note_field, profile_pic_field); li_obj.trigger("click"); diff --git a/static/js/transfer.js b/static/js/transfer.js index 78a8ca08..97dad879 100644 --- a/static/js/transfer.js +++ b/static/js/transfer.js @@ -71,16 +71,6 @@ $(document).ready(function() { 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); @@ -131,13 +121,11 @@ $(document).ready(function() { dest.val(type); }); - // Ensure we begin in gift mode. Removing these lines may cause problems when reloading. - let type_gift = $("#type_gift"); // Default mode - type_gift.removeAttr('checked'); - $("#type_transfer").removeAttr('checked'); + // Ensure we begin in transfer mode. Removing these lines may cause problems when reloading. + let type_transfer = $("#type_transfer"); // Default mode + type_transfer.removeAttr('checked'); $("#type_credit").removeAttr('checked'); $("#type_debit").removeAttr('checked'); - $("label[for='type_gift']").attr('class', 'btn btn-sm btn-outline-primary'); $("label[for='type_transfer']").attr('class', 'btn btn-sm btn-outline-primary'); $("label[for='type_credit']").attr('class', 'btn btn-sm btn-outline-primary'); $("label[for='type_debit']").attr('class', 'btn btn-sm btn-outline-primary'); @@ -145,62 +133,39 @@ $(document).ready(function() { if (location.hash) $("#type_" + location.hash.substr(1)).click(); else - type_gift.click(); + type_transfer.click(); location.hash = ""; + + $("#source_me").click(function() { + // Shortcut to set the current user as the only emitter + reset(); + + let source_note = $("#source_note"); + source_note.focus(); + source_note.val(username); + let event = jQuery.Event("keyup"); + event.originalEvent = {charCode: 0}; + source_note.trigger(event); + console.log(sources.length); + let fill_note = function() { + if (sources.length === 0) { + setTimeout(fill_note, 100); + return; + } + event = jQuery.Event("keypress"); + event.originalEvent = {charCode: 13}; + source_note.trigger(event); + + source_note.tooltip('hide'); + source_note.val(''); + $("#dest_note").focus(); + }; + fill_note(); + }); }); $("#btn_transfer").click(function() { - if ($("#type_gift").is(':checked')) { - dests_notes_display.forEach(function (dest) { - $.post("/api/note/transaction/transaction/", - { - "csrfmiddlewaretoken": CSRF_TOKEN, - "quantity": dest.quantity, - "amount": 100 * $("#amount").val(), - "reason": $("#reason").val(), - "valid": true, - "polymorphic_ctype": TRANSFER_POLYMORPHIC_CTYPE, - "resourcetype": "Transaction", - "source": user_id, - "destination": dest.note.id, - "destination_alias": dest.name - }).done(function () { - addMsg("Le transfert de " - + pretty_money(dest.quantity * 100 * $("#amount").val()) + " de votre note " - + " vers la note " + dest.name + " a été fait avec succès !", "success"); - - reset(); - }).fail(function () { // do it again but valid = false - $.post("/api/note/transaction/transaction/", - { - "csrfmiddlewaretoken": CSRF_TOKEN, - "quantity": dest.quantity, - "amount": 100 * $("#amount").val(), - "reason": $("#reason").val(), - "valid": false, - "invalidity_reason": "Solde insuffisant", - "polymorphic_ctype": TRANSFER_POLYMORPHIC_CTYPE, - "resourcetype": "Transaction", - "source": user_id, - "destination": dest.note.id, - "destination_alias": dest.name - }).done(function () { - addMsg("Le transfert de " - + pretty_money(dest.quantity * 100 * $("#amount").val()) + " de votre note " - + " vers la note " + dest.name + " a échoué : Solde insuffisant", "danger"); - - reset(); - }).fail(function (err) { - addMsg("Le transfert de " - + pretty_money(dest.quantity * 100 * $("#amount").val()) + " de votre note " - + " vers la note " + dest.name + " a échoué : " + err.responseText, "danger"); - - reset(); - }); - }); - }); - } - else if ($("#type_transfer").is(':checked')) { + if ($("#type_transfer").is(':checked')) { sources_notes_display.forEach(function (source) { dests_notes_display.forEach(function (dest) { $.post("/api/note/transaction/transaction/", diff --git a/templates/note/transaction_form.html b/templates/note/transaction_form.html index c252f636..7757bad1 100644 --- a/templates/note/transaction_form.html +++ b/templates/note/transaction_form.html @@ -10,11 +10,7 @@ SPDX-License-Identifier: GPL-2.0-or-later
- -