diff --git a/users/serializers.py b/users/serializers.py new file mode 100644 index 00000000..8f4c050d --- /dev/null +++ b/users/serializers.py @@ -0,0 +1,31 @@ +# Re2o est un logiciel d'administration développé initiallement au rezometz. Il +# se veut agnostique au réseau considéré, de manière à être installable en +# quelques clics. +# +# Copyright © 2017 Gabriel Détraz +# Copyright © 2017 Goulven Kermarec +# Copyright © 2017 Augustin Lemesle +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +#Maël Kervella + +from rest_framework import serializers +from users.models import User + +class MailSerializer(serializers.ModelSerializer): + class Meta: + model = User + fields = ('email',) diff --git a/users/views.py b/users/views.py index 3a3a9911..f766f4df 100644 --- a/users/views.py +++ b/users/views.py @@ -46,7 +46,8 @@ from rest_framework.renderers import JSONRenderer from reversion.models import Version from reversion import revisions as reversion -from users.models import User, Right, Ban, Whitelist, School, ListRight, Request, ServiceUser +from users.serializers import MailSerializer +from users.models import User, Right, Ban, Whitelist, School, ListRight, Request, ServiceUser, all_has_access from users.forms import DelRightForm, BanForm, WhitelistForm, DelSchoolForm, DelListRightForm, NewListRightForm from users.forms import EditInfoForm, InfoForm, BaseInfoForm, StateForm, RightForm, SchoolForm, EditServiceUserForm, ServiceUserForm, ListRightForm from cotisations.models import Facture @@ -707,9 +708,7 @@ class JSONResponse(HttpResponse): @login_required @permission_required('serveur') def mailing(request): - mails = set() - for u in User.objects.all() : - if u.has_access(): - mails.add( u.email ) - return JSONResponse(mails) + mails = all_has_access().values('email').distinct() + seria = MailSerializer(mails, many=True) + return JSONResponse(seria.data)