@ -52,7 +52,7 @@ from rest_framework.renderers import JSONRenderer
from reversion . models import Version
from reversion import revisions as reversion
from users . serializers import MailSerializer
from users . serializers import MailingSerializer , MailingMember Serializer
from users . models import (
User ,
Ban ,
@ -843,9 +843,64 @@ class JSONResponse(HttpResponse):
@csrf_exempt
@login_required
@permission_required ( ' machines.serveur ' )
def mailing ( request ) :
""" Fonction de serialisation des addresses mail de tous les users
Pour generation de ml all users """
mails = all_has_access ( ) . values ( ' email ' ) . distinct ( )
seria = MailSerializer ( mails , many = True )
def ml_std_list ( request ) :
""" API view sending all the available standard mailings """
return JSONResponse ( [
{ ' name ' : ' adherents ' }
] )
@csrf_exempt
@login_required
@permission_required ( ' machines.serveur ' )
def ml_std_members ( request , ml_name ) :
""" API view sending all the members for a standard mailing """
# All with active connextion
if ml_name == ' adherents ' :
members = all_has_access ( ) . values ( ' email ' ) . distinct ( )
# Unknown mailing
else :
messages . error ( request , " Cette mailing n ' existe pas " )
return redirect ( reverse ( ' index ' ) )
seria = MailingMemberSerializer ( members , many = True )
return JSONResponse ( seria . data )
@csrf_exempt
@login_required
@permission_required ( ' machines.serveur ' )
def ml_club_list ( request ) :
""" API view sending all the available club mailings """
clubs = Club . objects . filter ( mailing = True ) . values ( ' pseudo ' )
seria = MailingSerializer ( clubs , many = True )
return JSONResponse ( seria . data )
@csrf_exempt
@login_required
@permission_required ( ' machines.serveur ' )
def ml_club_admins ( request , ml_name ) :
""" API view sending all the administrators for a specific club mailing """
try :
club = Club . objects . get ( mailing = True , pseudo = ml_name )
except Club . DoesNotExist :
messages . error ( request , " Cette mailing n ' existe pas " )
return redirect ( reverse ( ' index ' ) )
members = club . administrators . all ( ) . values ( ' email ' ) . distinct ( )
seria = MailingMemberSerializer ( members , many = True )
return JSONResponse ( seria . data )
@csrf_exempt
@login_required
@permission_required ( ' machines.serveur ' )
def ml_club_members ( request , ml_name ) :
""" API view sending all the members for a specific club mailing """
try :
club = Club . objects . get ( mailing = True , pseudo = ml_name )
except Club . DoesNotExist :
messages . error ( request , " Cette mailing n ' existe pas " )
return redirect ( reverse ( ' index ' ) )
members = club . administrators . all ( ) . values ( ' email ' ) . distinct ( ) | club . members . all ( ) . values ( ' email ' ) . distinct ( )
seria = MailingMemberSerializer ( members , many = True )
return JSONResponse ( seria . data )