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"
ordering = ('lastname',)
actions = ['request_echo', 'invite_as_user_action']
actions = ['request_echo', 'invite_as_user_action', 'unconfirm']
list_per_page = 25
form = MemberAdminForm
@ -409,6 +409,12 @@ class MemberAdmin(CommonAdminMixin, admin.ModelAdmin):
name_text_or_link.short_description = _('Name')
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):
_selected_action = forms.CharField(widget=forms.MultipleHiddenInput)

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\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"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -133,6 +133,15 @@ msgstr "Aktivität"
msgid "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
msgid "Successfully requested mail confirmation from selected registrations."
msgstr "Aufforderung zur Bestätigung der Email Adresse versendet."

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

Loading…
Cancel
Save