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.shortcuts import render
|
||||||
|
from django import forms
|
||||||
from django.utils.translation import ugettext_lazy as _
|
from django.utils.translation import ugettext_lazy as _
|
||||||
from django.urls import reverse
|
from django.urls import reverse
|
||||||
from django.http import HttpResponseRedirect
|
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):
|
def index(request):
|
||||||
"""This is the main newsletter view"""
|
return HttpResponseRedirect(reverse('mailer:subscribe'))
|
||||||
return render(request, 'mailer/index.html')
|
|
||||||
|
|
||||||
|
|
||||||
@permission_required('mailer.submit_mails', login_url='/admin/')
|
def render_subscribe(request, error_message=""):
|
||||||
def send(request):
|
date_input = forms.DateInput(attrs={'required': True,
|
||||||
return render(request, 'mailer/send.html', {
|
'class': 'datepicker',
|
||||||
'groups': Group.objects.all()
|
'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 subscribe(request):
|
||||||
def send_mail(request):
|
|
||||||
try:
|
try:
|
||||||
subject = request.POST['subject']
|
request.POST['post']
|
||||||
content = request.POST['content']
|
try:
|
||||||
to_group = Group.objects.get(pk=request.POST['to_group'])
|
print("trying to subscribe")
|
||||||
except (KeyError, Group.DoesNotExist):
|
prename = request.POST['prename']
|
||||||
return render(request, 'mailer/send.html', {
|
lastname = request.POST['lastname']
|
||||||
'error_message': _("Please fill in every field!"),
|
email = request.POST['email']
|
||||||
'groups': Group.objects.all()
|
print("email", email)
|
||||||
})
|
birth_date = request.POST['birthdate']
|
||||||
else:
|
print("birthdate", birth_date)
|
||||||
msg = Message(subject=subject, content=content, to_group=to_group)
|
except KeyError:
|
||||||
msg.submit()
|
return subscribe(request, _("Please fill in every field!"))
|
||||||
msg.save()
|
else:
|
||||||
return HttpResponseRedirect(reverse('mailer:index'))
|
# 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