Add notification system to replace noty
This commit is contained in:
@@ -8,6 +8,12 @@
|
|||||||
<h2>{% trans "Member applications" %}</h2>
|
<h2>{% trans "Member applications" %}</h2>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
{% if notification %}
|
||||||
|
<div class="alert alert-success">
|
||||||
|
{{ notification }}
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
{{ table|safe }}
|
{{ table|safe }}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -11,6 +11,12 @@
|
|||||||
<h2>{% trans "Member register" %}</h2>
|
<h2>{% trans "Member register" %}</h2>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
{% if notification %}
|
||||||
|
<div class="alert alert-success">
|
||||||
|
{{ notification }}
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
{{ table|safe }}
|
{{ table|safe }}
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
|
|||||||
@@ -8,6 +8,12 @@
|
|||||||
<h2>{% trans "Payment events" %}</h2>
|
<h2>{% trans "Payment events" %}</h2>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
{% if notification %}
|
||||||
|
<div class="alert alert-success">
|
||||||
|
{{ notification }}
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
{{ table|safe }}
|
{{ table|safe }}
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
|
|||||||
+30
-23
@@ -5,13 +5,12 @@ from django.views.decorators.csrf import ensure_csrf_cookie
|
|||||||
from django.http import HttpResponse, HttpResponseBadRequest, HttpResponseRedirect
|
from django.http import HttpResponse, HttpResponseBadRequest, HttpResponseRedirect
|
||||||
from django.core.mail import send_mail
|
from django.core.mail import send_mail
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
from django.db.models import Max
|
from django.utils.translation import ugettext as _
|
||||||
|
|
||||||
import json
|
import json
|
||||||
import requests
|
import requests
|
||||||
import logging
|
import logging
|
||||||
|
import html
|
||||||
from django_tables2 import RequestConfig
|
|
||||||
|
|
||||||
from members.models import Member, Request, Payment
|
from members.models import Member, Request, Payment
|
||||||
from members.forms import MemberForm, PaymentForm
|
from members.forms import MemberForm, PaymentForm
|
||||||
@@ -88,7 +87,8 @@ def member_list(request, *args, **kwargs):
|
|||||||
|
|
||||||
context = {
|
context = {
|
||||||
'table': table_html,
|
'table': table_html,
|
||||||
'member_count': len(members)
|
'member_count': len(members),
|
||||||
|
'notification': request.GET.get('notification', None)
|
||||||
}
|
}
|
||||||
return render(request, 'member_list.html', context)
|
return render(request, 'member_list.html', context)
|
||||||
|
|
||||||
@@ -129,7 +129,11 @@ def member_submit(request, *args, **kwargs):
|
|||||||
if form.is_valid():
|
if form.is_valid():
|
||||||
form.save()
|
form.save()
|
||||||
memberlogger.info("Saved new member to member register with the following info: {}".format(form))
|
memberlogger.info("Saved new member to member register with the following info: {}".format(form))
|
||||||
return HttpResponseRedirect('/members')
|
notification = "{} {} {}.".format(_("Successfully added member"),
|
||||||
|
form.cleaned_data['last_name'],
|
||||||
|
form.cleaned_data['first_name'])
|
||||||
|
|
||||||
|
return HttpResponseRedirect('/members/list?notification={}'.format(html.escape(notification)))
|
||||||
else:
|
else:
|
||||||
return render(request, 'error.html', {'error': form.errors})
|
return render(request, 'error.html', {'error': form.errors})
|
||||||
|
|
||||||
@@ -171,6 +175,19 @@ def member_delete(request, *args, **kwargs):
|
|||||||
return resp
|
return resp
|
||||||
|
|
||||||
|
|
||||||
|
@ensure_csrf_cookie
|
||||||
|
@require_http_methods(["GET"])
|
||||||
|
@permission_required('members.change_member', login_url='/login')
|
||||||
|
def member_edit(request, *args, **kwargs):
|
||||||
|
i = kwargs.pop('index', None)
|
||||||
|
if i is None:
|
||||||
|
return HttpResponse(status=500, error="{'error': 'No member id specified'}")
|
||||||
|
else:
|
||||||
|
member = Member.objects.get(id=i)
|
||||||
|
form = MemberForm(instance=member)
|
||||||
|
return render(request, 'member_edit.html', {'member_id': i, 'form': form})
|
||||||
|
|
||||||
|
|
||||||
@ensure_csrf_cookie
|
@ensure_csrf_cookie
|
||||||
@require_http_methods(["GET"])
|
@require_http_methods(["GET"])
|
||||||
@permission_required('members.change_member', login_url='/login')
|
@permission_required('members.change_member', login_url='/login')
|
||||||
@@ -187,24 +204,12 @@ def application_list(request, *args, **kwargs):
|
|||||||
table_html = convert_table_to_html(table, request)
|
table_html = convert_table_to_html(table, request)
|
||||||
context = {
|
context = {
|
||||||
'table': table_html,
|
'table': table_html,
|
||||||
'application_count': application_count
|
'application_count': application_count,
|
||||||
|
'notification': request.GET.get('notification', None)
|
||||||
}
|
}
|
||||||
return render(request, 'application_list.html', context)
|
return render(request, 'application_list.html', context)
|
||||||
|
|
||||||
|
|
||||||
@ensure_csrf_cookie
|
|
||||||
@require_http_methods(["GET"])
|
|
||||||
@permission_required('members.change_member', login_url='/login')
|
|
||||||
def member_edit(request, *args, **kwargs):
|
|
||||||
i = kwargs.pop('index', None)
|
|
||||||
if i is None:
|
|
||||||
return HttpResponse(status=500, error="{'error': 'No member id specified'}")
|
|
||||||
else:
|
|
||||||
member = Member.objects.get(id=i)
|
|
||||||
form = MemberForm(instance=member)
|
|
||||||
return render(request, 'member_edit.html', {'member_id': i, 'form': form})
|
|
||||||
|
|
||||||
|
|
||||||
@ensure_csrf_cookie
|
@ensure_csrf_cookie
|
||||||
@require_http_methods(["GET"])
|
@require_http_methods(["GET"])
|
||||||
@permission_required('members.change_member', login_url='/login')
|
@permission_required('members.change_member', login_url='/login')
|
||||||
@@ -235,15 +240,15 @@ def payment_list(request, *args, **kwargs):
|
|||||||
table = PaymentTable(payments,
|
table = PaymentTable(payments,
|
||||||
request=request,
|
request=request,
|
||||||
exclude=['id'],
|
exclude=['id'],
|
||||||
attrs={'class': 'table table-bordered table-hover'},
|
attrs={'class': 'table table-bordered table-hover'})
|
||||||
)
|
|
||||||
|
|
||||||
table.paginate(page=request.GET.get('page', 1), per_page=25)
|
table.paginate(page=request.GET.get('page', 1), per_page=25)
|
||||||
table_html = convert_table_to_html(table, request)
|
table_html = convert_table_to_html(table, request)
|
||||||
|
|
||||||
context = {
|
context = {
|
||||||
'table': table_html,
|
'table': table_html,
|
||||||
'payment_count': len(payments)
|
'payment_count': len(payments),
|
||||||
|
'notification': request.GET.get('notification', None)
|
||||||
}
|
}
|
||||||
return render(request, 'payment_list.html', context)
|
return render(request, 'payment_list.html', context)
|
||||||
|
|
||||||
@@ -264,7 +269,9 @@ def payment_submit(request, *args, **kwargs):
|
|||||||
if form.is_valid():
|
if form.is_valid():
|
||||||
form.save()
|
form.save()
|
||||||
memberlogger.info("Saved new payment to member register with the following info: {}".format(form))
|
memberlogger.info("Saved new payment to member register with the following info: {}".format(form))
|
||||||
return HttpResponseRedirect('/members/payments')
|
notification = "{} {}.".format(_("Successfully added payment for member"),
|
||||||
|
form.cleaned_data['member'])
|
||||||
|
return HttpResponseRedirect('/members/payments?notification={}'.format(html.escape(notification)))
|
||||||
else:
|
else:
|
||||||
return render(request, 'error.html', {'error': form.errors})
|
return render(request, 'error.html', {'error': form.errors})
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user