|
@@ -9,6 +9,7 @@ from django.contrib.auth.models import Group
|
|
|
from django.http import HttpResponseRedirect
|
|
|
from django.conf.urls import url
|
|
|
from django.contrib import messages
|
|
|
+from django.db.models.query import QuerySet
|
|
|
|
|
|
from coin.members.models import Member, CryptoKey, LdapUser, MembershipFee
|
|
|
from coin.members.membershipfee_filter import MembershipFeeFilter
|
|
@@ -36,7 +37,8 @@ class MemberAdmin(UserAdmin):
|
|
|
list_filter = ('status', MembershipFeeFilter)
|
|
|
search_fields = ['username', 'first_name', 'last_name', 'email']
|
|
|
ordering = ('last_name',)
|
|
|
- actions = [delete_selected, 'set_as_member', 'set_as_non_member']
|
|
|
+ actions = [delete_selected, 'set_as_member', 'set_as_non_member',
|
|
|
+ 'bulk_send_welcome_email']
|
|
|
|
|
|
form = MemberChangeForm
|
|
|
add_form = MemberCreationForm
|
|
@@ -104,7 +106,6 @@ class MemberAdmin(UserAdmin):
|
|
|
'%d membre(s) définis comme non adhérent(s).' % rows_updated)
|
|
|
set_as_non_member.short_description = "Définir comme non adhérent"
|
|
|
|
|
|
-
|
|
|
def get_urls(self):
|
|
|
"""Custom admin urls"""
|
|
|
urls = super(MemberAdmin, self).get_urls()
|
|
@@ -118,20 +119,32 @@ class MemberAdmin(UserAdmin):
|
|
|
def send_welcome_email(self, request, id):
|
|
|
"""
|
|
|
Vue appelée lorsque l'admin souhaite envoyer l'email de bienvenue à un
|
|
|
- membre
|
|
|
+ membre.
|
|
|
"""
|
|
|
# TODO : Add better perm here
|
|
|
if request.user.is_superuser:
|
|
|
member = get_object_or_404(Member, pk=id)
|
|
|
member.send_welcome_email()
|
|
|
- messages.success(request, 'Le courriel de bienvenue a été envoyé à %s' % member.email)
|
|
|
+ messages.success(request,
|
|
|
+ 'Le courriel de bienvenue a été envoyé à %s' % member.email)
|
|
|
else:
|
|
|
messages.error(
|
|
|
- request, 'Vous n\'avez pas l\'autorisation d\'envoyer le '
|
|
|
- 'courriel de bienvenue.')
|
|
|
+ request, 'Vous n\'avez pas l\'autorisation d\'envoyer des '
|
|
|
+ 'courriels de bienvenue.')
|
|
|
|
|
|
return HttpResponseRedirect(request.META["HTTP_REFERER"])
|
|
|
|
|
|
+ def bulk_send_welcome_email(self, request, queryset):
|
|
|
+ """
|
|
|
+ Action appelée lorsque l'admin souhaite envoyer un lot d'email de bienvenue
|
|
|
+ depuis une sélection de membre dans la vue liste de l'admin
|
|
|
+ """
|
|
|
+ for member in queryset.all():
|
|
|
+ self.send_welcome_email(request, member.id)
|
|
|
+ messages.success(request,
|
|
|
+ 'Le courriel de bienvenue a été envoyé à %d membre(s).' % queryset.count())
|
|
|
+ bulk_send_welcome_email.short_description = "Envoyer le courriel de bienvenue"
|
|
|
+
|
|
|
class MembershipFeeAdmin(admin.ModelAdmin):
|
|
|
list_display = ('member', 'end_date', 'amount', 'payment_method',
|
|
|
'payment_date')
|