diff --git a/amelie/activities/ajax_views.py b/amelie/activities/ajax_views.py
index 753165d7..7e454581 100644
--- a/amelie/activities/ajax_views.py
+++ b/amelie/activities/ajax_views.py
@@ -39,8 +39,10 @@ def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
request_person: Optional[Person] = self.request.person if hasattr(self.request, 'person') else None
context['object'] = Participation.objects.get(pk=self.kwargs['pk'])
- context['transactions'] = [t for t in context['object'].activitytransaction_set.all() if not t.is_paid()]
+ context['transactions'] = [t for t in context['object'].activitytransaction_set.filter(settlement=None)]
context['transactions_total'] = sum(t.price for t in context['transactions'])
+ context['settled_transactions'] = [t for t in context['object'].activitytransaction_set.exclude(settlement=None)]
+ context['settled_transactions_total'] = sum(t.price for t in context['settled_transactions'])
context['is_roomduty'] = request_person and request_person.is_room_duty()
context['is_committee'] = request_person and context['object'].event.organizer in request_person.current_committees().all()
return context
diff --git a/amelie/activities/templates/includes/activity_participants_table.html b/amelie/activities/templates/includes/activity_participants_table.html
index 9abebe14..f0fefadd 100644
--- a/amelie/activities/templates/includes/activity_participants_table.html
+++ b/amelie/activities/templates/includes/activity_participants_table.html
@@ -116,6 +116,13 @@
{% trans 'Previous attempt was reversed' %}
+ {% if request.is_board %}
+
+
+ {% trans 'Cannot create manual payment here' %}
+
+
+ {% endif %}
{% elif details.0 == 'unpaid' and details.1 == None %}
{% blocktrans with costs=participation.to_be_paid_costs|intcomma %}Needs manual payment (€ {{ costs }}){% endblocktrans %}
@@ -128,6 +135,13 @@
{% trans 'Enter manual payment' %}
{% endif %}
+ {% if request.is_board and details.0 == 'unpaid' and details.1 != None %}
+
+ {% trans 'Enter manual payment' %}
+
+ {% endif %}
{% endwith %}
{% endif %}
diff --git a/amelie/activities/templates/includes/activity_participation_create_payment.html b/amelie/activities/templates/includes/activity_participation_create_payment.html
index 4c0288b2..8960dd1b 100644
--- a/amelie/activities/templates/includes/activity_participation_create_payment.html
+++ b/amelie/activities/templates/includes/activity_participation_create_payment.html
@@ -6,6 +6,42 @@
Create manual payment for {{ participation }}
{% endblocktrans %}
+ {% if settled_transactions %}
+
{% trans 'The following transactions for this participation have already been settled. They will not be included in the payment:' %}
+
+
+
+
+ | {% trans 'Timestamp' %} |
+ {% trans 'Description' %} |
+ {% trans 'Amount' %} |
+
+
+
+ {% for transaction in settled_transactions %}
+
+ |
+ {{ transaction.date|date:"d-m-Y H:i" }}
+ |
+
+
+ {{ transaction.description }}
+
+ |
+
+ € {{ transaction.price|intcomma }}
+ |
+
+ {% endfor %}
+
+ |
+ {% trans 'Total' %} |
+ € {{ settled_transactions_total|intcomma }} |
+
+
+
+
+ {% endif %}
{% trans 'You are creating a manual payment that will cover the following transactions:' %}
diff --git a/amelie/calendar/models.py b/amelie/calendar/models.py
index ff985cab..a3621f4d 100644
--- a/amelie/calendar/models.py
+++ b/amelie/calendar/models.py
@@ -110,6 +110,10 @@ def calculate_costs(self) -> Tuple[Decimal, bool]:
def unpaid_transactions(self):
return [t for t in self.activitytransaction_set.all() if not t.is_paid()]
+ @property
+ def unsettled_transactions(self):
+ return [t for t in self.activitytransaction_set.filter(settlement=None)]
+
@property
def to_be_paid_costs(self):
"""
@@ -126,7 +130,7 @@ def mark_as_paid(self, payment_method, actor: Optional[Person] = None):
from amelie.personal_tab.models import ManualPaymentSettlement
# Get the ActivityTransaction(s) for this Participation that still need to be paid
- ats = self.unpaid_transactions
+ ats = self.unsettled_transactions
if not ats:
return None
diff --git a/amelie/members/ajax_views.py b/amelie/members/ajax_views.py
index fa69b703..99d42657 100644
--- a/amelie/members/ajax_views.py
+++ b/amelie/members/ajax_views.py
@@ -148,8 +148,10 @@ def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['person'] = get_object_or_404(Person, id=self.kwargs['id'])
context['membership'] = get_object_or_404(Membership, id=self.kwargs['membership'])
- context['transactions'] = [t for t in context['membership'].contributiontransaction_set.all() if not t.is_paid()]
+ context['transactions'] = [t for t in context['membership'].contributiontransaction_set.filter(settlement=None)]
context['transactions_total'] = sum(t.price for t in context['transactions'])
+ context['settled_transactions'] = [t for t in context['membership'].contributiontransaction_set.exclude(settlement=None)]
+ context['settled_transactions_total'] = sum(t.price for t in context['settled_transactions'])
return context
def get_success_url(self, query: Optional[Dict] = None):
diff --git a/amelie/members/models.py b/amelie/members/models.py
index 1214737e..1f9a32a7 100644
--- a/amelie/members/models.py
+++ b/amelie/members/models.py
@@ -1090,7 +1090,7 @@ def mark_as_paid(self, payment_method, actor: Optional[Person] = None):
from amelie.personal_tab.models import ManualPaymentSettlement
# Get the ContributionTransaction(s) for this Membership that still need to be paid
- cts = [t for t in self.contributiontransaction_set.all() if not t.is_paid()]
+ cts = [t for t in self.contributiontransaction_set.filter(settlement=None)]
if not cts:
return None
diff --git a/amelie/members/templates/person_membership.html b/amelie/members/templates/person_membership.html
index 224e921c..0ba2d6d9 100644
--- a/amelie/members/templates/person_membership.html
+++ b/amelie/members/templates/person_membership.html
@@ -121,6 +121,13 @@
{% trans 'Previous attempt was reversed' %}
+ {% if request.is_board %}
+
+
+ {% trans 'Cannot create manual payment here' %}
+
+
+ {% endif %}
{% elif details.0 == 'unpaid' %}
{% if details.1 == None %}
@@ -135,6 +142,13 @@
{% trans 'Enter manual payment' %}
{% endif %}
+ {% if request.is_board and details.0 == 'unpaid' and details.1 != None %}
+
+ {% trans 'Enter manual payment' %}
+
+ {% endif %}
{% endwith %}
{% endif %}
diff --git a/amelie/members/templates/person_membership_create_payment.html b/amelie/members/templates/person_membership_create_payment.html
index 1998f918..c99c2b20 100644
--- a/amelie/members/templates/person_membership_create_payment.html
+++ b/amelie/members/templates/person_membership_create_payment.html
@@ -6,6 +6,42 @@
Create manual payment for {{ membership }} of {{ person }}
{% endblocktrans %}
+ {% if settled_transactions %}
+ {% trans 'The following transactions for this membership have already been settled. They will not be included in the payment:' %}
+
+
+
+
+ | {% trans 'Timestamp' %} |
+ {% trans 'Description' %} |
+ {% trans 'Amount' %} |
+
+
+
+ {% for transaction in settled_transactions %}
+
+ |
+ {{ transaction.date|date:"d-m-Y H:i" }}
+ |
+
+
+ {{ transaction.description }}
+
+ |
+
+ € {{ transaction.price|intcomma }}
+ |
+
+ {% endfor %}
+
+ |
+ {% trans 'Total' %} |
+ € {{ settled_transactions_total|intcomma }} |
+
+
+
+
+ {% endif %}
{% trans 'You are creating a manual payment that will cover the following transactions:' %}
diff --git a/locale/nl/LC_MESSAGES/django.mo b/locale/nl/LC_MESSAGES/django.mo
index 103ced34..32aef1d9 100644
Binary files a/locale/nl/LC_MESSAGES/django.mo and b/locale/nl/LC_MESSAGES/django.mo differ
diff --git a/locale/nl/LC_MESSAGES/django.po b/locale/nl/LC_MESSAGES/django.po
index dd0e9da5..a8079ca3 100644
--- a/locale/nl/LC_MESSAGES/django.po
+++ b/locale/nl/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@
msgid ""
msgstr ""
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2026-08-17 14:55+0200\n"
-"PO-Revision-Date: 2026-08-17 19:55+0000\n"
+"POT-Creation-Date: 2026-08-20 12:13+0200\n"
+"PO-Revision-Date: 2026-08-20 10:17+0000\n"
"Last-Translator: Kevin Alberts \n"
"Language-Team: Dutch \n"
"Language: nl\n"
@@ -343,8 +343,8 @@ msgstr "Achternaam"
#: amelie/activities/templates/activity_list.html:115
#: amelie/activities/templates/activity_old.html:4
#: amelie/activities/templates/activity_old.html:34
-#: amelie/calendar/models.py:31 amelie/calendar/models.py:209
-#: amelie/calendar/models.py:210
+#: amelie/calendar/models.py:31 amelie/calendar/models.py:213
+#: amelie/calendar/models.py:214
#: amelie/companies/templates/companies/company_event_list.html:4
#: amelie/companies/templates/companies/company_event_old.html:34
#: amelie/personal_tab/models.py:225 amelie/personal_tab/statistics.py:289
@@ -360,7 +360,7 @@ msgstr "Achternaam"
msgid "Activities"
msgstr "Activiteiten"
-#: amelie/activities/forms.py:383 amelie/calendar/models.py:192
+#: amelie/activities/forms.py:383 amelie/calendar/models.py:196
#: amelie/education/models.py:258 amelie/education/models.py:286
#: amelie/education/templates/education_event_overview.html:18
#: amelie/oauth/forms.py:11 amelie/videos/models.py:20
@@ -1111,7 +1111,7 @@ msgstr "Opslaan en inschrijfopties toevoegen"
#: amelie/activities/templates/activities/activity_form.html:107
#: amelie/activities/templates/activities/enrollmentoption_confirm_delete.html:21
#: amelie/activities/templates/activity_enrollment_form.html:194
-#: amelie/activities/templates/includes/activity_participation_create_payment.html:60
+#: amelie/activities/templates/includes/activity_participation_create_payment.html:96
#: amelie/claudia/templates/accounts/mailing_alias.html:18
#: amelie/claudia/templates/claudia/extrapersonalalias_delete.html:21
#: amelie/companies/templates/companies/company_event_form.html:111
@@ -1135,7 +1135,7 @@ msgstr "Opslaan en inschrijfopties toevoegen"
#: amelie/members/templates/person_end_membership.html:21
#: amelie/members/templates/person_existing_mandate.html:17
#: amelie/members/templates/person_mandate_sign.html:48
-#: amelie/members/templates/person_membership_create_payment.html:60
+#: amelie/members/templates/person_membership_create_payment.html:96
#: amelie/members/templates/person_membership_sign.html:48
#: amelie/members/templates/person_new_mandate.html:11
#: amelie/members/templates/person_new_membership.html:11
@@ -1851,7 +1851,7 @@ msgstr "Start/eindtijd"
#: amelie/activities/templates/activities/eventdesk/message_list.html:153
#: amelie/activities/templates/activities/eventdesk/message_list.html:194
-#: amelie/calendar/models.py:189
+#: amelie/calendar/models.py:193
msgid "Location"
msgstr "Locatie"
@@ -1935,7 +1935,7 @@ msgstr "Wijzig inschrijfopties"
msgid "Undo event cancellation"
msgstr "Maak annuleren van evenement ongedaan"
-#: amelie/activities/templates/activity.html:45 amelie/calendar/models.py:200
+#: amelie/activities/templates/activity.html:45 amelie/calendar/models.py:204
msgid "Cancel event"
msgstr "Annuleer evenement"
@@ -2289,8 +2289,10 @@ msgstr ""
#: amelie/activities/templates/activity_enrollment_form.html:168
#: amelie/activities/templates/activity_enrollment_print.html:90
#: amelie/activities/templates/includes/activity_enrollment_overview.html:89
-#: amelie/activities/templates/includes/activity_participation_create_payment.html:45
-#: amelie/members/templates/person_membership_create_payment.html:45
+#: amelie/activities/templates/includes/activity_participation_create_payment.html:38
+#: amelie/activities/templates/includes/activity_participation_create_payment.html:81
+#: amelie/members/templates/person_membership_create_payment.html:38
+#: amelie/members/templates/person_membership_create_payment.html:81
#: amelie/members/templates/statistics/overview.html:44
#: amelie/members/templates/statistics/overview.html:133
#: amelie/personal_tab/templates/balance/balance.html:57
@@ -2458,13 +2460,13 @@ msgstr "Betaling"
#: amelie/activities/templates/activity_enrollment_print.html:55
#: amelie/activities/templates/includes/activity_enrollment_overview.html:172
#: amelie/activities/templates/includes/activity_participants_table.html:65
-#: amelie/activities/templates/includes/activity_participants_table.html:137
+#: amelie/activities/templates/includes/activity_participants_table.html:151
msgid "N/A (free)"
msgstr "n.v.t. (gratis)"
#: amelie/activities/templates/activity_enrollment_print.html:59
#: amelie/activities/templates/includes/activity_participants_table.html:79
-#: amelie/activities/templates/includes/activity_participants_table.html:141
+#: amelie/activities/templates/includes/activity_participants_table.html:155
#: amelie/activities/templates/includes/activity_participation_payments.html:25
#: amelie/members/templates/person_membership.html:84
#: amelie/members/templates/person_membership_payments.html:25
@@ -2476,8 +2478,8 @@ msgstr "Betaald"
#: amelie/activities/templates/includes/activity_enrollment_overview.html:175
#: amelie/activities/templates/includes/activity_participants_table.html:83
#: amelie/activities/templates/includes/activity_participants_table.html:85
-#: amelie/activities/templates/includes/activity_participants_table.html:144
-#: amelie/activities/templates/includes/activity_participants_table.html:146
+#: amelie/activities/templates/includes/activity_participants_table.html:158
+#: amelie/activities/templates/includes/activity_participants_table.html:160
#: amelie/members/templates/person_membership.html:88
#: amelie/members/templates/person_membership.html:90
msgid "To be debited"
@@ -2485,13 +2487,13 @@ msgstr "Nog te incasseren"
#: amelie/activities/templates/activity_enrollment_print.html:67
#: amelie/activities/templates/includes/activity_enrollment_overview.html:177
-#: amelie/members/templates/person_membership.html:127
+#: amelie/members/templates/person_membership.html:134
msgid "Needs manual payment"
msgstr "Handmatige betaling vereist"
#: amelie/activities/templates/activity_enrollment_print.html:69
#: amelie/activities/templates/includes/activity_participants_table.html:87
-#: amelie/activities/templates/includes/activity_participants_table.html:148
+#: amelie/activities/templates/includes/activity_participants_table.html:162
#: amelie/activities/templates/includes/activity_participation_payments.html:27
#: amelie/members/templates/person_membership.html:92
#: amelie/members/templates/person_membership_payments.html:27
@@ -2516,9 +2518,11 @@ msgstr "Gerecht"
#: amelie/activities/templates/activity_enrollment_print.html:86
#: amelie/activities/templates/includes/activity_enrollment_overview.html:83
-#: amelie/activities/templates/includes/activity_participation_create_payment.html:18
+#: amelie/activities/templates/includes/activity_participation_create_payment.html:17
+#: amelie/activities/templates/includes/activity_participation_create_payment.html:54
#: amelie/activities/templates/includes/activity_participation_payments.html:37
-#: amelie/members/templates/person_membership_create_payment.html:18
+#: amelie/members/templates/person_membership_create_payment.html:17
+#: amelie/members/templates/person_membership_create_payment.html:54
#: amelie/members/templates/person_membership_payments.html:37
#: amelie/members/templates/statistics/overview.html:35
#: amelie/members/templates/statistics/overview.html:124
@@ -2573,7 +2577,7 @@ msgstr "iCal-document met activiteit"
#: amelie/activities/templates/activity_list.html:70
#: amelie/activities/templates/activity_list.html:71
#: amelie/activities/templates/activity_list.html:127
-#: amelie/calendar/models.py:194
+#: amelie/calendar/models.py:198
#: amelie/companies/templates/companies/company_event_list.html:36
#: amelie/companies/templates/companies/company_event_list.html:86
#: templates/frontpage.html:28 templates/frontpage.html:29
@@ -2921,13 +2925,13 @@ msgstr "Uitschrijven van de wachtlijst"
#: amelie/activities/templates/includes/activity_enrollment.html:123
#: amelie/activities/templates/includes/activity_enrollment_overview.html:190
-#: amelie/activities/templates/includes/activity_participants_table.html:167
+#: amelie/activities/templates/includes/activity_participants_table.html:181
msgid "Deregister"
msgstr "Uitschrijven"
#: amelie/activities/templates/includes/activity_enrollment.html:126
#: amelie/activities/templates/includes/activity_enrollment_overview.html:185
-#: amelie/activities/templates/includes/activity_participants_table.html:162
+#: amelie/activities/templates/includes/activity_participants_table.html:176
msgid "Edit enrollment"
msgstr "Inschrijving aanpassen"
@@ -3177,17 +3181,29 @@ msgid "Previous attempt was reversed"
msgstr "Vorige poging is teruggeboekt"
#: amelie/activities/templates/includes/activity_participants_table.html:121
-#: amelie/activities/templates/includes/activity_participants_table.html:151
+#: amelie/members/templates/person_membership.html:126
+msgid "Because this transaction was reversed, we can't create a payment for it here (the reversal might have included other transactions). To mark this as paid, create a payment manually in the person's personal tab."
+msgstr "Omdat deze transactie is teruggeboekt, kunnen we er hier geen betaling voor aanmaken (de terugboeking kan andere transacties bevatten). Om dit te betalen, maak je een handmatige betaling aan in de streeplijst van de persoon."
+
+#: amelie/activities/templates/includes/activity_participants_table.html:122
+#: amelie/members/templates/person_membership.html:127
+msgid "Cannot create manual payment here"
+msgstr "Kan hier geen betaling maken"
+
+#: amelie/activities/templates/includes/activity_participants_table.html:128
+#: amelie/activities/templates/includes/activity_participants_table.html:165
#, python-format
msgid "Needs manual payment (€ %(costs)s)"
msgstr "Handmatige betaling vereist (€ %(costs)s)"
-#: amelie/activities/templates/includes/activity_participants_table.html:128
-#: amelie/members/templates/person_membership.html:135
+#: amelie/activities/templates/includes/activity_participants_table.html:135
+#: amelie/activities/templates/includes/activity_participants_table.html:142
+#: amelie/members/templates/person_membership.html:142
+#: amelie/members/templates/person_membership.html:149
msgid "Enter manual payment"
msgstr "Handmatige betaling invoeren"
-#: amelie/activities/templates/includes/activity_participants_table.html:188
+#: amelie/activities/templates/includes/activity_participants_table.html:202
#, python-format
msgid ""
"\n"
@@ -3218,16 +3234,17 @@ msgstr ""
" "
#: amelie/activities/templates/includes/activity_participation_create_payment.html:10
-#: amelie/members/templates/person_membership_create_payment.html:10
-msgid "You are creating a manual payment that will cover the following transactions:"
-msgstr "Je maakt een handmatige betaling aan voor de volgende transacties:"
+msgid "The following transactions for this participation have already been settled. They will not be included in the payment:"
+msgstr "De volgende transacties voor deze deelname zijn al verrekend. Deze zullen niet worden meegenomen in de betaling:"
-#: amelie/activities/templates/includes/activity_participation_create_payment.html:16
+#: amelie/activities/templates/includes/activity_participation_create_payment.html:15
+#: amelie/activities/templates/includes/activity_participation_create_payment.html:52
#: amelie/activities/templates/includes/activity_participation_payments.html:35
#: amelie/blame/templates/blame/blame_changelog.html:25
#: amelie/blame/templates/blame/blame_detail.html:29
#: amelie/blame/templates/blame/model_overview.html:21
-#: amelie/members/templates/person_membership_create_payment.html:16
+#: amelie/members/templates/person_membership_create_payment.html:15
+#: amelie/members/templates/person_membership_create_payment.html:52
#: amelie/members/templates/person_membership_payments.html:35
#: amelie/personal_tab/templates/print/log_list.html:29
#: amelie/personal_tab/templates/print/refund.html:14 amelie/tools/models.py:46
@@ -3235,9 +3252,10 @@ msgstr "Je maakt een handmatige betaling aan voor de volgende transacties:"
msgid "Timestamp"
msgstr "Tijdstempel"
-#: amelie/activities/templates/includes/activity_participation_create_payment.html:17
+#: amelie/activities/templates/includes/activity_participation_create_payment.html:16
+#: amelie/activities/templates/includes/activity_participation_create_payment.html:53
#: amelie/activities/templates/includes/activity_participation_payments.html:36
-#: amelie/calendar/models.py:185
+#: amelie/calendar/models.py:189
#: amelie/claudia/templates/claudia/aliasgroup_list.html:23
#: amelie/claudia/templates/claudia/contact_list.html:22
#: amelie/claudia/templates/claudia/email_detail.html:18
@@ -3253,7 +3271,8 @@ msgstr "Tijdstempel"
#: amelie/companies/templates/companies/company_event_form.html:87
#: amelie/education/templates/education_event_form.html:50
#: amelie/members/models.py:847
-#: amelie/members/templates/person_membership_create_payment.html:17
+#: amelie/members/templates/person_membership_create_payment.html:16
+#: amelie/members/templates/person_membership_create_payment.html:53
#: amelie/members/templates/person_membership_payments.html:36
#: amelie/oauth/templates/oauth_access_request.mail:12
#: amelie/oauth/templates/request_oauth_sent.html:23
@@ -3288,25 +3307,32 @@ msgstr "Tijdstempel"
msgid "Description"
msgstr "Omschrijving"
-#: amelie/activities/templates/includes/activity_participation_create_payment.html:28
+#: amelie/activities/templates/includes/activity_participation_create_payment.html:27
+#: amelie/activities/templates/includes/activity_participation_create_payment.html:64
#: amelie/activities/templates/includes/activity_participation_payments.html:48
-#: amelie/members/templates/person_membership_create_payment.html:28
+#: amelie/members/templates/person_membership_create_payment.html:27
+#: amelie/members/templates/person_membership_create_payment.html:64
#: amelie/members/templates/person_membership_payments.html:48
msgid "Transaction details (opens in new tab)"
msgstr "Transactiedetails (opent nieuw tabblad)"
-#: amelie/activities/templates/includes/activity_participation_create_payment.html:39
-#: amelie/members/templates/person_membership_create_payment.html:39
+#: amelie/activities/templates/includes/activity_participation_create_payment.html:46
+#: amelie/members/templates/person_membership_create_payment.html:46
+msgid "You are creating a manual payment that will cover the following transactions:"
+msgstr "Je maakt een handmatige betaling aan voor de volgende transacties:"
+
+#: amelie/activities/templates/includes/activity_participation_create_payment.html:75
+#: amelie/members/templates/person_membership_create_payment.html:75
msgid "No transactions found. This is probably wrong! Please contact the WWW."
msgstr "Geen transacties gevonden. Dit klopt waarschijnlijk niet! Neem contact op met de WWW."
-#: amelie/activities/templates/includes/activity_participation_create_payment.html:52
-#: amelie/members/templates/person_membership_create_payment.html:52
+#: amelie/activities/templates/includes/activity_participation_create_payment.html:88
+#: amelie/members/templates/person_membership_create_payment.html:88
msgid "Please select the payment method that was used for the payment."
msgstr "Selecteer de betaalmethode die gebruikt is voor de betaling."
-#: amelie/activities/templates/includes/activity_participation_create_payment.html:63
-#: amelie/members/templates/person_membership_create_payment.html:63
+#: amelie/activities/templates/includes/activity_participation_create_payment.html:99
+#: amelie/members/templates/person_membership_create_payment.html:99
msgid "Create payment"
msgstr "Betaling toevoegen"
@@ -3954,72 +3980,72 @@ msgstr "Deelnames"
msgid "deleted activity"
msgstr "verwijderde activiteit"
-#: amelie/calendar/models.py:136
+#: amelie/calendar/models.py:140
#, python-brace-format
msgid "Payment for enrollment to {event} on {date}"
msgstr "Betaling voor inschrijving voor {event} op {date}"
-#: amelie/calendar/models.py:170 amelie/education/models.py:134
+#: amelie/calendar/models.py:174 amelie/education/models.py:134
#: amelie/room_duty/models.py:40 amelie/room_duty/models.py:109
#: amelie/room_duty/models.py:206
msgid "Starts"
msgstr "Begint"
-#: amelie/calendar/models.py:171 amelie/education/models.py:135
+#: amelie/calendar/models.py:175 amelie/education/models.py:135
#: amelie/room_duty/models.py:110 amelie/room_duty/models.py:207
msgid "Ends"
msgstr "Eindigt"
-#: amelie/calendar/models.py:172
+#: amelie/calendar/models.py:176
msgid "All day"
msgstr "Hele dag"
-#: amelie/calendar/models.py:174 amelie/education/models.py:253
+#: amelie/calendar/models.py:178 amelie/education/models.py:253
msgid "Summary"
msgstr "Samenvatting"
-#: amelie/calendar/models.py:175
+#: amelie/calendar/models.py:179
msgid "Summary (en)"
msgstr "Samenvatting (en)"
-#: amelie/calendar/models.py:177 amelie/calendar/models.py:180
+#: amelie/calendar/models.py:181 amelie/calendar/models.py:184
msgid "Short promotional message"
msgstr "Korte promotietekst"
-#: amelie/calendar/models.py:178 amelie/calendar/models.py:182
+#: amelie/calendar/models.py:182 amelie/calendar/models.py:186
msgid "This text can be used by the board for promotion, for example on our socials or in our weekmail. Let it be a teaser, so people would want to read your full activity description."
msgstr "Deze tekst kan gebruikt worden door het bestuur voor promotie, bijvoorbeeld op onze social media kanalen of in onze weekmail. Laat het een teaser zijn, zodat mensen die geïnteresseerd zijn jouw volledige beschrijving willen lezen."
-#: amelie/calendar/models.py:186
+#: amelie/calendar/models.py:190
msgid "Description (en)"
msgstr "Omschrijving (en)"
-#: amelie/calendar/models.py:188
+#: amelie/calendar/models.py:192
msgid "Organizer"
msgstr "Organisator"
-#: amelie/calendar/models.py:191
+#: amelie/calendar/models.py:195
msgid "Participants"
msgstr "Deelnemers"
-#: amelie/calendar/models.py:193 amelie/files/models.py:149
+#: amelie/calendar/models.py:197 amelie/files/models.py:149
#: amelie/personal_tab/forms.py:479 amelie/tools/pdf.py:574
msgid "Attachments"
msgstr "Bijlagen"
-#: amelie/calendar/models.py:196
+#: amelie/calendar/models.py:200
msgid "Callback URL"
msgstr "Callback URL"
-#: amelie/calendar/models.py:197
+#: amelie/calendar/models.py:201
msgid "URL has to start with https://"
msgstr "URL moet met https:// beginnen"
-#: amelie/calendar/models.py:201
+#: amelie/calendar/models.py:205
msgid "Whether this event is cancelled, only cancel when needed. Participants will receive an email notification!"
msgstr "Of dit evenement geannuleerd is, annuleer deze alleen wanneer nodig is. Deelnemers ontvangen hiervan een email!"
-#: amelie/calendar/models.py:272 amelie/education/models.py:160
+#: amelie/calendar/models.py:276 amelie/education/models.py:160
#: amelie/room_duty/models.py:122
msgid "Start may not be after of simultaneous to end."
msgstr "Begin kan niet na het einde voorkomen of gelijk zijn aan het einde."
@@ -7282,7 +7308,7 @@ msgstr ""
"Er zijn %(mail_count)s berichten verstuurd. Hiervan zijn er %(sent_count)s geaccepteerd\n"
"en %(error_count)s niet geaccepteerd."
-#: amelie/members/ajax_views.py:220
+#: amelie/members/ajax_views.py:222
#, python-brace-format
msgid "Early termination of membership {membership_type} ({begin_year}/{end_year})"
msgstr "Voortijdige beëindiging van lidmaatschap {membership_type} ({begin_year}/{end_year})"
@@ -10305,7 +10331,7 @@ msgid "View signature"
msgstr "Handtekening tonen"
#: amelie/members/templates/person_mandate.html:94
-#: amelie/members/templates/person_membership.html:149
+#: amelie/members/templates/person_membership.html:163
#: amelie/members/templates/preregistration_resend_confirm.html:4
#: amelie/members/templates/preregistration_resend_confirm.html:8
#: amelie/members/templates/preregistration_status.html:84
@@ -10318,7 +10344,7 @@ msgstr "Handtekening opnieuw aanvragen"
#: amelie/members/templates/person_mandate.html:96
#: amelie/members/templates/person_mandate_sign.html:3
-#: amelie/members/templates/person_membership.html:151
+#: amelie/members/templates/person_membership.html:165
#: amelie/members/templates/person_membership_sign.html:3
msgid "Send digital signature request"
msgstr "Verstuur digitaal ondertekeningsverzoek"
@@ -10336,7 +10362,7 @@ msgid "View in sign tool"
msgstr "Tonen in ondertekeningstool"
#: amelie/members/templates/person_mandate.html:102
-#: amelie/members/templates/person_membership.html:157
+#: amelie/members/templates/person_membership.html:171
#: amelie/members/templates/preregistration_status.html:90
msgid "Try to retrieve signed file from Documenso"
msgstr "Probeer het ondertekende document op te halen uit Documenso"
@@ -10423,7 +10449,7 @@ msgstr ""
"%(obj)s is geen lid."
#: amelie/members/templates/person_membership.html:21
-#: amelie/members/templates/person_membership.html:179
+#: amelie/members/templates/person_membership.html:193
msgid "Add membership"
msgstr "Voeg lidmaatschap toe"
@@ -10472,23 +10498,23 @@ msgstr "n.v.t."
msgid "For some reason this free membership has payments! This should not happen."
msgstr "Om de een of andere reden heeft dit gratis lidmaatschap betalingen! Dit zou niet mogen gebeuren."
-#: amelie/members/templates/person_membership.html:143
+#: amelie/members/templates/person_membership.html:157
msgid "Download PDF form"
msgstr "Download PDF-formulier"
-#: amelie/members/templates/person_membership.html:145
+#: amelie/members/templates/person_membership.html:159
msgid "View signed member form"
msgstr "Ondertekend lidmaatschapsformulier tonen"
-#: amelie/members/templates/person_membership.html:156
+#: amelie/members/templates/person_membership.html:170
msgid "A signature request for this membership is in progress. Click to open the request in Documenso."
msgstr "Een ondertekeningsverzoek voor deze machtiging is in behandeling. Klik om het verzoek te openen in Documenso."
-#: amelie/members/templates/person_membership.html:160
+#: amelie/members/templates/person_membership.html:174
msgid "This membership was created before we introduced digital signatures. Its signed copy may be in the physical folders."
msgstr "Dit lidmaatschap is aangemaakt voordat we digitale handtekeningen hebben geintroduceerd. Het ondertekende exemplaar bevindt zich mogelijk in de fysieke mappen."
-#: amelie/members/templates/person_membership.html:175
+#: amelie/members/templates/person_membership.html:189
msgid "Terminate membership"
msgstr "Einde lidmaatschap"
@@ -10503,6 +10529,10 @@ msgstr ""
" Handmatige betaling aanmaken voor %(membership)s van %(person)s\n"
" "
+#: amelie/members/templates/person_membership_create_payment.html:10
+msgid "The following transactions for this membership have already been settled. They will not be included in the payment:"
+msgstr "De volgende transacties voor dit lidmaatschap zijn al verrekend. Deze zullen niet worden meegenomen in de betaling:"
+
#: amelie/members/templates/person_membership_payments.html:20
#, python-format
msgid ""
@@ -13351,13 +13381,14 @@ msgid "Only people without a mandate are shown."
msgstr "Alleen mensen zonder machtiging worden getoond."
#: amelie/personal_tab/templates/cookie_corner_unpaid_transactions_list.html:26
+#, python-format
msgid ""
"\n"
-" Only people with a mandate of type 'filtered_type' are shown.\n"
+" Only people with a mandate of type '%(filtered_type)s' are shown.\n"
" "
msgstr ""
"\n"
-" Alleen mensen met een machtiging van soort 'filtered_type' worden getoond.\n"
+" Alleen mensen met een machtiging van soort '%(filtered_type)s' worden getoond.\n"
" "
#: amelie/personal_tab/templates/cookie_corner_unpaid_transactions_list.html:30