finance/admin: validate IBAN and show EPC-QR code for transactions #94

Merged
christian.merten merged 12 commits from MK/finance_qr_codes into main 1 year ago
Collaborator
  1. IBAN validation in member admin.
  2. In the transaction overview, for every transaction an EPC-QR code for banking apps is generated and displayed. The (necessary) BIC field is automatically derived from the IBAN. This closes #63.

Both steps use the python library schwifty.

1. IBAN validation in member admin. 2. In the transaction overview, for every transaction an EPC-QR code for banking apps is generated and displayed. The (necessary) BIC field is automatically derived from the IBAN. This closes #63. Both steps use the python library schwifty.
marius.klein added the
Kind/Feature
Effekt
Anwender
labels 1 year ago
christian.merten was assigned by marius.klein 1 year ago
leonard.koenig was assigned by marius.klein 1 year ago
christian.merten was unassigned by marius.klein 1 year ago
leonard.koenig was unassigned by marius.klein 1 year ago
marius.klein requested review from christian.merten 1 year ago
marius.klein requested review from leonard.koenig 1 year ago
christian.merten reviewed 1 year ago
christian.merten left a comment
Owner

Richtig cool, vielen Dank!

Richtig cool, vielen Dank!
@ -7,6 +7,8 @@
<script src="{% static 'admin/js/cancel.js' %}" async></script>
<script type="text/javascript" src="{% static "admin/js/vendor/jquery/jquery.js" %}"></script>
<script type="text/javascript" src="{% static "admin/js/jquery.init.js" %}"></script>
<script type="text/javascript" src="https://cdn.rawgit.com/davidshimjs/qrcodejs/gh-pages/qrcode.js"></script>
Owner

Ich würde das Skript einfach ins repository kopieren und statisch serven. Das macht unsere Datenschutzerklärung nur unnötig komplizierter.

Ich würde das Skript einfach ins repository kopieren und statisch serven. Das macht unsere Datenschutzerklärung nur unnötig komplizierter.
Poster
Collaborator

Ergibt Sinn! Ich hab dieses static directory mit den jquery files nicht gefunden. Ist das Teil des Repos?

Ergibt Sinn! Ich hab dieses static directory mit den jquery files nicht gefunden. Ist das Teil des Repos?
Owner

Die kommen von Django. Ich würde einen neuen Folder jdav_web/static/js/ machen und da drin ein file qrcode.js mit dem von dir verwendeten Skript.

Die kommen von Django. Ich würde einen neuen Folder `jdav_web/static/js/` machen und da drin ein file `qrcode.js` mit dem von dir verwendeten Skript.
@ -55,2 +58,4 @@
{{ transaction.ledger }}
</td>
<td>
<div id="qrcode_{{ forloop.counter }}"></div>
Owner

Wenn es mehrere QR codes gibt und ich mit meiner Banking App versuche zu scannen, ist es schwierig den richtigen auszusuchen. Vielleicht wäre es gut die QR codes hinter einem Pop-Up zu verstecken? Oder zum Ausklappen?

Wenn es mehrere QR codes gibt und ich mit meiner Banking App versuche zu scannen, ist es schwierig den richtigen auszusuchen. Vielleicht wäre es gut die QR codes hinter einem Pop-Up zu verstecken? Oder zum Ausklappen?
marius.klein marked this conversation as resolved
@ -164,0 +175,4 @@
if len(iban_str) > 0:
iban = IBAN(iban_str, allow_invalid=True)
if not iban.is_valid:
raise ValidationError("Die angegebene IBAN ist nicht valide.")
Owner

Statt

ValidationError("Die angegebene IBAN ist nicht valide.")

bitte

ValidationError(_("The entered IBAN is not valid."))

und dann python3 manage.py makemessages --locale de (das generiert jede Menge translation files, du kannst alle bis auf das für finance und members wegwerfen). Nach python3 manage.py compilemessages werden die Übersetzungen angezeigt.

Statt ``` ValidationError("Die angegebene IBAN ist nicht valide.") ``` bitte ``` ValidationError(_("The entered IBAN is not valid.")) ``` und dann `python3 manage.py makemessages --locale de` (das generiert jede Menge translation files, du kannst alle bis auf das für `finance` und `members` wegwerfen). Nach `python3 manage.py compilemessages` werden die Übersetzungen angezeigt.
marius.klein marked this conversation as resolved
Owner

Noch was allgemeines: gibt noch ein paar Stellen mit trailing whitespace, kannst du den noch entfernen?

Noch was allgemeines: gibt noch ein paar Stellen mit trailing whitespace, kannst du den noch entfernen?
Owner

@christian.merten würdest du das zum testen in dev deployen?

Habe jetzt mal einen testing branch erstellt und dev.jdav-hd.merten.dev zeigt auf den branch. Deine Änderungen habe ich in testing gemerged.

testing wird dann regelmäßig auf main resetted, das heißt commit history ist dort egal.

> @christian.merten würdest du das zum testen in dev deployen? Habe jetzt mal einen `testing` branch erstellt und `dev.jdav-hd.merten.dev` zeigt auf den branch. Deine Änderungen habe ich in `testing` gemerged. `testing` wird dann regelmäßig auf `main` resetted, das heißt commit history ist dort egal.
christian.merten approved these changes 1 year ago
christian.merten left a comment
Owner

Habe den merge conflict gefixed (das ist immer etwas ätzend mit den locale files).

Wenn du noch das .js file statisch kopierst, ist das ready to merge.

Habe den merge conflict gefixed (das ist immer etwas ätzend mit den locale files). Wenn du noch das `.js` file statisch kopierst, ist das ready to merge.
christian.merten changed title from MK/finance_qr_codes to finance: verify IBAN and show EPC-QR code for transactions 1 year ago
christian.merten changed title from finance: verify IBAN and show EPC-QR code for transactions to finance/admin: verify IBAN and show EPC-QR code for transactions 1 year ago
christian.merten changed title from finance/admin: verify IBAN and show EPC-QR code for transactions to finance/admin: validate IBAN and show EPC-QR code for transactions 1 year ago
christian.merten removed review request for leonard.koenig 1 year ago
christian.merten merged commit 3b46695b49 into main 1 year ago
christian.merten deleted branch MK/finance_qr_codes 1 year ago

Reviewers

christian.merten approved these changes 1 year ago
The pull request has been merged as 3b46695b49.
Sign in to join this conversation.
No reviewers
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: digitales/kompass#94
Loading…
There is no content yet.