commit
330259289c
@ -0,0 +1,44 @@
|
||||
<link rel="stylesheet" href="http://code.jquery.com/ui/1.11.0/themes/smoothness/jquery-ui.css">
|
||||
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
|
||||
<script src="http://code.jquery.com/ui/1.11.0/jquery-ui.js"></script>
|
||||
{% load i18n %}
|
||||
<p><b>{% trans "Here you can register yourself to the newsletter" %}</b></p>
|
||||
|
||||
{% if error_message %}
|
||||
<p><b>{{ error_message }}</b></p>
|
||||
{% endif %}
|
||||
|
||||
<form action="" method="post">
|
||||
{% csrf_token %}
|
||||
|
||||
<input type="hidden" name="post" value="yes">
|
||||
<p>
|
||||
{% trans "Prename" %}
|
||||
<input type="text" name="prename">
|
||||
</p>
|
||||
|
||||
<p>
|
||||
{% trans "Lastname" %}
|
||||
<input type="text" name="lastname">
|
||||
</p>
|
||||
|
||||
<p>
|
||||
{% trans "Birthdate" %}
|
||||
<input type="date" name="birthdate" class="datepicker">
|
||||
</p>
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
$('.datepicker').datepicker({
|
||||
dateFormat: "yy-mm-dd"});
|
||||
});
|
||||
</script>
|
||||
|
||||
<p>
|
||||
{% trans "Email address" %}
|
||||
<input type="email" name="email">
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<input type="submit" value="{% trans "Register" %}">
|
||||
</p>
|
||||
</form>
|
||||
@ -0,0 +1,3 @@
|
||||
{% load i18n %}
|
||||
|
||||
<p><b>{% trans "Subscribed successfully" %}</b></p>
|
||||
@ -1,40 +1,57 @@
|
||||
from django.shortcuts import render
|
||||
from django import forms
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
from django.urls import reverse
|
||||
from django.http import HttpResponseRedirect
|
||||
from django.contrib.auth.decorators import permission_required
|
||||
|
||||
from members.models import Group
|
||||
from members.models import Member
|
||||
|
||||
from .models import Message
|
||||
|
||||
|
||||
@permission_required('mailer.submit_mails', login_url='/admin/')
|
||||
def index(request):
|
||||
"""This is the main newsletter view"""
|
||||
return render(request, 'mailer/index.html')
|
||||
return HttpResponseRedirect(reverse('mailer:subscribe'))
|
||||
|
||||
|
||||
@permission_required('mailer.submit_mails', login_url='/admin/')
|
||||
def send(request):
|
||||
return render(request, 'mailer/send.html', {
|
||||
'groups': Group.objects.all()
|
||||
})
|
||||
def render_subscribe(request, error_message=""):
|
||||
date_input = forms.DateInput(attrs={'required': True,
|
||||
'class': 'datepicker',
|
||||
'name': 'birthdate'})
|
||||
date_field = date_input.render(_("Birthdate"), "")
|
||||
context = {'date_field': date_field}
|
||||
if error_message:
|
||||
context['error_message'] = error_message
|
||||
return render(request, 'mailer/subscribe.html', context)
|
||||
|
||||
|
||||
@permission_required('mailer.submit_mails', login_url='/admin/')
|
||||
def send_mail(request):
|
||||
def subscribe(request):
|
||||
try:
|
||||
subject = request.POST['subject']
|
||||
content = request.POST['content']
|
||||
to_group = Group.objects.get(pk=request.POST['to_group'])
|
||||
except (KeyError, Group.DoesNotExist):
|
||||
return render(request, 'mailer/send.html', {
|
||||
'error_message': _("Please fill in every field!"),
|
||||
'groups': Group.objects.all()
|
||||
})
|
||||
else:
|
||||
msg = Message(subject=subject, content=content, to_group=to_group)
|
||||
msg.submit()
|
||||
msg.save()
|
||||
return HttpResponseRedirect(reverse('mailer:index'))
|
||||
request.POST['post']
|
||||
try:
|
||||
print("trying to subscribe")
|
||||
prename = request.POST['prename']
|
||||
lastname = request.POST['lastname']
|
||||
email = request.POST['email']
|
||||
print("email", email)
|
||||
birth_date = request.POST['birthdate']
|
||||
print("birthdate", birth_date)
|
||||
except KeyError:
|
||||
return subscribe(request, _("Please fill in every field!"))
|
||||
else:
|
||||
# TODO: check whether member exists
|
||||
exists = Member.objects.filter(prename=prename,
|
||||
lastname=lastname)
|
||||
if len(exists) > 0:
|
||||
return render_subscribe(request,
|
||||
error_message=_("Member already exists"))
|
||||
member = Member(prename=prename,
|
||||
lastname=lastname,
|
||||
email=email,
|
||||
birth_date=birth_date,
|
||||
gets_newsletter=True)
|
||||
member.save()
|
||||
return subscribed(request)
|
||||
except KeyError:
|
||||
return render_subscribe(request)
|
||||
|
||||
|
||||
def subscribed(request):
|
||||
return render(request, 'mailer/subscribed.html')
|
||||
|
||||
Loading…
Reference in New Issue