summaryrefslogtreecommitdiff
path: root/postgresqleu
diff options
context:
space:
mode:
authorMagnus Hagander2016-01-16 16:10:57 +0000
committerMagnus Hagander2016-01-16 16:10:57 +0000
commit34ef7b4da6877afff18d50c09c2f504618229c7b (patch)
tree423d7cb011b00b48ec0454e841a9f97cda4312f2 /postgresqleu
parent862b03b17d43582f45ca8115a5a9883819be6ed1 (diff)
Remove all support for mixed content (http/https)
Instead, as of now we run all content over https always. The enforcment of this is placed in the webserver, which makes it impossible to miss it on some feature. This retires the setting SITEBASE_SSL, and changes SITEBASE to be https. It also retires DISABLE_HTTPS_REDIRECTS, which has no use anymore. And finally, SESSION_COOKIE_SECURE is now set by default, and needs to be turned off in local development environments.
Diffstat (limited to 'postgresqleu')
-rw-r--r--postgresqleu/accountinfo/views.py4
-rw-r--r--postgresqleu/accounting/views.py8
-rwxr-xr-xpostgresqleu/adyen/management/commands/send_adyen_logreport.py4
-rw-r--r--postgresqleu/adyen/views.py9
-rw-r--r--postgresqleu/braintreepayment/views.py9
-rw-r--r--postgresqleu/confreg/feedback.py4
-rw-r--r--postgresqleu/confreg/invoicehandler.py6
-rw-r--r--postgresqleu/confreg/management/commands/confreg_expire_waitlist.py2
-rw-r--r--postgresqleu/confreg/management/commands/confreg_send_reminders.py8
-rw-r--r--postgresqleu/confreg/pdfschedule.py3
-rw-r--r--postgresqleu/confreg/reporting.py3
-rw-r--r--postgresqleu/confreg/util.py2
-rw-r--r--postgresqleu/confreg/views.py54
-rw-r--r--postgresqleu/confsponsor/invoicehandler.py6
-rw-r--r--postgresqleu/confsponsor/management/commands/sponsor_generate_discount_invoices.py4
-rw-r--r--postgresqleu/confsponsor/views.py27
-rw-r--r--postgresqleu/confwiki/views.py12
-rw-r--r--postgresqleu/elections/views.py4
-rw-r--r--postgresqleu/invoicemgr/views.py4
-rw-r--r--postgresqleu/invoices/util.py6
-rw-r--r--postgresqleu/invoices/views.py29
-rw-r--r--postgresqleu/membership/invoicehandler.py2
-rw-r--r--postgresqleu/membership/views.py11
-rw-r--r--postgresqleu/paypal/views.py6
-rw-r--r--postgresqleu/settings.py5
-rw-r--r--postgresqleu/util/decorators.py17
-rw-r--r--postgresqleu/util/payment/paypal.py2
27 files changed, 53 insertions, 198 deletions
diff --git a/postgresqleu/accountinfo/views.py b/postgresqleu/accountinfo/views.py
index cc1ef12a..a781464d 100644
--- a/postgresqleu/accountinfo/views.py
+++ b/postgresqleu/accountinfo/views.py
@@ -7,10 +7,9 @@ from django.contrib.auth.models import User
import json
-from postgresqleu.util.decorators import user_passes_test_or_error, ssl_required
+from postgresqleu.util.decorators import user_passes_test_or_error
from postgresqleu.auth import user_search, user_import
-@ssl_required
@login_required
@user_passes_test_or_error(lambda u: u.has_module_perms('invoices'))
def search(request):
@@ -40,7 +39,6 @@ def search(request):
'e': u['e'],
} for u in users]), content_type='application/json')
-@ssl_required
@login_required
@user_passes_test_or_error(lambda u: u.has_module_perms('invoices'))
@transaction.atomic
diff --git a/postgresqleu/accounting/views.py b/postgresqleu/accounting/views.py
index 31cc6f5b..6d1b4a5f 100644
--- a/postgresqleu/accounting/views.py
+++ b/postgresqleu/accounting/views.py
@@ -10,13 +10,12 @@ from django.core.paginator import Paginator
from datetime import datetime, date
-from postgresqleu.util.decorators import user_passes_test_or_error, ssl_required
+from postgresqleu.util.decorators import user_passes_test_or_error
from models import JournalEntry, JournalItem, JournalUrl, Year, Object
from models import IncomingBalance, Account
from forms import JournalEntryForm, JournalItemForm, JournalItemFormset
-@ssl_required
@login_required
@user_passes_test_or_error(lambda u: u.has_module_perms('accounting'))
def index(request):
@@ -60,7 +59,6 @@ class EntryPaginator(Paginator):
else:
return self.page_range
-@ssl_required
@login_required
@transaction.atomic
@user_passes_test_or_error(lambda u: u.has_module_perms('accounting'))
@@ -87,7 +85,6 @@ def year(request, year):
'searchterm': searchterm,
}, RequestContext(request))
-@ssl_required
@login_required
@transaction.atomic
@user_passes_test_or_error(lambda u: u.has_module_perms('accounting'))
@@ -115,7 +112,6 @@ def new(request, year):
return HttpResponseRedirect('/accounting/e/%s/' % entry.pk)
-@ssl_required
@login_required
@transaction.atomic
@user_passes_test_or_error(lambda u: u.has_module_perms('accounting'))
@@ -282,7 +278,6 @@ def _collate_results(query, queryparam, numvalues):
return (results, totalresult)
-@ssl_required
@login_required
@transaction.atomic
@user_passes_test_or_error(lambda u: u.has_module_perms('accounting'))
@@ -363,7 +358,6 @@ SELECT ac.name AS acname, ag.name AS agname, anum, a.name,
'accounts': Account.objects.filter(group__accountclass__inbalance=True),
}, context_instance=RequestContext(request))
-@ssl_required
@login_required
@transaction.atomic
@user_passes_test_or_error(lambda u: u.has_module_perms('accounting'))
diff --git a/postgresqleu/adyen/management/commands/send_adyen_logreport.py b/postgresqleu/adyen/management/commands/send_adyen_logreport.py
index 8bb7f214..66dbe054 100755
--- a/postgresqleu/adyen/management/commands/send_adyen_logreport.py
+++ b/postgresqleu/adyen/management/commands/send_adyen_logreport.py
@@ -45,7 +45,7 @@ class Command(BaseCommand):
sio = StringIO()
sio.write("The following notifications have not been confirmed in the Adyen integration.\nThese need to be manually processed and then flagged as confirmed!\n\nThis list only contains unconfirmed events older than 24 hours.\n\n\n")
for l in lines:
- sio.write("%s: %s (%s%s)\n" % (l.eventDate, l.eventCode, settings.SITEBASE_SSL, urlresolvers.reverse('admin:adyen_notification_change', args=(l.id,))))
+ sio.write("%s: %s (%s%s)\n" % (l.eventDate, l.eventCode, settings.SITEBASE, urlresolvers.reverse('admin:adyen_notification_change', args=(l.id,))))
send_simple_mail(settings.INVOICE_SENDER_EMAIL,
settings.ADYEN_NOTIFICATION_RECEIVER,
@@ -62,7 +62,7 @@ class Command(BaseCommand):
sio.write("The following payments have been authorized, but not captured for more than %s days.\nThese probably need to be verified manually.\n\n\n" % UNSETTLED_THRESHOLD)
for l in lines:
- sio.write("%s at %s: %s (%s%s)\n" % (l.pspReference, l.authorizedat, l.amount, settings.SITEBASE_SSL, urlresolvers.reverse('admin:adyen_transactionstatus_change', args=(l.id,))))
+ sio.write("%s at %s: %s (%s%s)\n" % (l.pspReference, l.authorizedat, l.amount, settings.SITEBASE, urlresolvers.reverse('admin:adyen_transactionstatus_change', args=(l.id,))))
send_simple_mail(settings.INVOICE_SENDER_EMAIL,
settings.ADYEN_NOTIFICATION_RECEIVER,
diff --git a/postgresqleu/adyen/views.py b/postgresqleu/adyen/views.py
index e742f48b..65095da5 100644
--- a/postgresqleu/adyen/views.py
+++ b/postgresqleu/adyen/views.py
@@ -8,7 +8,6 @@ from django.views.decorators.csrf import csrf_exempt
import base64
-from postgresqleu.util.decorators import ssl_required
from postgresqleu.util.payment.adyen import calculate_signature
from postgresqleu.util.payment.adyen import AdyenBanktransfer
from postgresqleu.invoices.models import Invoice
@@ -17,7 +16,6 @@ from postgresqleu.invoices.util import InvoiceManager
from models import RawNotification, AdyenLog, ReturnAuthorizationStatus
from util import process_raw_adyen_notification
-@ssl_required
@transaction.atomic
def adyen_return_handler(request):
sig = calculate_signature(request.GET)
@@ -48,9 +46,9 @@ def adyen_return_handler(request):
returnurl = processor.get_return_url(invoice)
else:
if invoice.recipient_user:
- returnurl = "%s/invoices/%s/" % (settings.SITEBASE_SSL, invoice.pk)
+ returnurl = "%s/invoices/%s/" % (settings.SITEBASE, invoice.pk)
else:
- returnurl = "%s/invoices/%s/%s/" % (settings.SITEBASE_SSL, invoice.pk, invoice.recipient_secret)
+ returnurl = "%s/invoices/%s/%s/" % (settings.SITEBASE, invoice.pk, invoice.recipient_secret)
AdyenLog(pspReference='', message='Return handler received %s result for %s' % (request.GET['authResult'], request.GET['merchantReturnData']), error=False).save()
if request.GET['authResult'] == 'REFUSED':
@@ -94,7 +92,6 @@ def adyen_return_handler(request):
}, context_instance=RequestContext(request))
-@ssl_required
@csrf_exempt
def adyen_notify_handler(request):
# Handle asynchronous notifications from the Adyen payment platform
@@ -141,7 +138,6 @@ def _invoice_payment(request, invoice):
'paymenturl': paymenturl,
}, RequestContext(request))
-@ssl_required
@login_required
def invoicepayment(request, invoiceid):
invoice = get_object_or_404(Invoice, pk=invoiceid, deleted=False, finalized=True)
@@ -150,7 +146,6 @@ def invoicepayment(request, invoiceid):
return _invoice_payment(request, invoice)
-@ssl_required
def invoicepayment_secret(request, invoiceid, secret):
invoice = get_object_or_404(Invoice, pk=invoiceid, deleted=False, finalized=True, recipient_secret=secret)
return _invoice_payment(request, invoice)
diff --git a/postgresqleu/braintreepayment/views.py b/postgresqleu/braintreepayment/views.py
index e0bab8c4..d7c52204 100644
--- a/postgresqleu/braintreepayment/views.py
+++ b/postgresqleu/braintreepayment/views.py
@@ -9,8 +9,6 @@ from datetime import datetime
import braintree
-from postgresqleu.util.decorators import ssl_required
-
from postgresqleu.invoices.models import Invoice, InvoicePaymentMethod
from postgresqleu.invoices.util import InvoiceManager
from postgresqleu.mailqueue.util import send_simple_mail
@@ -21,7 +19,6 @@ from util import initialize_braintree
class BraintreeProcessingException(Exception):
pass
-@ssl_required
def payment_post(request):
nonce = request.POST['payment_method_nonce']
invoice = get_object_or_404(Invoice, pk=request.POST['invoice'], deleted=False, finalized=True)
@@ -32,9 +29,9 @@ def payment_post(request):
returnurl = processor.get_return_url(invoice)
else:
if invoice.recipient_user:
- returnurl = "%s/invoices/%s/" % (settings.SITEBASE_SSL, invoice.pk)
+ returnurl = "%s/invoices/%s/" % (settings.SITEBASE, invoice.pk)
else:
- returnurl = "%s/invoices/%s/%s/" % (settings.SITEBASE_SSL, invoice.pk, invoice.recipient_secret)
+ returnurl = "%s/invoices/%s/%s/" % (settings.SITEBASE, invoice.pk, invoice.recipient_secret)
# Generate the transaction
initialize_braintree()
@@ -141,7 +138,6 @@ def _invoice_payment(request, invoice):
'token': token,
}, RequestContext(request))
-@ssl_required
@login_required
def invoicepayment(request, invoiceid):
invoice = get_object_or_404(Invoice, pk=invoiceid, deleted=False, finalized=True)
@@ -150,7 +146,6 @@ def invoicepayment(request, invoiceid):
return _invoice_payment(request, invoice)
-@ssl_required
def invoicepayment_secret(request, invoiceid, secret):
invoice = get_object_or_404(Invoice, pk=invoiceid, deleted=False, finalized=True, recipient_secret=secret)
return _invoice_payment(request, invoice)
diff --git a/postgresqleu/confreg/feedback.py b/postgresqleu/confreg/feedback.py
index b5dc2875..8eda5cc6 100644
--- a/postgresqleu/confreg/feedback.py
+++ b/postgresqleu/confreg/feedback.py
@@ -3,8 +3,6 @@ from django.contrib.auth.decorators import login_required
from django.db.models import Count
from django.db import connection
-from postgresqleu.util.decorators import ssl_required
-
from models import Conference, ConferenceFeedbackQuestion, ConferenceFeedbackAnswer
from views import ConferenceContext
@@ -31,7 +29,6 @@ def build_feedback_response(question):
r['graphdata'] = build_graphdata(question, 'rateanswer', range(0,6))
return r
-@ssl_required
@login_required
def feedback_report(request, confname):
if request.user.is_superuser:
@@ -69,7 +66,6 @@ def build_toplists(what, query):
tl['list'] = cursor.fetchall()
yield tl
-@ssl_required
@login_required
def feedback_sessions(request, confname):
if request.user.is_superuser:
diff --git a/postgresqleu/confreg/invoicehandler.py b/postgresqleu/confreg/invoicehandler.py
index b23ffad0..69e70edd 100644
--- a/postgresqleu/confreg/invoicehandler.py
+++ b/postgresqleu/confreg/invoicehandler.py
@@ -92,7 +92,7 @@ class InvoiceProcessor(object):
reg = ConferenceRegistration.objects.get(pk=invoice.processorid)
except ConferenceRegistration.DoesNotExist:
raise Exception("Could not find conference registration %s" % invoice.processorid)
- return "%s/events/register/%s/" % (settings.SITEBASE_SSL, reg.conference.urlname)
+ return "%s/events/register/%s/" % (settings.SITEBASE, reg.conference.urlname)
@@ -187,7 +187,7 @@ class BulkInvoiceProcessor(object):
bp = BulkPayment.objects.get(pk=invoice.processorid)
except ConferenceRegistration.DoesNotExist:
raise Exception("Could not find bulk payment %s" % invoice.processor)
- return "%s/events/bulkpay/%s/%s/" % (settings.SITEBASE_SSL, bp.conference.urlname, invoice.processorid)
+ return "%s/events/bulkpay/%s/%s/" % (settings.SITEBASE, bp.conference.urlname, invoice.processorid)
@@ -238,4 +238,4 @@ class AddonInvoiceProcessor(object):
except PendingAdditionalOrder.DoesNotExist:
raise Exception("Could not find additional options order %s!" % invoice.processorid)
- return "%s/events/register/%s/" % (settings.SITEBASE_SSL, order.reg.conference.urlname)
+ return "%s/events/register/%s/" % (settings.SITEBASE, order.reg.conference.urlname)
diff --git a/postgresqleu/confreg/management/commands/confreg_expire_waitlist.py b/postgresqleu/confreg/management/commands/confreg_expire_waitlist.py
index afe5aea8..22da3c27 100644
--- a/postgresqleu/confreg/management/commands/confreg_expire_waitlist.py
+++ b/postgresqleu/confreg/management/commands/confreg_expire_waitlist.py
@@ -52,7 +52,7 @@ class Command(BaseCommand):
'conference': reg.conference,
'reg': reg,
'offerexpires': w.offerexpires,
- 'SITEBASE': settings.SITEBASE_SSL,
+ 'SITEBASE': settings.SITEBASE,
})),
sendername = reg.conference.conferencename,
receivername = u"{0} {1}".format(reg.firstname, reg.lastname),
diff --git a/postgresqleu/confreg/management/commands/confreg_send_reminders.py b/postgresqleu/confreg/management/commands/confreg_send_reminders.py
index 710071c3..5bd3dffa 100644
--- a/postgresqleu/confreg/management/commands/confreg_send_reminders.py
+++ b/postgresqleu/confreg/management/commands/confreg_send_reminders.py
@@ -89,7 +89,7 @@ class Command(BaseCommand):
template.render(Context({
'conference': conference,
'sessions': sessions,
- 'SITEBASE': settings.SITEBASE_SSL,
+ 'SITEBASE': settings.SITEBASE,
})),
sendername = conference.conferencename,
receivername = speaker.fullname,
@@ -123,7 +123,7 @@ class Command(BaseCommand):
"Your registration to {0}".format(conference),
template.render(Context({
'conference': conference,
- 'SITEBASE': settings.SITEBASE_SSL,
+ 'SITEBASE': settings.SITEBASE,
})),
sendername = conference.conferencename,
receivername = speaker.fullname,
@@ -157,7 +157,7 @@ class Command(BaseCommand):
template.render(Context({
'conference': conference,
'reg': reg,
- 'SITEBASE': settings.SITEBASE_SSL,
+ 'SITEBASE': settings.SITEBASE,
})),
sendername = conference.conferencename,
receivername = reg.fullname,
@@ -185,7 +185,7 @@ class Command(BaseCommand):
template.render(Context({
'conference': conference,
'session': sess,
- 'SITEBASE': settings.SITEBASE_SSL,
+ 'SITEBASE': settings.SITEBASE,
})),
sendername = conference.conferencename,
receivername = spk.name,
diff --git a/postgresqleu/confreg/pdfschedule.py b/postgresqleu/confreg/pdfschedule.py
index a5014d0a..20bcc57e 100644
--- a/postgresqleu/confreg/pdfschedule.py
+++ b/postgresqleu/confreg/pdfschedule.py
@@ -20,8 +20,6 @@ from reportlab.pdfbase.ttfonts import TTFont
from reportlab.lib.styles import getSampleStyleSheet
from reportlab.lib.units import cm, mm
-from postgresqleu.util.decorators import ssl_required
-
from models import Conference, Room, Track, RegistrationDay, ConferenceSession
from views import render_conference_response
@@ -331,7 +329,6 @@ class PdfScheduleForm(forms.Form):
self.fields['day'].queryset = RegistrationDay.objects.filter(conference=conference)
self.fields['tracks'].queryset = alltracks
-@ssl_required
@login_required
def pdfschedule(request, confname):
if request.user.is_superuser:
diff --git a/postgresqleu/confreg/reporting.py b/postgresqleu/confreg/reporting.py
index a2e71e2d..897f07c2 100644
--- a/postgresqleu/confreg/reporting.py
+++ b/postgresqleu/confreg/reporting.py
@@ -4,7 +4,7 @@ from django.contrib.auth.decorators import login_required
from django.contrib import messages
from django.db import connection
-from postgresqleu.util.decorators import user_passes_test_or_error, ssl_required
+from postgresqleu.util.decorators import user_passes_test_or_error
from datetime import datetime
@@ -19,7 +19,6 @@ class Header(object):
def __unicode__(self):
return self.hdr
-@ssl_required
@login_required
@user_passes_test_or_error(lambda u: u.is_superuser)
def timereport(request):
diff --git a/postgresqleu/confreg/util.py b/postgresqleu/confreg/util.py
index 0ac3a623..15853544 100644
--- a/postgresqleu/confreg/util.py
+++ b/postgresqleu/confreg/util.py
@@ -154,7 +154,7 @@ def expire_additional_options(reg):
'reg': reg,
'options': expireset,
'optionscount': len(expireset),
- 'SITEBASE': settings.SITEBASE_SSL,
+ 'SITEBASE': settings.SITEBASE,
})),
sendername = reg.conference.conferencename,
receivername = u"{0} {1}".format(reg.firstname, reg.lastname))
diff --git a/postgresqleu/confreg/views.py b/postgresqleu/confreg/views.py
index f08b5722..2642a426 100644
--- a/postgresqleu/confreg/views.py
+++ b/postgresqleu/confreg/views.py
@@ -36,7 +36,7 @@ from util import get_invoice_autocancel
from models import get_status_string
from regtypes import confirm_special_reg_type
-from postgresqleu.util.decorators import user_passes_test_or_error, ssl_required
+from postgresqleu.util.decorators import user_passes_test_or_error
from postgresqleu.invoices.models import Invoice, InvoicePaymentMethod, InvoiceRow
from postgresqleu.confwiki.models import Wikipage
from postgresqleu.invoices.util import InvoiceManager, InvoicePresentationWrapper
@@ -167,7 +167,6 @@ def _registration_dashboard(request, conference, reg):
'invoices': invoices,
})
-@ssl_required
@login_required
@transaction.atomic
def home(request, confname):
@@ -253,7 +252,7 @@ def home(request, confname):
return render_conference_response(request, conference, 'confreg/regform_completed.html', {
'reg': reg,
- 'invoice': InvoicePresentationWrapper(reg.invoice, "%s/events/register/%s/" % (settings.SITEBASE_SSL, conference.urlname)),
+ 'invoice': InvoicePresentationWrapper(reg.invoice, "%s/events/register/%s/" % (settings.SITEBASE, conference.urlname)),
})
# Else fall through and render the form
@@ -263,7 +262,7 @@ def home(request, confname):
'form': form,
'form_is_saved': form_is_saved,
'reg': reg,
- 'invoice': InvoicePresentationWrapper(reg.invoice, "%s/events/register/%s/" % (settings.SITEBASE_SSL, conference.urlname)),
+ 'invoice': InvoicePresentationWrapper(reg.invoice, "%s/events/register/%s/" % (settings.SITEBASE, conference.urlname)),
'additionaloptions': conference.conferenceadditionaloption_set.filter(public=True),
'costamount': reg.regtype and reg.regtype.cost or 0,
})
@@ -274,7 +273,6 @@ def feedback_available(request):
'conferences': conferences,
}, context_instance=RequestContext(request))
-@ssl_required
@login_required
@transaction.atomic
def reg_add_options(request, confname):
@@ -419,7 +417,6 @@ def reg_add_options(request, confname):
return HttpResponseRedirect('/invoices/{0}/{1}/'.format(order.invoice.id, order.invoice.recipient_secret))
-@ssl_required
@login_required
def feedback(request, confname):
conference = get_object_or_404(Conference, urlname=confname)
@@ -466,7 +463,6 @@ def feedback(request, confname):
'is_tester': is_conf_tester,
})
-@ssl_required
@login_required
def feedback_session(request, confname, sessionid):
# Room for optimization: don't get these as separate steps
@@ -510,7 +506,6 @@ def feedback_session(request, confname, sessionid):
})
-@ssl_required
@login_required
@transaction.atomic
def feedback_conference(request, confname):
@@ -738,7 +733,6 @@ def speakerphoto(request, speakerid):
speakerphoto = get_object_or_404(Speaker_Photo, pk=speakerid)
return HttpResponse(base64.b64decode(speakerphoto.photo), content_type='image/jpg')
-@ssl_required
@login_required
def speakerprofile(request, confurlname=None):
speaker = conferences = callforpapers = None
@@ -780,7 +774,6 @@ def speakerprofile(request, confurlname=None):
'form': form,
})
-@ssl_required
@login_required
def callforpapers(request, confname):
conference = get_object_or_404(Conference, urlname=confname)
@@ -832,7 +825,6 @@ def callforpapers(request, confname):
})
-@ssl_required
@login_required
def callforpapers_edit(request, confname, sessionid):
conference = get_object_or_404(Conference, urlname=confname)
@@ -921,7 +913,6 @@ def callforpapers_edit(request, confname, sessionid):
'savedok': savedok,
})
-@ssl_required
@login_required
@transaction.atomic
def callforpapers_confirm(request, confname, sessionid):
@@ -959,7 +950,7 @@ def callforpapers_confirm(request, confname, sessionid):
template.render(Context({
'conference': conference,
'session': session,
- 'SITEBASE': settings.SITEBASE_SSL,
+ 'SITEBASE': settings.SITEBASE,
})),
sendername = conference.conferencename,
receivername = spk.fullname,
@@ -973,7 +964,6 @@ def callforpapers_confirm(request, confname, sessionid):
'session': session,
})
-@ssl_required
@login_required
@transaction.atomic
def confirmreg(request, confname):
@@ -1135,7 +1125,6 @@ def confirmreg(request, confname):
})
-@ssl_required
@login_required
@transaction.atomic
def waitlist_signup(request, confname):
@@ -1169,7 +1158,6 @@ def waitlist_signup(request, confname):
# which will show the waitlist information.
return HttpResponseRedirect("../confirm/")
-@ssl_required
@login_required
@transaction.atomic
def waitlist_cancel(request, confname):
@@ -1201,13 +1189,11 @@ def waitlist_cancel(request, confname):
# which will show the waitlist information.
return HttpResponseRedirect("../confirm/")
-@ssl_required
@login_required
def cancelreg(request, confname):
conference = get_object_or_404(Conference, urlname=confname)
return render_conference_response(request, conference, 'confreg/canceled.html')
-@ssl_required
@login_required
@transaction.atomic
def invoice(request, confname, regid):
@@ -1238,7 +1224,6 @@ def invoice(request, confname, regid):
'invoice': reg.invoice,
})
-@ssl_required
@login_required
def attendee_mail(request, confname, mailid):
conference = get_object_or_404(Conference, urlname=confname)
@@ -1251,7 +1236,6 @@ def attendee_mail(request, confname, mailid):
'mail': mail,
})
-@ssl_required
@login_required
@transaction.atomic
@user_passes_test_or_error(lambda u: u.has_module_perms('invoicemgr'))
@@ -1311,7 +1295,6 @@ def createvouchers(request):
'form': form,
}, context_instance=RequestContext(request))
-@ssl_required
@login_required
@transaction.atomic
def viewvouchers(request, batchid):
@@ -1338,7 +1321,7 @@ def viewvouchers(request, batchid):
vouchermailtext = get_template('confreg/mail/prepaid_vouchers.txt').render(Context({
'batch': batch,
'vouchers': vouchers,
- 'SITEBASE': settings.SITEBASE_SSL,
+ 'SITEBASE': settings.SITEBASE,
}))
return render_to_response('confreg/prepaid_create_list.html', {
@@ -1348,7 +1331,6 @@ def viewvouchers(request, batchid):
'vouchermailtext': vouchermailtext,
}, RequestContext(request))
-@ssl_required
@login_required
@transaction.atomic
@user_passes_test_or_error(lambda u: u.has_module_perms('invoicemgr'))
@@ -1359,7 +1341,7 @@ def emailvouchers(request, batchid):
vouchermailtext = get_template('confreg/mail/prepaid_vouchers.txt').render(Context({
'batch': batch,
'vouchers': vouchers,
- 'SITEBASE': settings.SITEBASE_SSL,
+ 'SITEBASE': settings.SITEBASE,
}))
send_simple_mail(batch.conference.contactaddr,
batch.buyer.email,
@@ -1370,7 +1352,6 @@ def emailvouchers(request, batchid):
)
return HttpResponse('OK')
-@ssl_required
@login_required
@transaction.atomic
def bulkpay(request, confname):
@@ -1502,7 +1483,6 @@ def bulkpay(request, confname):
})
-@ssl_required
@login_required
def bulkpay_view(request, confname, bulkpayid):
conference = get_object_or_404(Conference, urlname=confname)
@@ -1542,7 +1522,6 @@ class UnscheduledSession(object):
self.ispending = (session.status == 3)
-@ssl_required
@login_required
@transaction.atomic
def talkvote(request, confname):
@@ -1655,7 +1634,6 @@ def talkvote(request, confname):
'status_choices': STATUS_CHOICES,
}, context_instance=RequestContext(request))
-@ssl_required
@login_required
@csrf_exempt
@transaction.atomic
@@ -1749,7 +1727,6 @@ def createschedule(request, confname):
'sesswidth': 600 / len(rooms),
}, context_instance=RequestContext(request))
-@ssl_required
@login_required
@user_passes_test_or_error(lambda u: u.is_superuser)
def publishschedule(request, confname):
@@ -1799,7 +1776,6 @@ def publishschedule(request, confname):
'changes': changes,
}, context_instance=RequestContext(request))
-@ssl_required
@login_required
def reports(request, confname):
if request.user.is_superuser:
@@ -1817,7 +1793,6 @@ def reports(request, confname):
}, context_instance=RequestContext(request))
-@ssl_required
@login_required
def advanced_report(request, confname):
if request.user.is_superuser:
@@ -1833,7 +1808,6 @@ def advanced_report(request, confname):
return build_attendee_report(conference, request.POST )
-@ssl_required
@login_required
def simple_report(request, confname):
if request.user.is_superuser:
@@ -1864,7 +1838,6 @@ def simple_report(request, confname):
'data': d,
}, RequestContext(request))
-@ssl_required
@login_required
def admin_dashboard(request):
if request.user.is_superuser:
@@ -1889,7 +1862,6 @@ def admin_dashboard(request):
'conferences': conferences,
}, RequestContext(request))
-@ssl_required
@login_required
def admin_dashboard_single(request, urlname):
if request.user.is_superuser:
@@ -1901,7 +1873,6 @@ def admin_dashboard_single(request, urlname):
'conference': conference,
}, RequestContext(request))
-@ssl_required
@login_required
def admin_registration_dashboard(request, urlname):
if request.user.is_superuser:
@@ -1951,7 +1922,6 @@ def admin_registration_dashboard(request, urlname):
'tables': tables,
}, RequestContext(request))
-@ssl_required
@login_required
@transaction.atomic
def admin_waitlist(request, urlname):
@@ -1998,7 +1968,7 @@ def admin_waitlist(request, urlname):
'conference': conference,
'reg': r,
'offerexpires': wl.offerexpires,
- 'SITEBASE': settings.SITEBASE_SSL,
+ 'SITEBASE': settings.SITEBASE,
})),
sendername = conference.conferencename,
receivername = u"{0} {1}".format(r.firstname, r.lastname),
@@ -2020,7 +1990,6 @@ def admin_waitlist(request, urlname):
'form': form,
}, RequestContext(request))
-@ssl_required
@login_required
@transaction.atomic
def admin_attendeemail(request, urlname):
@@ -2045,7 +2014,7 @@ def admin_attendeemail(request, urlname):
# Now also send the email out to the currently registered attendees
attendees = ConferenceRegistration.objects.filter(conference=conference, payconfirmedat__isnull=False, regtype__regclass__in=form.data.getlist('regclasses'))
for a in attendees:
- msgtxt = u"{0}\n\n-- \nThis message was sent to attendees of {1}.\nYou can view all communications for this conference at:\n{2}/events/register/{3}/\n".format(msg.message, conference, settings.SITEBASE_SSL, conference.urlname)
+ msgtxt = u"{0}\n\n-- \nThis message was sent to attendees of {1}.\nYou can view all communications for this conference at:\n{2}/events/register/{3}/\n".format(msg.message, conference, settings.SITEBASE, conference.urlname)
send_simple_mail(conference.contactaddr,
a.email,
u"[{0}] {1}".format(conference, msg.subject),
@@ -2064,7 +2033,6 @@ def admin_attendeemail(request, urlname):
'form': form,
}, RequestContext(request))
-@ssl_required
@login_required
def admin_attendeemail_view(request, urlname, mailid):
if request.user.is_superuser:
@@ -2079,7 +2047,6 @@ def admin_attendeemail_view(request, urlname, mailid):
'mail': mail,
}, RequestContext(request))
-@ssl_required
@login_required
@transaction.atomic
def session_notify_queue(request, urlname):
@@ -2102,7 +2069,7 @@ def session_notify_queue(request, urlname):
template.render(Context({
'conference': conference,
'session': s,
- 'SITEBASE': settings.SITEBASE_SSL,
+ 'SITEBASE': settings.SITEBASE,
})),
sendername=conference.conferencename,
receivername=spk.fullname,
@@ -2121,7 +2088,6 @@ def session_notify_queue(request, urlname):
# Send email to attendees of mixed conferences
-@ssl_required
@login_required
@user_passes_test_or_error(lambda u:u.is_superuser)
@transaction.atomic
@@ -2152,7 +2118,6 @@ def crossmail(request):
# Admin view that's used to send email to multiple users
-@ssl_required
@login_required
@user_passes_test_or_error(lambda u: u.is_superuser)
@transaction.atomic
@@ -2187,7 +2152,6 @@ def admin_email(request):
}, RequestContext(request))
-@ssl_required
@login_required
@user_passes_test_or_error(lambda u: u.is_superuser)
@transaction.atomic
diff --git a/postgresqleu/confsponsor/invoicehandler.py b/postgresqleu/confsponsor/invoicehandler.py
index 73358f07..a5914e42 100644
--- a/postgresqleu/confsponsor/invoicehandler.py
+++ b/postgresqleu/confsponsor/invoicehandler.py
@@ -25,7 +25,7 @@ def confirm_sponsor(sponsor, who):
msgtxt = get_template('confsponsor/mail/sponsor_confirmed.txt').render(Context({
'sponsor': sponsor,
'conference': sponsor.conference,
- 'SITEBASE': settings.SITEBASE_SSL,
+ 'SITEBASE': settings.SITEBASE,
}))
for manager in sponsor.managers.all():
send_simple_mail(sponsor.conference.sponsoraddr,
@@ -107,7 +107,7 @@ class InvoiceProcessor(object):
sponsor = Sponsor.objects.get(pk=invoice.processorid)
except Sponsor.DoesNotExist:
raise Exception("Could not find conference sponsorship %s" % invoice.processorid)
- return "%s/events/sponsor/%s/" % (settings.SITEBASE_SSL, sponsor.id)
+ return "%s/events/sponsor/%s/" % (settings.SITEBASE, sponsor.id)
# Generate an invoice for sponsorship
@@ -202,7 +202,7 @@ class VoucherInvoiceProcessor(object):
pv = PurchasedVoucher.objects.get(pk=invoice.processorid)
except PurchasedVoucher.DoesNotExist:
raise Exception("Could not find voucher order %s" % invoice.processorid)
- return "%s/events/sponsor/%s/" % (settings.SITEBASE_SSL, pv.sponsor.id)
+ return "%s/events/sponsor/%s/" % (settings.SITEBASE, pv.sponsor.id)
# Generate an invoice for prepaid vouchers
diff --git a/postgresqleu/confsponsor/management/commands/sponsor_generate_discount_invoices.py b/postgresqleu/confsponsor/management/commands/sponsor_generate_discount_invoices.py
index 86ea0afd..46190c3d 100644
--- a/postgresqleu/confsponsor/management/commands/sponsor_generate_discount_invoices.py
+++ b/postgresqleu/confsponsor/management/commands/sponsor_generate_discount_invoices.py
@@ -44,7 +44,7 @@ class Command(BaseCommand):
'code': code,
'sponsor': code.sponsor,
'conference': code.conference,
- 'SITEBASE': settings.SITEBASE_SSL,
+ 'SITEBASE': settings.SITEBASE,
}))
for manager in code.sponsor.managers.all():
send_simple_mail(code.conference.sponsoraddr,
@@ -108,7 +108,7 @@ class Command(BaseCommand):
'invoice': code.invoice,
'curr': settings.CURRENCY_ABBREV,
'expired_time': code.validuntil < date.today(),
- 'SITEBASE': settings.SITEBASE_SSL,
+ 'SITEBASE': settings.SITEBASE,
}))
for manager in code.sponsor.managers.all():
send_simple_mail(code.conference.sponsoraddr,
diff --git a/postgresqleu/confsponsor/views.py b/postgresqleu/confsponsor/views.py
index 9f81bbcb..b5b3885a 100644
--- a/postgresqleu/confsponsor/views.py
+++ b/postgresqleu/confsponsor/views.py
@@ -10,7 +10,6 @@ from django.contrib.auth.models import User
from datetime import datetime, timedelta
from postgresqleu.auth import user_search, user_import
-from postgresqleu.util.decorators import ssl_required
from postgresqleu.confreg.models import Conference, PrepaidVoucher, DiscountCode
from postgresqleu.mailqueue.util import send_simple_mail
@@ -27,7 +26,6 @@ from benefits import get_benefit_class
from invoicehandler import create_sponsor_invoice, confirm_sponsor
from invoicehandler import create_voucher_invoice
-@ssl_required
@login_required
def sponsor_dashboard(request):
# We define "past sponsors" as those older than a month - because we have to pick something.
@@ -54,7 +52,6 @@ def _get_sponsor_and_admin(sponsorid, request, onlyconfirmed=True):
else:
return sponsor, False
-@ssl_required
@login_required
def sponsor_conference(request, sponsorid):
sponsor, is_admin = _get_sponsor_and_admin(sponsorid, request, False)
@@ -84,7 +81,6 @@ def sponsor_conference(request, sponsorid):
'is_admin': is_admin,
}, RequestContext(request))
-@ssl_required
@login_required
def sponsor_manager_delete(request, sponsorid):
sponsor = get_object_or_404(Sponsor, id=sponsorid, managers=request.user, confirmed=True)
@@ -99,7 +95,6 @@ def sponsor_manager_delete(request, sponsorid):
messages.info(request, "User %s removed as manager." % user.username)
return HttpResponseRedirect('../../')
-@ssl_required
@login_required
@transaction.atomic
def sponsor_manager_add(request, sponsorid):
@@ -134,7 +129,6 @@ def sponsor_manager_add(request, sponsorid):
messages.warning(request, "Could not find user with email address %s" % request.POST['email'])
return HttpResponseRedirect('../../')
-@ssl_required
@login_required
def sponsor_view_mail(request, sponsorid, mailid):
sponsor, is_admin = _get_sponsor_and_admin(sponsorid, request)
@@ -146,7 +140,6 @@ def sponsor_view_mail(request, sponsorid, mailid):
'mail': mail,
}, RequestContext(request))
-@ssl_required
@login_required
@transaction.atomic
def sponsor_purchase_voucher(request, sponsorid):
@@ -187,7 +180,6 @@ def sponsor_purchase_voucher(request, sponsorid):
'form': form,
}, RequestContext(request))
-@ssl_required
@login_required
@transaction.atomic
def sponsor_purchase_discount(request, sponsorid):
@@ -234,7 +226,6 @@ def sponsor_purchase_discount(request, sponsorid):
'form': form,
}, RequestContext(request))
-@ssl_required
@login_required
def sponsor_signup_dashboard(request, confurlname):
conference = get_object_or_404(Conference, urlname=confurlname)
@@ -252,7 +243,6 @@ def sponsor_signup_dashboard(request, confurlname):
'current': current_signups,
}, RequestContext(request))
-@ssl_required
@login_required
@transaction.atomic
def sponsor_signup(request, confurlname, levelurlname):
@@ -314,7 +304,6 @@ def sponsor_signup(request, confurlname, levelurlname):
'form': form,
}, RequestContext(request))
-@ssl_required
@login_required
@transaction.atomic
def sponsor_claim_benefit(request, sponsorid, benefitid):
@@ -363,7 +352,7 @@ def sponsor_claim_benefit(request, sponsorid, benefitid):
sponsor,
sponsor.conference,
benefit,
- settings.SITEBASE_SSL,
+ settings.SITEBASE,
sponsor.conference.urlname)
send_simple_mail(sponsor.conference.sponsoraddr,
sponsor.conference.sponsoraddr,
@@ -385,7 +374,6 @@ def sponsor_claim_benefit(request, sponsorid, benefitid):
}, RequestContext(request))
-@ssl_required
@login_required
def sponsor_contract(request, contractid):
# Our contracts are not secret, are they? Anybody can view them, we just require a login
@@ -398,7 +386,6 @@ def sponsor_contract(request, contractid):
resp.write(contract.contractpdf.read())
return resp
-@ssl_required
@login_required
def sponsor_admin_dashboard(request, confurlname):
if request.user.is_superuser:
@@ -495,7 +482,6 @@ def _confirm_benefit(request, benefit):
u"Sponsorhip benefit {0} for {1} has been confirmed".format(benefit.benefit, benefit.sponsor)
)
-@ssl_required
@login_required
def sponsor_admin_sponsor(request, confurlname, sponsorid):
if request.user.is_superuser:
@@ -528,7 +514,6 @@ def sponsor_admin_sponsor(request, confurlname, sponsorid):
'noclaimbenefits': noclaimbenefits,
}, RequestContext(request))
-@ssl_required
@login_required
@transaction.atomic
def sponsor_admin_generateinvoice(request, confurlname, sponsorid):
@@ -560,7 +545,6 @@ def sponsor_admin_generateinvoice(request, confurlname, sponsorid):
wrapper.email_invoice()
return HttpResponseRedirect("../")
-@ssl_required
@login_required
@transaction.atomic
def sponsor_admin_confirm(request, confurlname, sponsorid):
@@ -575,7 +559,6 @@ def sponsor_admin_confirm(request, confurlname, sponsorid):
return HttpResponseRedirect('../')
-@ssl_required
@login_required
def sponsor_admin_benefit(request, confurlname, benefitid):
if request.user.is_superuser:
@@ -607,7 +590,6 @@ def sponsor_admin_benefit(request, confurlname, benefitid):
'claimdata': claimdata,
}, RequestContext(request))
-@ssl_required
@login_required
@transaction.atomic
def sponsor_admin_send_mail(request, confurlname):
@@ -631,7 +613,7 @@ def sponsor_admin_send_mail(request, confurlname):
# Now also send the email out to the *current* subscribers
sponsors = Sponsor.objects.filter(conference=conference, level__in=form.data.getlist('levels'), confirmed=True)
for sponsor in sponsors:
- msgtxt = u"{0}\n\n-- \nThis message was sent to sponsors of {1}.\nYou can view all communications for this conference at:\n{2}/events/sponsor/{3}/\n".format(msg.message, conference, settings.SITEBASE_SSL, sponsor.pk)
+ msgtxt = u"{0}\n\n-- \nThis message was sent to sponsors of {1}.\nYou can view all communications for this conference at:\n{2}/events/sponsor/{3}/\n".format(msg.message, conference, settings.SITEBASE, sponsor.pk)
for manager in sponsor.managers.all():
send_simple_mail(conference.sponsoraddr,
manager.email,
@@ -643,7 +625,7 @@ def sponsor_admin_send_mail(request, confurlname):
send_simple_mail(conference.sponsoraddr,
conference.sponsoraddr,
"Email sent to sponsors",
- "An email was sent to sponsors of {0}.\n\nTo view it, go to {1}/events/sponsor/admin/{2}/viewmail/{3}/".format(conference, settings.SITEBASE_SSL, conference.urlname, msg.id),
+ "An email was sent to sponsors of {0}.\n\nTo view it, go to {1}/events/sponsor/admin/{2}/viewmail/{3}/".format(conference, settings.SITEBASE, conference.urlname, msg.id),
sendername=conference.conferencename,
receivername=conference.conferencename)
@@ -657,7 +639,6 @@ def sponsor_admin_send_mail(request, confurlname):
'form': form,
}, RequestContext(request))
-@ssl_required
@login_required
def sponsor_admin_view_mail(request, confurlname, mailid):
if request.user.is_superuser:
@@ -672,7 +653,6 @@ def sponsor_admin_view_mail(request, confurlname, mailid):
'admin': True,
}, RequestContext(request))
-@ssl_required
@login_required
def sponsor_admin_imageview(request, benefitid):
# Image is fetched as part of a benefit, so find the benefit
@@ -696,7 +676,6 @@ def sponsor_admin_imageview(request, benefitid):
resp.write(f.read())
return resp
-@ssl_required
@login_required
@transaction.atomic
def admin_copy_level(request, levelid):
diff --git a/postgresqleu/confwiki/views.py b/postgresqleu/confwiki/views.py
index e2bb8658..edcd6446 100644
--- a/postgresqleu/confwiki/views.py
+++ b/postgresqleu/confwiki/views.py
@@ -11,7 +11,6 @@ from datetime import datetime
from cStringIO import StringIO
import difflib
-from postgresqleu.util.decorators import ssl_required
from postgresqleu.mailqueue.util import send_simple_mail
from postgresqleu.confreg.models import Conference, ConferenceRegistration
@@ -23,7 +22,6 @@ from forms import WikipageEditForm, WikipageAdminEditForm
from models import Signup, AttendeeSignup
from forms import SignupSubmitForm, SignupAdminEditForm
-@ssl_required
@login_required
def wikipage(request, confurl, wikiurl):
conference = get_object_or_404(Conference, urlname=confurl)
@@ -46,7 +44,6 @@ def wikipage(request, confurl, wikiurl):
'is_subscribed': is_subscribed,
})
-@ssl_required
@login_required
@transaction.atomic
def wikipage_subscribe(request, confurl, wikiurl):
@@ -68,7 +65,6 @@ def wikipage_subscribe(request, confurl, wikiurl):
return HttpResponseRedirect('../')
-@ssl_required
@login_required
def wikipage_history(request, confurl, wikiurl):
conference = get_object_or_404(Conference, urlname=confurl)
@@ -113,7 +109,6 @@ def wikipage_history(request, confurl, wikiurl):
})
-@ssl_required
@login_required
@transaction.atomic
def wikipage_edit(request, confurl, wikiurl):
@@ -157,7 +152,7 @@ def wikipage_edit(request, confurl, wikiurl):
conference.contactaddr,
subject,
body)
- body += "\n\nYou are receiving this message because you are subscribed to changes to\nthis page. To stop receiving notifications, please click\n{0}/events/register/{1}/wiki/{2}/sub/\n\n".format(settings.SITEBASE_SSL, conference.urlname, page.url)
+ body += "\n\nYou are receiving this message because you are subscribed to changes to\nthis page. To stop receiving notifications, please click\n{0}/events/register/{1}/wiki/{2}/sub/\n\n".format(settings.SITEBASE, conference.urlname, page.url)
for sub in WikipageSubscriber.objects.filter(page=page):
send_simple_mail(conference.contactaddr,
reg.email,
@@ -183,7 +178,6 @@ def wikipage_edit(request, confurl, wikiurl):
'diff': diff,
})
-@ssl_required
@login_required
def admin(request, urlname):
if request.user.is_superuser:
@@ -198,7 +192,6 @@ def admin(request, urlname):
'pages': pages,
}, RequestContext(request))
-@ssl_required
@login_required
@transaction.atomic
def admin_edit_page(request, urlname, pageid):
@@ -255,7 +248,6 @@ def admin_edit_page(request, urlname, pageid):
}, RequestContext(request))
-@ssl_required
@login_required
@transaction.atomic
def signup(request, urlname, signupid):
@@ -325,7 +317,6 @@ def signup(request, urlname, signupid):
'form': form,
})
-@ssl_required
@login_required
def signup_admin(request, urlname):
if request.user.is_superuser:
@@ -340,7 +331,6 @@ def signup_admin(request, urlname):
'signups': signups,
}, RequestContext(request))
-@ssl_required
@login_required
@transaction.atomic
def signup_admin_edit(request, urlname, signupid):
diff --git a/postgresqleu/elections/views.py b/postgresqleu/elections/views.py
index 123ae855..d968d5e8 100644
--- a/postgresqleu/elections/views.py
+++ b/postgresqleu/elections/views.py
@@ -8,8 +8,6 @@ from models import Election, Member, Candidate, Vote
from forms import VoteForm
from datetime import date, timedelta
-from postgresqleu.util.decorators import ssl_required
-
def home(request):
elections = Election.objects.filter(isopen=True).order_by('startdate')
open_elections = [e for e in elections if e.startdate<=date.today() and e.enddate>=date.today()]
@@ -22,7 +20,6 @@ def home(request):
'upcoming': upcoming_elections,
}, context_instance=RequestContext(request))
-@ssl_required
def election(request, electionid):
election = get_object_or_404(Election, pk=electionid)
if not election.isopen:
@@ -108,7 +105,6 @@ def candidate(request, election, candidate):
'candidate': candidate,
}, context_instance=RequestContext(request))
-@ssl_required
@login_required
def ownvotes(request, electionid):
election = get_object_or_404(Election, pk=electionid)
diff --git a/postgresqleu/invoicemgr/views.py b/postgresqleu/invoicemgr/views.py
index 6388a5e6..c6d02930 100644
--- a/postgresqleu/invoicemgr/views.py
+++ b/postgresqleu/invoicemgr/views.py
@@ -11,10 +11,8 @@ from datetime import datetime
import os
from models import Invoice
-from postgresqleu.util.decorators import ssl_required
from postgresqleu.confreg.models import Conference, ConferenceRegistration
-@ssl_required
@login_required
@user_passes_test(lambda u: u.has_module_perms('invoicemgr'))
def home(request):
@@ -23,7 +21,6 @@ def home(request):
'invoices': invoices,
}, context_instance=RequestContext(request))
-@ssl_required
@login_required
@user_passes_test(lambda u: u.has_module_perms('invoicemgr'))
def invoice(request, id):
@@ -32,7 +29,6 @@ def invoice(request, id):
'invoice': invoice,
})
-@ssl_required
@login_required
@user_passes_test(lambda u: u.has_module_perms('invoicemgr'))
def invoicepdf(request, id):
diff --git a/postgresqleu/invoices/util.py b/postgresqleu/invoices/util.py
index b94420d6..67f13511 100644
--- a/postgresqleu/invoices/util.py
+++ b/postgresqleu/invoices/util.py
@@ -148,10 +148,10 @@ class InvoiceWrapper(object):
# then the recipient can access it. As long as the secret is
# included, both the logged in and the not logged in user
# can see it.
- invoiceurl = '%s/invoices/%s/%s/' % (settings.SITEBASE_SSL, self.invoice.pk, self.invoice.recipient_secret)
+ invoiceurl = '%s/invoices/%s/%s/' % (settings.SITEBASE, self.invoice.pk, self.invoice.recipient_secret)
elif self.invoice.recipient_user:
# General URL that shows a normal invoice
- invoiceurl = '%s/invoices/%s/' % (settings.SITEBASE_SSL, self.invoice.pk)
+ invoiceurl = '%s/invoices/%s/' % (settings.SITEBASE, self.invoice.pk)
else:
invoiceurl = None
@@ -308,7 +308,7 @@ class InvoiceManager(object):
leaveopen = False
else:
leaveopen = True
- urls = ['%s/invoices/%s/' % (settings.SITEBASE_SSL, invoice.pk),]
+ urls = ['%s/invoices/%s/' % (settings.SITEBASE, invoice.pk),]
if extraurls:
urls.extend(extraurls)
diff --git a/postgresqleu/invoices/views.py b/postgresqleu/invoices/views.py
index 43459f19..cdaf8f7d 100644
--- a/postgresqleu/invoices/views.py
+++ b/postgresqleu/invoices/views.py
@@ -13,36 +13,31 @@ import base64
import StringIO
from datetime import datetime, timedelta
-from postgresqleu.util.decorators import user_passes_test_or_error, ssl_required
+from postgresqleu.util.decorators import user_passes_test_or_error
from models import Invoice, InvoiceRow, InvoicePaymentMethod
from forms import InvoiceForm, InvoiceRowForm
from util import InvoiceWrapper, InvoiceManager, InvoicePresentationWrapper
-@ssl_required
@login_required
@user_passes_test_or_error(lambda u: u.has_module_perms('invoices'))
def all(request):
return _homeview(request, Invoice.objects.all())
-@ssl_required
@login_required
@user_passes_test_or_error(lambda u: u.has_module_perms('invoices'))
def unpaid(request):
return _homeview(request, Invoice.objects.filter(paidat=None, deleted=False, finalized=True), unpaid=True)
-@ssl_required
@login_required
@user_passes_test_or_error(lambda u: u.has_module_perms('invoices'))
def pending(request):
return _homeview(request, Invoice.objects.filter(finalized=False, deleted=False), pending=True)
-@ssl_required
@login_required
@user_passes_test_or_error(lambda u: u.has_module_perms('invoices'))
def deleted(request):
return _homeview(request, Invoice.objects.filter(deleted=True), deleted=True)
-@ssl_required
@login_required
@user_passes_test_or_error(lambda u: u.has_module_perms('invoices'))
def refunded(request):
@@ -73,7 +68,6 @@ def _homeview(request, invoice_objects, unpaid=False, pending=False, deleted=Fal
}, context_instance=RequestContext(request))
-@ssl_required
@login_required
@user_passes_test_or_error(lambda u: u.has_module_perms('invoices'))
def search(request):
@@ -106,7 +100,6 @@ def search(request):
messages.info(request, "Showing %s search hits for %s" % (len(invoices), term))
return _homeview(request, invoices, searchterm=term)
-@ssl_required
@login_required
@user_passes_test_or_error(lambda u: u.has_module_perms('invoices'))
@transaction.atomic
@@ -183,7 +176,6 @@ def oneinvoice(request, invoicenum):
'invoice': invoice,
}, context_instance=RequestContext(request))
-@ssl_required
@login_required
@user_passes_test_or_error(lambda u: u.has_module_perms('invoices'))
@transaction.atomic
@@ -217,7 +209,6 @@ def flaginvoice(request, invoicenum):
# so we can just return the user right back
return HttpResponseRedirect("/invoiceadmin/%s/" % invoice.id)
-@ssl_required
@login_required
@user_passes_test_or_error(lambda u: u.has_module_perms('invoices'))
@transaction.atomic
@@ -237,7 +228,6 @@ def cancelinvoice(request, invoicenum):
return HttpResponseRedirect("/invoiceadmin/%s/" % invoice.id)
-@ssl_required
@login_required
@user_passes_test_or_error(lambda u: u.has_module_perms('invoices'))
@transaction.atomic
@@ -256,7 +246,6 @@ def refundinvoice(request, invoicenum):
return HttpResponseRedirect("/invoiceadmin/%s/" % invoice.id)
-@ssl_required
@login_required
@user_passes_test_or_error(lambda u: u.has_module_perms('invoices'))
def previewinvoice(request, invoicenum):
@@ -268,7 +257,6 @@ def previewinvoice(request, invoicenum):
r.write(wrapper.render_pdf_invoice(True))
return r
-@ssl_required
@login_required
@user_passes_test_or_error(lambda u: u.has_module_perms('invoices'))
@transaction.atomic
@@ -305,7 +293,6 @@ def emailinvoice(request, invoicenum):
#--------------------------------------------------------------------------
-@ssl_required
@login_required
def viewinvoice(request, invoiceid):
invoice = get_object_or_404(Invoice, pk=invoiceid, deleted=False, finalized=True)
@@ -313,18 +300,16 @@ def viewinvoice(request, invoiceid):
return HttpResponseForbidden("Access denied")
return render_to_response('invoices/userinvoice.html', {
- 'invoice': InvoicePresentationWrapper(invoice, "%s/invoices/%s/" % (settings.SITEBASE_SSL, invoice.pk)),
+ 'invoice': InvoicePresentationWrapper(invoice, "%s/invoices/%s/" % (settings.SITEBASE, invoice.pk)),
}, context_instance=RequestContext(request))
-@ssl_required
def viewinvoice_secret(request, invoiceid, invoicesecret):
invoice = get_object_or_404(Invoice, pk=invoiceid, deleted=False, finalized=True, recipient_secret=invoicesecret)
return render_to_response('invoices/userinvoice.html', {
- 'invoice': InvoicePresentationWrapper(invoice, "%s/invoices/%s/%s/" % (settings.SITEBASE_SSL, invoice.pk, invoice.recipient_secret)),
+ 'invoice': InvoicePresentationWrapper(invoice, "%s/invoices/%s/%s/" % (settings.SITEBASE, invoice.pk, invoice.recipient_secret)),
'fromsecret': True,
}, context_instance=RequestContext(request))
-@ssl_required
@login_required
def viewinvoicepdf(request, invoiceid):
invoice = get_object_or_404(Invoice, pk=invoiceid)
@@ -335,14 +320,12 @@ def viewinvoicepdf(request, invoiceid):
r.write(base64.b64decode(invoice.pdf_invoice))
return r
-@ssl_required
def viewinvoicepdf_secret(request, invoiceid, invoicesecret):
invoice = get_object_or_404(Invoice, pk=invoiceid, recipient_secret=invoicesecret)
r = HttpResponse(content_type='application/pdf')
r.write(base64.b64decode(invoice.pdf_invoice))
return r
-@ssl_required
@login_required
def viewreceipt(request, invoiceid):
invoice = get_object_or_404(Invoice, pk=invoiceid)
@@ -353,14 +336,12 @@ def viewreceipt(request, invoiceid):
r.write(base64.b64decode(invoice.pdf_receipt))
return r
-@ssl_required
def viewreceipt_secret(request, invoiceid, invoicesecret):
invoice = get_object_or_404(Invoice, pk=invoiceid, recipient_secret=invoicesecret)
r = HttpResponse(content_type='application/pdf')
r.write(base64.b64decode(invoice.pdf_receipt))
return r
-@ssl_required
@login_required
def userhome(request):
invoices = Invoice.objects.filter(recipient_user=request.user, deleted=False, finalized=True)
@@ -368,7 +349,6 @@ def userhome(request):
'invoices': invoices,
}, context_instance=RequestContext(request))
-@ssl_required
@login_required
def banktransfer(request):
return render_to_response('invoices/banktransfer.html', {
@@ -377,7 +357,6 @@ def banktransfer(request):
'returnurl': request.GET['ret'],
}, context_instance=RequestContext(request))
-@ssl_required
@login_required
@transaction.atomic
def dummy_payment(request, invoiceid, invoicesecret):
@@ -390,7 +369,7 @@ def dummy_payment(request, invoiceid, invoicesecret):
processor = manager.get_invoice_processor(invoice)
returnurl = processor.get_return_url(invoice)
else:
- returnurl = "%s/invoices/%s/" % (settings.SITEBASE_SSL, invoice.pk)
+ returnurl = "%s/invoices/%s/" % (settings.SITEBASE, invoice.pk)
# We'll just cheat and use the Adyen account
manager.process_incoming_payment_for_invoice(invoice, invoice.total_amount, 'Dummy payment', 0, settings.ACCOUNTING_ADYEN_AUTHORIZED_ACCOUNT, 0, None, None, InvoicePaymentMethod.objects.get(classname='postgresqleu.util.payment.dummy.DummyPayment'))
diff --git a/postgresqleu/membership/invoicehandler.py b/postgresqleu/membership/invoicehandler.py
index cdbd4476..190cfc68 100644
--- a/postgresqleu/membership/invoicehandler.py
+++ b/postgresqleu/membership/invoicehandler.py
@@ -60,4 +60,4 @@ class InvoiceProcessor(object):
# of their payment. In our case, we just return the user directly
# to the membership page.
def get_return_url(self, invoice):
- return "%s/membership/" % settings.SITEBASE_SSL
+ return "%s/membership/" % settings.SITEBASE
diff --git a/postgresqleu/membership/views.py b/postgresqleu/membership/views.py
index c89d19aa..08e15f95 100644
--- a/postgresqleu/membership/views.py
+++ b/postgresqleu/membership/views.py
@@ -10,7 +10,7 @@ from django.db.models import Q
from models import Member, MemberLog, Meeting, MemberMeetingKey
from forms import MemberForm
-from postgresqleu.util.decorators import user_passes_test_or_error, ssl_required
+from postgresqleu.util.decorators import user_passes_test_or_error
from postgresqleu.invoices.util import InvoiceManager, InvoicePresentationWrapper
from postgresqleu.invoices.models import InvoiceProcessor
from postgresqleu.confreg.forms import EmailSendForm
@@ -21,7 +21,6 @@ import json
import base64
import os
-@ssl_required
@login_required
@transaction.atomic
def home(request):
@@ -99,7 +98,7 @@ def home(request):
return render_to_response('membership/index.html', {
'form': form,
'member': member,
- 'invoice': InvoicePresentationWrapper(member.activeinvoice, "%s/membership/" % settings.SITEBASE_SSL),
+ 'invoice': InvoicePresentationWrapper(member.activeinvoice, "%s/membership/" % settings.SITEBASE),
'registration_complete': registration_complete,
'logdata': logdata,
'amount': 10, # price for two years
@@ -114,7 +113,6 @@ def userlist(request):
# Admin view that's used to send email to multiple users
-@ssl_required
@login_required
@user_passes_test_or_error(lambda u: u.is_superuser)
@transaction.atomic
@@ -144,7 +142,6 @@ def admin_email(request):
'recipientlist': ', '.join(recipients),
}, RequestContext(request))
-@ssl_required
@login_required
def meetings(request):
# Only available for actual members
@@ -158,7 +155,6 @@ def meetings(request):
'meetings': meetings,
})
-@ssl_required
@login_required
@transaction.atomic
def meeting(request, meetingid):
@@ -194,7 +190,6 @@ def meeting(request, meetingid):
})
# API calls from meeting bot
-@ssl_required
def meetingcode(request):
secret = request.GET['s']
meetingid = request.GET['m']
@@ -203,7 +198,7 @@ def meetingcode(request):
key = MemberMeetingKey.objects.get(key=secret, meeting__pk=meetingid)
member = key.member
except MemberMeetingKey.DoesNotExist:
- return HttpResponse(json.dumps({'err': 'Authentication key not found. Please see %s/membership/meetings/ to get your correct key!' % settings.SITEBASE_SSL}),
+ return HttpResponse(json.dumps({'err': 'Authentication key not found. Please see %s/membership/meetings/ to get your correct key!' % settings.SITEBASE}),
content_type='application/json')
# Return a JSON object with information about the member
diff --git a/postgresqleu/paypal/views.py b/postgresqleu/paypal/views.py
index b9fe676d..6969813c 100644
--- a/postgresqleu/paypal/views.py
+++ b/postgresqleu/paypal/views.py
@@ -11,12 +11,10 @@ from urllib import urlencode, unquote_plus
from postgresqleu.invoices.util import InvoiceManager
from postgresqleu.invoices.models import InvoicePaymentMethod
-from postgresqleu.util.decorators import ssl_required
from postgresqleu.accounting.util import create_accounting_entry
from models import TransactionInfo, ErrorLog, SourceAccount
-@ssl_required
@transaction.atomic
def paypal_return_handler(request):
tx = 'UNKNOWN'
@@ -183,11 +181,11 @@ def paypal_return_handler(request):
if i.recipient_user:
# Registered to a specific user, so request that users
# login on redirect
- url = "%s/invoices/%s/" % (settings.SITEBASE_SSL, i.pk)
+ url = "%s/invoices/%s/" % (settings.SITEBASE, i.pk)
else:
# No user account registered, so send back to the secret
# url version
- url = "%s/invoices/%s/%s/" % (settings.SITEBASE_SSL, i.pk, i.recipient_secret)
+ url = "%s/invoices/%s/%s/" % (settings.SITEBASE, i.pk, i.recipient_secret)
return render_to_response('paypal/complete.html', {
'invoice': i,
diff --git a/postgresqleu/settings.py b/postgresqleu/settings.py
index 6dfeccb6..a7bfdbc6 100644
--- a/postgresqleu/settings.py
+++ b/postgresqleu/settings.py
@@ -169,10 +169,9 @@ CM_USER_ACCOUNT=None
CM_USER_PASSWORD=None
# Base URLs for generating absolute URLs
-SITEBASE="http://www.postgresql.eu"
-SITEBASE_SSL="https://www.postgresql.eu"
+SITEBASE="https://www.postgresql.eu"
+SESSION_COOKIE_SECURE=True
-DISABLE_HTTPS_REDIRECTS=False
DATETIME_FORMAT="Y-m-d H:i:s"
# Set to true in local_settings.py to enable braintree integrations
diff --git a/postgresqleu/util/decorators.py b/postgresqleu/util/decorators.py
index 36b7b780..565e4358 100644
--- a/postgresqleu/util/decorators.py
+++ b/postgresqleu/util/decorators.py
@@ -1,7 +1,6 @@
from functools import wraps
from django.utils.decorators import available_attrs
-from django.http import HttpResponseForbidden, HttpResponseRedirect
-from django.conf import settings
+from django.http import HttpResponseForbidden
# This is like @user_passes_test, except if the user is logged in
# but does not pass the test we give an error instead of a new
@@ -18,17 +17,3 @@ def user_passes_test_or_error(test_func):
return HttpResponseForbidden('Access denied')
return _wrapped_view
return decorator
-
-
-#
-# This decorator creates a redirect to https if the request arrives
-# without it.
-def ssl_required(fn):
- @wraps(fn)
- def _require_ssl(*args, **kwargs):
- request = args[0]
- if not request.is_secure() and not settings.DISABLE_HTTPS_REDIRECTS:
- return HttpResponseRedirect(request.build_absolute_uri().replace('http://', 'https://', 1))
- else:
- return fn(*args, **kwargs)
- return _require_ssl
diff --git a/postgresqleu/util/payment/paypal.py b/postgresqleu/util/payment/paypal.py
index 3102d6b2..0166f67c 100644
--- a/postgresqleu/util/payment/paypal.py
+++ b/postgresqleu/util/payment/paypal.py
@@ -34,7 +34,7 @@ lower fees.
'item_name': invoicestr.encode('utf-8'),
'amount': '%s.00' % invoiceamount,
'invoice': invoiceid,
- 'return': '%s/p/paypal_return/' % settings.SITEBASE_SSL,
+ 'return': '%s/p/paypal_return/' % settings.SITEBASE,
})
if returnurl:
# If the user cancels, send back to specific URL, instead of