|
@@ -29,13 +29,19 @@ def add_contrib(request):
|
|
|
|
|
|
if form.is_valid():
|
|
|
contrib = form.save()
|
|
|
+ mgmt_token = ContribTokenManager().mk_token(contrib)
|
|
|
+
|
|
|
+ context = {
|
|
|
+ 'site_url': (settings.SITE_URL + reverse('display_map')
|
|
|
+ + '#{}'.format(contrib.id)),
|
|
|
+ 'contrib': contrib,
|
|
|
+ 'management_link': contrib.make_management_url(
|
|
|
+ mgmt_token, request),
|
|
|
+ 'permalink': contrib.get_absolute_url(request),
|
|
|
+ }
|
|
|
+
|
|
|
# Send notification email to site administrator
|
|
|
if len(settings.NOTIFICATION_EMAILS) > 0:
|
|
|
- context = {
|
|
|
- 'contrib_url': settings.SITE_URL + reverse('display_map') + '#{}'.format(contrib.id),
|
|
|
- 'contrib': contrib,
|
|
|
- }
|
|
|
- subject = get_template(
|
|
|
admin_subject = get_template(
|
|
|
'contribmap/mails/new_contrib_moderator_notice.subject')
|
|
|
admin_body = get_template(
|
|
@@ -47,7 +53,10 @@ def add_contrib(request):
|
|
|
settings.NOTIFICATION_EMAILS,
|
|
|
)
|
|
|
|
|
|
- return redirect(reverse('thanks'))
|
|
|
+ return redirect(reverse('thanks', kwargs={
|
|
|
+ 'token': mgmt_token,
|
|
|
+ }))
|
|
|
+
|
|
|
return render(request, 'contribmap/wifi-form.html', {
|
|
|
'form': form,
|
|
|
'isp':settings.ISP,
|
|
@@ -130,9 +139,17 @@ def display_map(request):
|
|
|
})
|
|
|
|
|
|
|
|
|
-def thanks(request):
|
|
|
+def thanks(request, token):
|
|
|
+ try:
|
|
|
+ contrib = ContribTokenManager().get_instance_if_allowed(token)
|
|
|
+ except TokenError:
|
|
|
+ return HttpResponseForbidden(
|
|
|
+ 'Bad signature, or expired token')
|
|
|
+
|
|
|
return render(request, 'contribmap/thanks.html', {
|
|
|
- 'isp':settings.ISP,
|
|
|
+ 'isp': settings.ISP,
|
|
|
+ 'management_link': contrib.make_management_url(token, request),
|
|
|
+ 'contrib': contrib,
|
|
|
})
|
|
|
|
|
|
def legal(request):
|