send mail action in members admin

v1-0-stable
Christian Merten 8 years ago
parent 043109f54e
commit c1b43c2f32

@ -53,6 +53,13 @@ class MessageAdmin(admin.ModelAdmin):
submit_message(obj, request) submit_message(obj, request)
return super(MessageAdmin, self).response_add(request, obj) return super(MessageAdmin, self).response_add(request, obj)
def get_form(self, request, obj=None, **kwargs):
form = super(MessageAdmin, self).get_form(request, obj, **kwargs)
members = request.GET.get('members', None)
if members is not None:
form.base_fields['to_members'].initial = members
return form
class Media: class Media:
css = {'all': ('admin/css/tabular_hide_original.css',)} css = {'all': ('admin/css/tabular_hide_original.css',)}

@ -5,7 +5,7 @@ import subprocess
import shutil import shutil
import time import time
from django.http import HttpResponse from django.http import HttpResponse, HttpResponseRedirect
from wsgiref.util import FileWrapper from wsgiref.util import FileWrapper
from django import forms from django import forms
from django.contrib import admin from django.contrib import admin
@ -74,6 +74,7 @@ class MemberAdmin(admin.ModelAdmin):
ForeignKey: {'widget': apply_select2(forms.Select)} ForeignKey: {'widget': apply_select2(forms.Select)}
} }
change_form_template = "members/change_member.html" change_form_template = "members/change_member.html"
actions = ['send_mail_to']
def change_view(self, request, object_id, form_url="", extra_context=None): def change_view(self, request, object_id, form_url="", extra_context=None):
extra_context = extra_context or {} extra_context = extra_context or {}
@ -83,6 +84,12 @@ class MemberAdmin(admin.ModelAdmin):
form_url=form_url, form_url=form_url,
extra_context=extra_context) extra_context=extra_context)
def send_mail_to(self, request, queryset):
member_pks = [m.pk for m in queryset]
query = str(member_pks).replace(' ', '')
return HttpResponseRedirect("/admin/mailer/message/add/?members={}".format(query))
send_mail_to.short_description = _('Compose new mail to selected members')
class GroupAdmin(admin.ModelAdmin): class GroupAdmin(admin.ModelAdmin):
fields = ['name', 'min_age'] fields = ['name', 'min_age']

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-10-11 14:50+0200\n" "POT-Creation-Date: 2017-11-11 14:53+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -34,23 +34,27 @@ msgstr "Nein"
msgid "All" msgid "All"
msgstr "Alle" msgstr "Alle"
#: admin.py:100 #: admin.py:91
msgid "Compose new mail to selected members"
msgstr "Neue Nachricht an ausgewählte Teilnehmer verfassen"
#: admin.py:107
msgid "Difficulty" msgid "Difficulty"
msgstr "Schwierigkeit" msgstr "Schwierigkeit"
#: admin.py:104 #: admin.py:111
msgid "Tour type" msgid "Tour type"
msgstr "Art der Tour" msgstr "Art der Tour"
#: admin.py:242 #: admin.py:249
msgid "Convert to PDF" msgid "Convert to PDF"
msgstr "Kriseninterventionsliste erstellen" msgstr "Kriseninterventionsliste erstellen"
#: admin.py:348 #: admin.py:355
msgid "Generate overview" msgid "Generate overview"
msgstr "Hinweise für Jugendleiter erstellen" msgstr "Hinweise für Jugendleiter erstellen"
#: apps.py:7 models.py:107 #: apps.py:7 models.py:112
msgid "members" msgid "members"
msgstr "Teilnehmer" msgstr "Teilnehmer"
@ -62,7 +66,7 @@ msgstr "Name"
msgid "Description" msgid "Description"
msgstr "Beschreibung" msgstr "Beschreibung"
#: models.py:23 models.py:123 templates/members/change_member.html:9 #: models.py:23 models.py:128 templates/members/change_member.html:9
msgid "Activity" msgid "Activity"
msgstr "Aktivität" msgstr "Aktivität"
@ -138,87 +142,87 @@ msgstr "erstellt"
msgid "registration form" msgid "registration form"
msgstr "Anmeldeformular" msgstr "Anmeldeformular"
#: models.py:103 models.py:187 #: models.py:108 models.py:192
msgid "Group" msgid "Group"
msgstr "Gruppe" msgstr "Gruppe"
#: models.py:106 #: models.py:111
msgid "member" msgid "member"
msgstr "Teilnehmer" msgstr "Teilnehmer"
#: models.py:125 #: models.py:130
msgid "Place" msgid "Place"
msgstr "Ort" msgstr "Ort"
#: models.py:126 #: models.py:131
msgid "Destination (optional)" msgid "Destination (optional)"
msgstr "Ziel (optional)" msgstr "Ziel (optional)"
#: models.py:128 models.py:183 #: models.py:133 models.py:188
msgid "Date" msgid "Date"
msgstr "Datum" msgstr "Datum"
#: models.py:129 #: models.py:134
msgid "End (optional)" msgid "End (optional)"
msgstr "Ende" msgstr "Ende"
#: models.py:131 #: models.py:136
msgid "Groups" msgid "Groups"
msgstr "Gruppen" msgstr "Gruppen"
#: models.py:139 #: models.py:144
msgid "Categories" msgid "Categories"
msgstr "Kategorien" msgstr "Kategorien"
#: models.py:140 #: models.py:145
msgid "easy" msgid "easy"
msgstr "leicht" msgstr "leicht"
#: models.py:140 #: models.py:145
msgid "medium" msgid "medium"
msgstr "mittel" msgstr "mittel"
#: models.py:140 #: models.py:145
msgid "hard" msgid "hard"
msgstr "schwer" msgstr "schwer"
#: models.py:149 #: models.py:154
msgid "Memberlist" msgid "Memberlist"
msgstr "Teilnehmerliste" msgstr "Teilnehmerliste"
#: models.py:150 #: models.py:155
msgid "Memberlists" msgid "Memberlists"
msgstr "Teilnehmerlisten" msgstr "Teilnehmerlisten"
#: models.py:165 models.py:173 models.py:218 models.py:225 #: models.py:170 models.py:178 models.py:223 models.py:230
msgid "Member" msgid "Member"
msgstr "Teilnehmer" msgstr "Teilnehmer"
#: models.py:167 #: models.py:172
msgid "Comment" msgid "Comment"
msgstr "Kommentar" msgstr "Kommentar"
#: models.py:174 models.py:226 #: models.py:179 models.py:231
msgid "Members" msgid "Members"
msgstr "Teilnehmer" msgstr "Teilnehmer"
#: models.py:184 #: models.py:189
msgid "Location" msgid "Location"
msgstr "Ort" msgstr "Ort"
#: models.py:185 #: models.py:190
msgid "Topic" msgid "Topic"
msgstr "Thema" msgstr "Thema"
#: models.py:209 #: models.py:214
msgid "Jugendleiter" msgid "Jugendleiter"
msgstr "Jugendleiter" msgstr "Jugendleiter"
#: models.py:212 #: models.py:217
msgid "Klettertreff" msgid "Klettertreff"
msgstr "Klettertreff" msgstr "Klettertreff"
#: models.py:213 #: models.py:218
msgid "Klettertreffs" msgid "Klettertreffs"
msgstr "Klettertreffs" msgstr "Klettertreffs"

Loading…
Cancel
Save