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

@ -0,0 +1,30 @@
{% extends "core/base.jinja" %}
{% block title %}
{% trans %}Mailing lists administration{% endtrans %}
{% endblock %}
{% block content %}
<h1>{% trans %}This page list all existing mailing lists{% endtrans %}</h1>
{% if has_objects %}
<table>
<tr>
<th>{% trans %}Email{% endtrans %}</th>
<th>{% trans %}Club{%endtrans%}</th>
</tr>
{% for mailing in object_list %}
<tr>
<td>{{ mailing.email }}</td>
<td>{{ mailing.club }} <a href="{{ url('club:mailing_delete', mailing_id=mailing.id) }}">{% trans %}Delete{% endtrans %}</a></td>
</tr>
{% endfor %}
</table>
{% else %}
<p>{% trans %}No mailing existing{% endtrans %}</p>
{% endif %}
{% endblock %}

View File

@ -28,4 +28,5 @@ from rootplace.views import *
urlpatterns = [
url(r'^merge$', MergeUsersView.as_view(), name='merge'),
url(r'^mailings$', MailingListAdminView.as_view(), name='mailings')
]

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