Even better mailing

This commit is contained in:
2017-08-17 20:55:20 +02:00
parent feaf6b73b7
commit 9cb88a878d
11 changed files with 202 additions and 23 deletions

View File

@ -2,6 +2,7 @@
#
# Copyright 2016,2017
# - Skia <skia@libskia.so>
# - Sli <antoine@bartuccio.fr>
#
# Ce fichier fait partie du site de l'Association des Étudiants de l'UTBM,
# http://ae.utbm.fr.
@ -27,6 +28,7 @@ from django.utils.translation import ugettext as _
from django.views.generic.edit import FormView
from django.core.urlresolvers import reverse
from django import forms
from django.views.generic import ListView
from django.core.exceptions import PermissionDenied
from ajax_select.fields import AutoCompleteSelectField
@ -34,6 +36,8 @@ from ajax_select.fields import AutoCompleteSelectField
from core.views import CanViewMixin
from core.models import User
from counter.models import Customer
from club.models import Mailing
def merge_users(u1, u2):
u1.nick_name = u1.nick_name or u2.nick_name
@ -86,10 +90,12 @@ def merge_users(u1, u2):
u2.delete()
return u1
class MergeForm(forms.Form):
user1 = AutoCompleteSelectField('users', label=_("User that will be kept"), help_text=None, required=True)
user2 = AutoCompleteSelectField('users', label=_("User that will be deleted"), help_text=None, required=True)
class MergeUsersView(FormView):
template_name = "rootplace/merge.jinja"
form_class = MergeForm
@ -107,3 +113,17 @@ class MergeUsersView(FormView):
def get_success_url(self):
return reverse('core:user_profile', kwargs={'user_id': self.final_user.id})
class MailingListAdminView(ListView):
template_name = "rootplace/mailing_lists.jinja"
model = Mailing
def dispatch(self, request, *args, **kwargs):
if not request.user.is_root:
raise PermissionDenied
return super(MailingListAdminView, self).dispatch(request, *args, **kwargs)
def get_context_data(self, **kwargs):
kwargs = super(MailingListAdminView, self).get_context_data(**kwargs)
kwargs['has_objects'] = len(kwargs['object_list']) > 0
return kwargs