From fd29fa6199c077f6155b8b21c37fde6deb731b43 Mon Sep 17 00:00:00 2001 From: Christian Merten Date: Sun, 27 Oct 2024 20:13:08 +0100 Subject: [PATCH] members/waitinglist: personalize invitation mail --- jdav_web/jdav_web/settings/components/texts.py | 6 ++++-- jdav_web/members/admin.py | 4 ++-- jdav_web/members/models.py | 15 ++++++++++++++- 3 files changed, 20 insertions(+), 5 deletions(-) diff --git a/jdav_web/jdav_web/settings/components/texts.py b/jdav_web/jdav_web/settings/components/texts.py index a89356c..0f33cd9 100644 --- a/jdav_web/jdav_web/settings/components/texts.py +++ b/jdav_web/jdav_web/settings/components/texts.py @@ -24,8 +24,10 @@ Dein KOMPASS""" INVITE_TEXT = """Hallo {name}, -wir haben gute Neuigkeiten für dich. Es ist ein Platz in der Jugendgruppe freigeworden. Wir brauchen -jetzt noch ein paar Informationen von dir und deine Anmeldebestätigung. Das kannst du alles über folgenden +wir haben gute Neuigkeiten für dich. Es ist ein Platz in der Jugendgruppe {group_name} {group_link}freigeworden. +Wir treffen uns jeden {weekday} von {start_time} bis {end_time} Uhr. + +Wir brauchen jetzt noch ein paar Informationen von dir und deine Anmeldebestätigung. Das kannst du alles über folgenden Link erledigen: {link} diff --git a/jdav_web/members/admin.py b/jdav_web/members/admin.py index 24e1c6c..09ed001 100644 --- a/jdav_web/members/admin.py +++ b/jdav_web/members/admin.py @@ -446,7 +446,7 @@ class MemberWaitingListAdmin(CommonAdminMixin, admin.ModelAdmin): for waiter in queryset: waiter.invited_for_group = group waiter.save() - waiter.invite_to_group() + waiter.invite_to_group(group) messages.success(request, _("Successfully invited %(name)s to %(group)s.") % {'name': waiter.name, 'group': waiter.invited_for_group.name}) @@ -501,7 +501,7 @@ class MemberWaitingListAdmin(CommonAdminMixin, admin.ModelAdmin): waiter.invited_for_group = group waiter.save() - waiter.invite_to_group() + waiter.invite_to_group(group) messages.success(request, _("Successfully invited %(name)s to %(group)s.") % {'name': waiter.name, 'group': waiter.invited_for_group.name}) diff --git a/jdav_web/members/models.py b/jdav_web/members/models.py index f618dea..24ffa4a 100644 --- a/jdav_web/members/models.py +++ b/jdav_web/members/models.py @@ -782,9 +782,22 @@ class MemberWaitingList(Person): def may_register(self, key): return self.registration_key == key and timezone.now() < self.registration_expire - def invite_to_group(self): + def invite_to_group(self, group): + if group.show_website: + group_link = '({url}) '.format(url=prepend_base_url(reverse('startpage:gruppe_detail', args=[group.name]))) + else: + group_link = '' + # TODO: inform the user that the group has no configured weekday, start_time or end_time + weekday = WEEKDAYS[group.weekday][1] if group.weekday != None else WEEKDAYS[0][1] + start_time = group.start_time.strftime('%H:%M') if group.start_time != None else "14:00" + end_time = group.end_time.strftime('%H:%M') if group.end_time != None else "16:00" self.send_mail(_("Invitation to trial group meeting"), settings.INVITE_TEXT.format(name=self.prename, + weekday=weekday, + start_time=start_time, + end_time=end_time, + group_name=group.name, + group_link=group_link, link=get_registration_link(self)))