Browse Source

Add admin action to send bulk coll for membership fee emails

Fabs 10 years ago
parent
commit
342a787fb3
1 changed files with 15 additions and 2 deletions
  1. 15 2
      coin/members/admin.py

+ 15 - 2
coin/members/admin.py

@@ -39,7 +39,7 @@ class MemberAdmin(UserAdmin):
     search_fields = ['username', 'first_name', 'last_name', 'email']
     ordering = ('status', 'username')
     actions = [delete_selected, 'set_as_member', 'set_as_non_member',
-               'bulk_send_welcome_email']
+               'bulk_send_welcome_email', 'bulk_send_call_for_membership_fee_email']
 
     form = MemberChangeForm
     add_form = MemberCreationForm
@@ -140,7 +140,6 @@ class MemberAdmin(UserAdmin):
         if return_httpredirect:
             return HttpResponseRedirect(reverse('admin:members_member_changelist'))
 
-
     def bulk_send_welcome_email(self, request, queryset):
         """
         Action appelée lorsque l'admin souhaite envoyer un lot d'email de bienvenue
@@ -152,6 +151,20 @@ class MemberAdmin(UserAdmin):
                          'Le courriel de bienvenue a été envoyé à %d membre(s).' % queryset.count())
     bulk_send_welcome_email.short_description = "Envoyer le courriel de bienvenue"
 
+    def bulk_send_call_for_membership_fee_email(self, request, queryset):
+        # TODO : Add better perm here
+        if not request.user.is_superuser:
+            messages.error(
+                request, 'Vous n\'avez pas l\'autorisation d\'envoyer des '
+                         'courriels de relance.')
+            return
+        for member in queryset.all():
+            member.send_call_for_membership_fees_email()
+
+        messages.success(request,
+            'Le courriel de relance de cotisation a été envoyé à %d membre(s).' % queryset.count())
+    bulk_send_call_for_membership_fee_email.short_description = 'Envoyer le courriel de relance de cotisation'
+
 
 class MembershipFeeAdmin(admin.ModelAdmin):
     list_display = ('member', 'end_date', 'amount', 'payment_method',