feat(members/admin): add unconfirm member action

pull/153/head
Christian Merten 8 months ago
parent 62a4e37a15
commit 2fcdf1ee25
Signed by: christian.merten
GPG Key ID: D953D69721B948B3

@ -240,7 +240,7 @@ class MemberAdmin(CommonAdminMixin, admin.ModelAdmin):
} }
change_form_template = "members/change_member.html" change_form_template = "members/change_member.html"
ordering = ('lastname',) ordering = ('lastname',)
actions = ['request_echo', 'invite_as_user_action'] actions = ['request_echo', 'invite_as_user_action', 'unconfirm']
list_per_page = 25 list_per_page = 25
form = MemberAdminForm form = MemberAdminForm
@ -409,6 +409,12 @@ class MemberAdmin(CommonAdminMixin, admin.ModelAdmin):
name_text_or_link.short_description = _('Name') name_text_or_link.short_description = _('Name')
name_text_or_link.admin_order_field = 'lastname' name_text_or_link.admin_order_field = 'lastname'
def unconfirm(self, request, queryset):
for member in queryset:
member.unconfirm()
messages.success(request, _("Successfully unconfirmed selected members."))
unconfirm.short_description = _('Unconfirm selected members.')
class DemoteToWaiterForm(forms.Form): class DemoteToWaiterForm(forms.Form):
_selected_action = forms.CharField(widget=forms.MultipleHiddenInput) _selected_action = forms.CharField(widget=forms.MultipleHiddenInput)

@ -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: 2025-04-10 23:31+0200\n" "POT-Creation-Date: 2025-04-10 23:51+0200\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"
@ -133,6 +133,15 @@ msgstr "Aktivität"
msgid "Name" msgid "Name"
msgstr "Name" msgstr "Name"
#: members/admin.py
msgid "Successfully unconfirmed selected members."
msgstr ""
"Ausgewählte Teilnehmer*innen zu unbestätigten Registrierungen zurückgesetzt."
#: members/admin.py
msgid "Unconfirm selected members."
msgstr "Ausgewählte Teilnehmer*innen zu unbestätigten Registrierungen zurücksetzen."
#: members/admin.py members/tests.py #: members/admin.py members/tests.py
msgid "Successfully requested mail confirmation from selected registrations." msgid "Successfully requested mail confirmation from selected registrations."
msgstr "Aufforderung zur Bestätigung der Email Adresse versendet." msgstr "Aufforderung zur Bestätigung der Email Adresse versendet."

@ -414,6 +414,10 @@ class Member(Person):
self.save() self.save()
return True return True
def unconfirm(self):
self.confirmed = False
self.save()
def unsubscribe(self, key): def unsubscribe(self, key):
if self.unsubscribe_key == key and timezone.now() <\ if self.unsubscribe_key == key and timezone.now() <\
self.unsubscribe_expire: self.unsubscribe_expire:

Loading…
Cancel
Save