Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
thalia
concrexit
Commits
7b822387
Unverified
Commit
7b822387
authored
Sep 10, 2017
by
Joost Rijneveld
Browse files
Export email addresses of event attendees
parent
95f8aedf
Changes
6
Hide whitespace changes
Inline
Side-by-side
website/events/locale/nl/LC_MESSAGES/django.mo
View file @
7b822387
No preview for this file type
website/events/locale/nl/LC_MESSAGES/django.po
View file @
7b822387
...
...
@@ -7,9 +7,9 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-0
8
-1
6 22:58
+0200\n"
"PO-Revision-Date: 2017-0
8
-1
6 23:00
+0200\n"
"Last-Translator:
Sébastiaan Versteeg <se_bastiaan@outlook.com
>\n"
"POT-Creation-Date: 2017-0
9
-1
0 14:34
+0200\n"
"PO-Revision-Date: 2017-0
9
-1
0 14:34
+0200\n"
"Last-Translator:
Joost Rijneveld <joost@joostrijneveld.nl
>\n"
"Language-Team: \n"
"Language: nl\n"
"MIME-Version: 1.0\n"
...
...
@@ -78,7 +78,7 @@ msgstr "Overig"
msgid "No registration required"
msgstr "Geen aanmelding vereist"
#: models.py:37 templates/events/admin/details.html:6
7
#: models.py:37 templates/events/admin/details.html:6
8
msgid "title"
msgstr "titel"
...
...
@@ -94,7 +94,7 @@ msgstr "starttijd"
msgid "end time"
msgstr "eindtijd"
#: models.py:53 templates/events/admin/details.html:7
1
#: models.py:53 templates/events/admin/details.html:7
2
msgid "organiser"
msgstr "organisator"
...
...
@@ -122,7 +122,7 @@ msgstr "einde aanmelden"
msgid "cancel deadline"
msgstr "afmelddeadline"
#: models.py:89 templates/events/admin/details.html:7
5
#: models.py:89 templates/events/admin/details.html:7
6
#: templates/events/event.html:37
msgid "location"
msgstr "locatie"
...
...
@@ -139,7 +139,7 @@ msgstr ""
"Locatie van ’t Huygens: Heyendaalseweg 135, Nijmegen. Locatie van Mercator "
"1: Toernooiveld 212, Nijmegen. Dit veld wordt niet getoond als tekst!!"
#: models.py:102 templates/events/admin/details.html:7
7
#: models.py:102 templates/events/admin/details.html:7
8
#: templates/events/event.html:42
msgid "price"
msgstr "prijs"
...
...
@@ -321,50 +321,66 @@ msgid "Export registrations"
msgstr "Exporteer aanmeldingen"
#: templates/events/admin/details.html:52
msgid "Export email addresses of attendees"
msgstr "Exporteer e-mailadressen van aanwezigen"
#: templates/events/admin/details.html:53
msgid "Set all registered to paid and present"
msgstr "Zet iedereen op betaald en present"
#: templates/events/admin/details.html:6
0
#: templates/events/admin/details.html:6
1
msgid "Event properties"
msgstr "Eigenschappen van evenement"
#: templates/events/admin/details.html:6
3
#: templates/events/admin/details.html:6
4
#: templates/events/admin/registrations_table.html:50
msgid "change"
msgstr "verander"
#: templates/events/admin/details.html:
69
#: templates/events/admin/details.html:
70
#: templates/events/admin/registrations_table.html:7
msgid "date"
msgstr "datum"
#: templates/events/admin/details.html:7
3
#: templates/events/admin/details.html:7
4
msgid "registration period"
msgstr "aanmeldperiode"
#: templates/events/admin/details.html:
79
#: templates/events/admin/details.html:
80
msgid "cost"
msgstr "kosten"
#: templates/events/admin/details.html:8
1
#: templates/events/admin/details.html:8
2
msgid "registration required"
msgstr "aanmelden vereist"
#: templates/events/admin/details.html:8
4
#: templates/events/admin/details.html:8
5
msgid "registration message"
msgstr "aanmeldbericht"
#: templates/events/admin/details.html:8
7
templates/events/event.html:56
#: templates/events/admin/details.html:8
8
templates/events/event.html:56
msgid "number of registrations"
msgstr "aantal aanmeldingen"
#: templates/events/admin/details.html:
8
9 templates/events/event.html:58
#: templates/events/admin/details.html:9
0
templates/events/event.html:58
#, python-format
msgid "%(counter)s registration"
msgid_plural "%(counter)s registrations"
msgstr[0] "%(counter)s aanmelding"
msgstr[1] "%(counter)s aanmeldingen"
#: templates/events/admin/email_export.txt:1
msgid "Copy-pasteable email addresses of attendees:"
msgstr "Kopieerbare e-mailadressen van aanwezigen:"
#: templates/events/admin/email_export.txt:5
msgid ""
"Some attendees were registered manually, and are thus not included in the "
"list above:"
msgstr ""
"Sommige aanwezigen zijn met de hand geregistreerd, en komen dus niet in de "
"bovenstaande lijst voor:"
#: templates/events/admin/registrations_table.html:12
msgid "not paid"
msgstr "niet betaald"
...
...
@@ -580,56 +596,56 @@ msgstr "Toon verjaardagen"
msgid "list"
msgstr "Lijst"
#: views.py:9
4
#: views.py:9
5
msgctxt "registration status"
msgid "registered"
msgstr "aangemeld"
#: views.py:10
0
views.py:13
5
#: views.py:10
1
views.py:13
6
msgctxt "registration status"
msgid "late cancellation"
msgstr "te laat afgemeld"
#: views.py:10
2
#: views.py:10
3
msgctxt "registration status"
msgid "cancelled"
msgstr "afgemeld"
#: views.py:10
6
#: views.py:10
7
msgctxt "registration status"
msgid "waiting"
msgstr "wachtend"
#: views.py:11
1
views.py:12
2
#: views.py:11
2
views.py:12
3
msgid "Yes"
msgstr "Ja"
#: views.py:2
21
#: views.py:2
38
msgid "[THALIA] Notification about your registration for '{}'"
msgstr "[THALIA] Bericht over je aanmelding voor ‘{}’"
#: views.py:2
65
views.py:2
76
views.py:
289
#: views.py:2
83
views.py:2
94
views.py:
307
msgid "Registration successful."
msgstr "Je aanmelding was succesvol."
#: views.py:2
71
#: views.py:2
89
msgid ""
"You cannot re-register anymore since you've cancelled after the deadline."
msgstr ""
"Je kunt je niet opnieuw aanmelden omdat je je hebt afgemeld na de deadline."
#: views.py:
284
#: views.py:
302
msgid "You may not register"
msgstr "Je mag niet je aanmelden"
#: views.py:
292
#: views.py:
310
msgid "You were already registered."
msgstr "Je bent al aangemeld."
#: views.py:3
0
1 views.py:3
09
#: views.py:31
9
views.py:3
27
msgid "You are not registered for this event."
msgstr "Je bent niet aangemeld voor dit evenement."
#: views.py:3
21
#: views.py:3
39
msgid "Registration successfully cancelled."
msgstr "Je afmelding was succesvol."
website/events/templates/events/admin/details.html
View file @
7b822387
...
...
@@ -49,6 +49,7 @@
{% endwith %}
<br>
<a
href=
"{% url 'events:export' event_id=event.pk %}"
class=
"button"
>
{% trans "Export registrations" %}
</a>
<a
href=
"{% url 'events:export_email' event_id=event.pk %}"
class=
"button"
>
{% trans "Export email addresses of attendees" %}
</a>
<a
href=
"{% url 'events:all_present' event_id=event.pk %}"
class=
"button"
>
{% trans "Set all registered to paid and present" %}
</a>
</div>
</div>
...
...
website/events/templates/events/admin/email_export.txt
0 → 100644
View file @
7b822387
{% load i18n %}{% trans "Copy-pasteable email addresses of attendees:" %}
{{ addresses | join:', ' }}
{% if no_addresses %}
{% trans "Some attendees were registered manually, and are thus not included in the list above:" %}
{% for name in no_addresses %}
{{ name }}
{% endfor %}
{% endif %}
website/events/urls.py
View file @
7b822387
...
...
@@ -17,6 +17,7 @@ urlpatterns = [
url
(
r
'admin/(?P<event_id>\d+)/registration/$'
,
views
.
admin_change_registration
,
name
=
'admin-registration'
),
url
(
r
'admin/(?P<event_id>\d+)/export/$'
,
views
.
export
,
name
=
'export'
),
url
(
r
'admin/(?P<event_id>\d+)/export_email/$'
,
views
.
export_email
,
name
=
'export_email'
),
url
(
r
'admin/(?P<event_id>\d+)/all_present/$'
,
views
.
all_present
,
name
=
'all_present'
),
url
(
r
'^(?P<event_id>\d+)/$'
,
views
.
event
,
name
=
'event'
),
...
...
website/events/views.py
View file @
7b822387
...
...
@@ -146,6 +146,20 @@ def export(request, event_id):
return
response
@
staff_member_required
@
permission_required
(
'events.change_event'
)
def
export_email
(
request
,
event_id
):
event
=
get_object_or_404
(
Event
,
pk
=
event_id
)
registrations
=
event
.
registration_set
.
filter
(
date_cancelled
=
None
).
prefetch_related
(
'member__user'
)
registrations
=
registrations
[:
event
.
max_participants
]
addresses
=
[
r
.
member
.
user
.
email
for
r
in
registrations
if
r
.
member
]
no_addresses
=
[
r
.
name
for
r
in
registrations
if
not
r
.
member
]
return
render
(
request
,
'events/admin/email_export.txt'
,
{
'addresses'
:
addresses
,
'no_addresses'
:
no_addresses
},
content_type
=
'text/plain'
)
def
index
(
request
):
upcoming_activity
=
Event
.
objects
.
filter
(
published
=
True
,
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment