mirror of
https://github.com/ae-utbm/sith.git
synced 2025-07-11 04:19:25 +00:00
Even better mailing
This commit is contained in:
@ -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
|
||||
|
Reference in New Issue
Block a user