summaryrefslogtreecommitdiff
path: root/postgresqleu
diff options
context:
space:
mode:
Diffstat (limited to 'postgresqleu')
-rw-r--r--postgresqleu/accountinfo/views.py2
-rw-r--r--postgresqleu/accounting/views.py10
-rw-r--r--postgresqleu/adyen/util.py2
-rw-r--r--postgresqleu/adyen/views.py2
-rw-r--r--postgresqleu/braintreepayment/views.py2
-rw-r--r--postgresqleu/confreg/admin.py2
-rw-r--r--postgresqleu/confreg/mobileviews.py4
-rw-r--r--postgresqleu/confreg/views.py47
-rw-r--r--postgresqleu/confsponsor/admin.py3
-rw-r--r--postgresqleu/confsponsor/urls.py2
-rw-r--r--postgresqleu/confsponsor/views.py18
-rw-r--r--postgresqleu/confwiki/views.py10
-rw-r--r--postgresqleu/elections/forms.py2
-rw-r--r--postgresqleu/invoicemgr/views.py2
-rw-r--r--postgresqleu/invoices/views.py24
-rw-r--r--postgresqleu/membership/views.py6
-rw-r--r--postgresqleu/paypal/views.py2
-rw-r--r--postgresqleu/simplemigrate/management.py2
-rw-r--r--postgresqleu/urls.py6
19 files changed, 75 insertions, 73 deletions
diff --git a/postgresqleu/accountinfo/views.py b/postgresqleu/accountinfo/views.py
index e4c08a72..cc1ef12a 100644
--- a/postgresqleu/accountinfo/views.py
+++ b/postgresqleu/accountinfo/views.py
@@ -43,7 +43,7 @@ def search(request):
@ssl_required
@login_required
@user_passes_test_or_error(lambda u: u.has_module_perms('invoices'))
-@transaction.commit_on_success
+@transaction.atomic
def importuser(request):
uid = request.POST['uid']
try:
diff --git a/postgresqleu/accounting/views.py b/postgresqleu/accounting/views.py
index 34eb8d20..77a2b321 100644
--- a/postgresqleu/accounting/views.py
+++ b/postgresqleu/accounting/views.py
@@ -42,7 +42,7 @@ def _perform_search(request, year):
@ssl_required
@login_required
-@transaction.commit_on_success
+@transaction.atomic
@user_passes_test_or_error(lambda u: u.has_module_perms('accounting'))
def year(request, year):
year = get_object_or_404(Year, year=int(year))
@@ -63,7 +63,7 @@ def year(request, year):
@ssl_required
@login_required
-@transaction.commit_on_success
+@transaction.atomic
@user_passes_test_or_error(lambda u: u.has_module_perms('accounting'))
def new(request, year):
year = int(year)
@@ -91,7 +91,7 @@ def new(request, year):
@ssl_required
@login_required
-@transaction.commit_on_success
+@transaction.atomic
@user_passes_test_or_error(lambda u: u.has_module_perms('accounting'))
def entry(request, entryid):
entry = get_object_or_404(JournalEntry, pk=entryid)
@@ -252,7 +252,7 @@ def _collate_results(query, queryparam, numvalues):
@ssl_required
@login_required
-@transaction.commit_on_success
+@transaction.atomic
@user_passes_test_or_error(lambda u: u.has_module_perms('accounting'))
def closeyear(request, year):
year = Year.objects.get(pk=year)
@@ -333,7 +333,7 @@ SELECT ac.name AS acname, ag.name AS agname, anum, a.name,
@ssl_required
@login_required
-@transaction.commit_on_success
+@transaction.atomic
@user_passes_test_or_error(lambda u: u.has_module_perms('accounting'))
def report(request, year, reporttype):
years = list(Year.objects.all())
diff --git a/postgresqleu/adyen/util.py b/postgresqleu/adyen/util.py
index 6f68af20..5a70d964 100644
--- a/postgresqleu/adyen/util.py
+++ b/postgresqleu/adyen/util.py
@@ -248,7 +248,7 @@ def process_raw_adyen_notification(raw, POST):
# a transactional context, as it manages it's own.
# Now open a transaction for actually processing what we get
- with transaction.commit_on_success():
+ with transaction.atomic():
# Set it to confirmed - if we were unable to process the RAW one,
# this will be rolled back by the transaction, and that's the only
# thing that htis flag means. Anything else is handled by the
diff --git a/postgresqleu/adyen/views.py b/postgresqleu/adyen/views.py
index 3355171b..e742f48b 100644
--- a/postgresqleu/adyen/views.py
+++ b/postgresqleu/adyen/views.py
@@ -18,7 +18,7 @@ from models import RawNotification, AdyenLog, ReturnAuthorizationStatus
from util import process_raw_adyen_notification
@ssl_required
-@transaction.commit_on_success
+@transaction.atomic
def adyen_return_handler(request):
sig = calculate_signature(request.GET)
diff --git a/postgresqleu/braintreepayment/views.py b/postgresqleu/braintreepayment/views.py
index cc8d58d3..0f67ef2d 100644
--- a/postgresqleu/braintreepayment/views.py
+++ b/postgresqleu/braintreepayment/views.py
@@ -73,7 +73,7 @@ def payment_post(request):
}, RequestContext(request))
- with transaction.commit_on_success():
+ with transaction.atomic():
# Flag the invoice as paid
manager = InvoiceManager()
try:
diff --git a/postgresqleu/confreg/admin.py b/postgresqleu/confreg/admin.py
index ba40b1c1..66925325 100644
--- a/postgresqleu/confreg/admin.py
+++ b/postgresqleu/confreg/admin.py
@@ -2,7 +2,7 @@ from django.contrib import admin
from django import forms
from django.http import HttpResponseRedirect
from django.forms import ValidationError
-from django.forms.util import ErrorList
+from django.forms.utils import ErrorList
from django.db.models.fields.files import ImageFieldFile
from django.db.models import Count
from django.core import urlresolvers
diff --git a/postgresqleu/confreg/mobileviews.py b/postgresqleu/confreg/mobileviews.py
index d3708c58..e0dda8f1 100644
--- a/postgresqleu/confreg/mobileviews.py
+++ b/postgresqleu/confreg/mobileviews.py
@@ -89,7 +89,7 @@ def conferencedata(request, confname, since):
else:
deldata = {}
- resp = HttpResponse(mimetype='application/json')
+ resp = HttpResponse(content_type='application/json')
json.dump({
'c': {
'news': conference.newsjson,
@@ -115,4 +115,4 @@ def newsproxy(request, confname):
r = u.read()
u.close()
- return HttpResponse(r, mimetype='application/json')
+ return HttpResponse(r, content_type='application/json')
diff --git a/postgresqleu/confreg/views.py b/postgresqleu/confreg/views.py
index 87002e15..8a1b33a9 100644
--- a/postgresqleu/confreg/views.py
+++ b/postgresqleu/confreg/views.py
@@ -168,7 +168,7 @@ def _registration_dashboard(request, conference, reg):
@ssl_required
@login_required
-@transaction.commit_on_success
+@transaction.atomic
def home(request, confname):
conference = get_object_or_404(Conference, urlname=confname)
@@ -274,7 +274,7 @@ def feedback_available(request):
@ssl_required
@login_required
-@transaction.commit_on_success
+@transaction.atomic
def reg_add_options(request, confname):
conference = get_object_or_404(Conference, urlname=confname)
reg = get_object_or_404(ConferenceRegistration, conference=conference, attendee=request.user)
@@ -510,7 +510,7 @@ def feedback_session(request, confname, sessionid):
@ssl_required
@login_required
-@transaction.commit_on_success
+@transaction.atomic
def feedback_conference(request, confname):
conference = get_object_or_404(Conference, urlname=confname)
@@ -703,7 +703,7 @@ def schedule_ical(request, confname):
'conference': conference,
'sessions': sessions,
'servername': request.META['SERVER_NAME'],
- }, mimetype='text/calendar', context_instance=RequestContext(request))
+ }, content_type='text/calendar', context_instance=RequestContext(request))
def session(request, confname, sessionid, junk=None):
conference = get_object_or_404(Conference, urlname=confname)
@@ -734,7 +734,7 @@ def speaker(request, confname, speakerid, junk=None):
def speakerphoto(request, speakerid):
speakerphoto = get_object_or_404(Speaker_Photo, pk=speakerid)
- return HttpResponse(base64.b64decode(speakerphoto.photo), mimetype='image/jpg')
+ return HttpResponse(base64.b64decode(speakerphoto.photo), content_type='image/jpg')
@ssl_required
@login_required
@@ -921,7 +921,7 @@ def callforpapers_edit(request, confname, sessionid):
@ssl_required
@login_required
-@transaction.commit_on_success
+@transaction.atomic
def callforpapers_confirm(request, confname, sessionid):
conference = get_object_or_404(Conference, urlname=confname)
@@ -973,7 +973,7 @@ def callforpapers_confirm(request, confname, sessionid):
@ssl_required
@login_required
-@transaction.commit_on_success
+@transaction.atomic
def confirmreg(request, confname):
# Confirm a registration step. This will show the user the final
# cost of the registration, minus any discounts found (including
@@ -1127,7 +1127,7 @@ def confirmreg(request, confname):
@ssl_required
@login_required
-@transaction.commit_on_success
+@transaction.atomic
def waitlist_signup(request, confname):
conference = get_object_or_404(Conference, urlname=confname)
reg = get_object_or_404(ConferenceRegistration, attendee=request.user, conference=conference)
@@ -1161,7 +1161,7 @@ def waitlist_signup(request, confname):
@ssl_required
@login_required
-@transaction.commit_on_success
+@transaction.atomic
def waitlist_cancel(request, confname):
conference = get_object_or_404(Conference, urlname=confname)
reg = get_object_or_404(ConferenceRegistration, attendee=request.user, conference=conference)
@@ -1199,7 +1199,7 @@ def cancelreg(request, confname):
@ssl_required
@login_required
-@transaction.commit_on_success
+@transaction.atomic
def invoice(request, confname, regid):
# Show the invoice. We do this in a separate view from the main view,
# even though the invoice is present on the main view as well, in order
@@ -1243,7 +1243,7 @@ def attendee_mail(request, confname, mailid):
@ssl_required
@login_required
-@transaction.commit_on_success
+@transaction.atomic
@user_passes_test_or_error(lambda u: u.has_module_perms('invoicemgr'))
def createvouchers(request):
# Creation of pre-paid vouchers for conference registrations
@@ -1303,7 +1303,7 @@ def createvouchers(request):
@ssl_required
@login_required
-@transaction.commit_on_success
+@transaction.atomic
def viewvouchers(request, batchid):
# View existing prepaid vouchers
@@ -1340,7 +1340,7 @@ def viewvouchers(request, batchid):
@ssl_required
@login_required
-@transaction.commit_on_success
+@transaction.atomic
@user_passes_test_or_error(lambda u: u.has_module_perms('invoicemgr'))
def emailvouchers(request, batchid):
batch = PrepaidBatch.objects.get(pk=batchid)
@@ -1362,7 +1362,7 @@ def emailvouchers(request, batchid):
@ssl_required
@login_required
-@transaction.commit_on_success
+@transaction.atomic
def bulkpay(request, confname):
conference = get_object_or_404(Conference, urlname=confname)
@@ -1534,7 +1534,7 @@ class UnscheduledSession(object):
@ssl_required
@login_required
-@transaction.commit_on_success
+@transaction.atomic
def talkvote(request, confname):
conference = get_object_or_404(Conference, urlname=confname)
if not conference.talkvoters.filter(pk=request.user.id):
@@ -1631,7 +1631,7 @@ def talkvote(request, confname):
@ssl_required
@login_required
@csrf_exempt
-@transaction.commit_on_success
+@transaction.atomic
def createschedule(request, confname):
conference = get_object_or_404(Conference, urlname=confname)
if not conference.talkvoters.filter(pk=request.user.id):
@@ -1724,11 +1724,12 @@ def createschedule(request, confname):
@ssl_required
@login_required
-@transaction.commit_manually
@user_passes_test_or_error(lambda u: u.is_superuser)
def publishschedule(request, confname):
conference = get_object_or_404(Conference, urlname=confname)
+ transaction.set_autocommit(False)
+
changes = []
# Render a list of changes and a confirm button
for s in conference.conferencesession_set.all():
@@ -1925,7 +1926,7 @@ def admin_registration_dashboard(request, urlname):
@ssl_required
@login_required
-@transaction.commit_on_success
+@transaction.atomic
def admin_waitlist(request, urlname):
if request.user.is_superuser:
conference = get_object_or_404(Conference, urlname=urlname)
@@ -1992,7 +1993,7 @@ def admin_waitlist(request, urlname):
@ssl_required
@login_required
-@transaction.commit_on_success
+@transaction.atomic
def admin_attendeemail(request, urlname):
if request.user.is_superuser:
conference = get_object_or_404(Conference, urlname=urlname)
@@ -2051,7 +2052,7 @@ def admin_attendeemail_view(request, urlname, mailid):
@ssl_required
@login_required
-@transaction.commit_on_success
+@transaction.atomic
def session_notify_queue(request, urlname):
if request.user.is_superuser:
conference = get_object_or_404(Conference, urlname=urlname)
@@ -2094,7 +2095,7 @@ def session_notify_queue(request, urlname):
@ssl_required
@login_required
@user_passes_test_or_error(lambda u:u.is_superuser)
-@transaction.commit_on_success
+@transaction.atomic
def crossmail(request):
if request.method == 'POST':
form = CrossConferenceMailForm(data=request.POST)
@@ -2125,7 +2126,7 @@ def crossmail(request):
@ssl_required
@login_required
@user_passes_test_or_error(lambda u: u.is_superuser)
-@transaction.commit_on_success
+@transaction.atomic
def admin_email(request):
if request.method == 'POST':
form = EmailSendForm(data=request.POST)
@@ -2160,7 +2161,7 @@ def admin_email(request):
@ssl_required
@login_required
@user_passes_test_or_error(lambda u: u.is_superuser)
-@transaction.commit_on_success
+@transaction.atomic
def admin_email_session(request, sessionids):
sessions = ConferenceSession.objects.filter(pk__in=sessionids.split(','))
speakers = Speaker.objects.filter(conferencesession__in=sessions).distinct()
diff --git a/postgresqleu/confsponsor/admin.py b/postgresqleu/confsponsor/admin.py
index 002c3d29..f75cfee1 100644
--- a/postgresqleu/confsponsor/admin.py
+++ b/postgresqleu/confsponsor/admin.py
@@ -1,7 +1,7 @@
from django.contrib import admin
from django.http import HttpResponseRedirect
from django.forms.models import BaseInlineFormSet
-from django.forms.util import ErrorList
+from django.forms.utils import ErrorList
from django import forms
from django.core import urlresolvers
from django.utils.safestring import mark_safe
@@ -47,6 +47,7 @@ class SponsorshipLevelAdmin(admin.ModelAdmin):
class SponsorAdminForm(forms.ModelForm):
class Meta:
model = Sponsor
+ exclude = []
def __init__(self, *args, **kwargs):
super(SponsorAdminForm, self).__init__(*args, **kwargs)
diff --git a/postgresqleu/confsponsor/urls.py b/postgresqleu/confsponsor/urls.py
index f90c0d70..7a28aec8 100644
--- a/postgresqleu/confsponsor/urls.py
+++ b/postgresqleu/confsponsor/urls.py
@@ -1,4 +1,4 @@
-from django.conf.urls.defaults import patterns
+from django.conf.urls import patterns
import views
diff --git a/postgresqleu/confsponsor/views.py b/postgresqleu/confsponsor/views.py
index e85781f3..265f6647 100644
--- a/postgresqleu/confsponsor/views.py
+++ b/postgresqleu/confsponsor/views.py
@@ -101,7 +101,7 @@ def sponsor_manager_delete(request, sponsorid):
@ssl_required
@login_required
-@transaction.commit_on_success
+@transaction.atomic
def sponsor_manager_add(request, sponsorid):
sponsor = get_object_or_404(Sponsor, id=sponsorid, managers=request.user, confirmed=True)
@@ -148,7 +148,7 @@ def sponsor_view_mail(request, sponsorid, mailid):
@ssl_required
@login_required
-@transaction.commit_on_success
+@transaction.atomic
def sponsor_purchase_voucher(request, sponsorid):
sponsor, is_admin = _get_sponsor_and_admin(sponsorid, request)
conference = sponsor.conference
@@ -189,7 +189,7 @@ def sponsor_purchase_voucher(request, sponsorid):
@ssl_required
@login_required
-@transaction.commit_on_success
+@transaction.atomic
def sponsor_purchase_discount(request, sponsorid):
sponsor, is_admin = _get_sponsor_and_admin(sponsorid, request)
conference = sponsor.conference
@@ -254,7 +254,7 @@ def sponsor_signup_dashboard(request, confurlname):
@ssl_required
@login_required
-@transaction.commit_on_success
+@transaction.atomic
def sponsor_signup(request, confurlname, levelurlname):
conference = get_object_or_404(Conference, urlname=confurlname)
if not conference.callforsponsorsopen:
@@ -314,7 +314,7 @@ def sponsor_signup(request, confurlname, levelurlname):
@ssl_required
@login_required
-@transaction.commit_on_success
+@transaction.atomic
def sponsor_claim_benefit(request, sponsorid, benefitid):
sponsor, is_admin = _get_sponsor_and_admin(sponsorid, request)
benefit = get_object_or_404(SponsorshipBenefit, id=benefitid, level=sponsor.level)
@@ -506,7 +506,7 @@ def sponsor_admin_sponsor(request, confurlname, sponsorid):
@ssl_required
@login_required
-@transaction.commit_on_success
+@transaction.atomic
def sponsor_admin_generateinvoice(request, confurlname, sponsorid):
if request.user.is_superuser:
conference = get_object_or_404(Conference, urlname=confurlname)
@@ -538,7 +538,7 @@ def sponsor_admin_generateinvoice(request, confurlname, sponsorid):
@ssl_required
@login_required
-@transaction.commit_on_success
+@transaction.atomic
def sponsor_admin_confirm(request, confurlname, sponsorid):
if request.user.is_superuser:
conference = get_object_or_404(Conference, urlname=confurlname)
@@ -586,7 +586,7 @@ def sponsor_admin_benefit(request, confurlname, benefitid):
@ssl_required
@login_required
-@transaction.commit_on_success
+@transaction.atomic
def sponsor_admin_send_mail(request, confurlname):
if request.user.is_superuser:
conference = get_object_or_404(Conference, urlname=confurlname)
@@ -675,7 +675,7 @@ def sponsor_admin_imageview(request, benefitid):
@ssl_required
@login_required
-@transaction.commit_on_success
+@transaction.atomic
def admin_copy_level(request, levelid):
if not request.user.is_superuser:
raise Exception("Sorry, at this point only superusers can do this")
diff --git a/postgresqleu/confwiki/views.py b/postgresqleu/confwiki/views.py
index a93b9cc4..e2bb8658 100644
--- a/postgresqleu/confwiki/views.py
+++ b/postgresqleu/confwiki/views.py
@@ -48,7 +48,7 @@ def wikipage(request, confurl, wikiurl):
@ssl_required
@login_required
-@transaction.commit_on_success
+@transaction.atomic
def wikipage_subscribe(request, confurl, wikiurl):
conference = get_object_or_404(Conference, urlname=confurl)
reg = get_object_or_404(ConferenceRegistration, conference=conference, attendee=request.user, payconfirmedat__isnull=False)
@@ -115,7 +115,7 @@ def wikipage_history(request, confurl, wikiurl):
@ssl_required
@login_required
-@transaction.commit_on_success
+@transaction.atomic
def wikipage_edit(request, confurl, wikiurl):
conference = get_object_or_404(Conference, urlname=confurl)
reg = get_object_or_404(ConferenceRegistration, conference=conference, attendee=request.user, payconfirmedat__isnull=False)
@@ -200,7 +200,7 @@ def admin(request, urlname):
@ssl_required
@login_required
-@transaction.commit_on_success
+@transaction.atomic
def admin_edit_page(request, urlname, pageid):
if request.user.is_superuser:
conference = get_object_or_404(Conference, urlname=urlname)
@@ -257,7 +257,7 @@ def admin_edit_page(request, urlname, pageid):
@ssl_required
@login_required
-@transaction.commit_on_success
+@transaction.atomic
def signup(request, urlname, signupid):
conference = get_object_or_404(Conference, urlname=urlname)
reg = get_object_or_404(ConferenceRegistration, conference=conference, attendee=request.user, payconfirmedat__isnull=False)
@@ -342,7 +342,7 @@ def signup_admin(request, urlname):
@ssl_required
@login_required
-@transaction.commit_on_success
+@transaction.atomic
def signup_admin_edit(request, urlname, signupid):
if request.user.is_superuser:
conference = get_object_or_404(Conference, urlname=urlname)
diff --git a/postgresqleu/elections/forms.py b/postgresqleu/elections/forms.py
index 317dd366..fb37c69f 100644
--- a/postgresqleu/elections/forms.py
+++ b/postgresqleu/elections/forms.py
@@ -78,7 +78,7 @@ class VoteForm(forms.Form):
return self.cleaned_data
- @transaction.commit_on_success
+ @transaction.atomic
def save(self):
# Let's see if the old votes are here
if len(self.votes) == 0:
diff --git a/postgresqleu/invoicemgr/views.py b/postgresqleu/invoicemgr/views.py
index 83dd3c90..6388a5e6 100644
--- a/postgresqleu/invoicemgr/views.py
+++ b/postgresqleu/invoicemgr/views.py
@@ -37,7 +37,7 @@ def invoice(request, id):
@user_passes_test(lambda u: u.has_module_perms('invoicemgr'))
def invoicepdf(request, id):
invoice = get_object_or_404(Invoice, pk=id)
- r = HttpResponse(mimetype='application/pdf')
+ r = HttpResponse(content_type='application/pdf')
r['Content-Disposition'] = 'attachment; filename=%s.pdf' % id
invoice.writepdf(r)
return r
diff --git a/postgresqleu/invoices/views.py b/postgresqleu/invoices/views.py
index 601c9fd5..ab35723c 100644
--- a/postgresqleu/invoices/views.py
+++ b/postgresqleu/invoices/views.py
@@ -3,7 +3,7 @@ from django.shortcuts import render_to_response, get_object_or_404
from django.forms.models import inlineformset_factory
from django.http import HttpResponseRedirect, HttpResponse, HttpResponseForbidden
from django.contrib.auth.decorators import login_required
-from django.db.transaction import commit_on_success
+from django.db import transaction
from django.db.models import Q
from django.template import RequestContext
from django.contrib import messages
@@ -108,7 +108,7 @@ def search(request):
@ssl_required
@login_required
@user_passes_test_or_error(lambda u: u.has_module_perms('invoices'))
-@commit_on_success
+@transaction.atomic
def oneinvoice(request, invoicenum):
# Called to view an invoice, to edit one, and to create a new one,
# since they're all based on the same model and form.
@@ -182,7 +182,7 @@ def oneinvoice(request, invoicenum):
@ssl_required
@login_required
@user_passes_test_or_error(lambda u: u.has_module_perms('invoices'))
-@commit_on_success
+@transaction.atomic
def flaginvoice(request, invoicenum):
invoice = get_object_or_404(Invoice, pk=invoicenum)
@@ -216,7 +216,7 @@ def flaginvoice(request, invoicenum):
@ssl_required
@login_required
@user_passes_test_or_error(lambda u: u.has_module_perms('invoices'))
-@commit_on_success
+@transaction.atomic
def cancelinvoice(request, invoicenum):
invoice = get_object_or_404(Invoice, pk=invoicenum)
@@ -236,7 +236,7 @@ def cancelinvoice(request, invoicenum):
@ssl_required
@login_required
@user_passes_test_or_error(lambda u: u.has_module_perms('invoices'))
-@commit_on_success
+@transaction.atomic
def refundinvoice(request, invoicenum):
invoice = get_object_or_404(Invoice, pk=invoicenum)
@@ -260,14 +260,14 @@ def previewinvoice(request, invoicenum):
# We assume there is no PDF yet
wrapper = InvoiceWrapper(invoice)
- r = HttpResponse(mimetype='application/pdf')
+ r = HttpResponse(content_type='application/pdf')
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'))
-@commit_on_success
+@transaction.atomic
def emailinvoice(request, invoicenum):
if not (request.GET.has_key('really') and request.GET['really'] == 'yes'):
return HttpResponse('Secret key is missing!', status=401)
@@ -327,14 +327,14 @@ def viewinvoicepdf(request, invoiceid):
if not (request.user.has_module_perms('invoices') or invoice.recipient_user == request.user):
return HttpResponseForbidden("Access denied")
- r = HttpResponse(mimetype='application/pdf')
+ r = HttpResponse(content_type='application/pdf')
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(mimetype='application/pdf')
+ r = HttpResponse(content_type='application/pdf')
r.write(base64.b64decode(invoice.pdf_invoice))
return r
@@ -345,14 +345,14 @@ def viewreceipt(request, invoiceid):
if not (request.user.has_module_perms('invoices') or invoice.recipient_user == request.user):
return HttpResponseForbidden("Access denied")
- r = HttpResponse(mimetype='application/pdf')
+ r = HttpResponse(content_type='application/pdf')
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(mimetype='application/pdf')
+ r = HttpResponse(content_type='application/pdf')
r.write(base64.b64decode(invoice.pdf_receipt))
return r
@@ -375,7 +375,7 @@ def banktransfer(request):
@ssl_required
@login_required
-@commit_on_success
+@transaction.atomic
def dummy_payment(request, invoiceid, invoicesecret):
if not settings.DEBUG:
return HttpResponse("Dummy payments not enabled")
diff --git a/postgresqleu/membership/views.py b/postgresqleu/membership/views.py
index 4c0ccea6..c89d19aa 100644
--- a/postgresqleu/membership/views.py
+++ b/postgresqleu/membership/views.py
@@ -23,7 +23,7 @@ import os
@ssl_required
@login_required
-@transaction.commit_on_success
+@transaction.atomic
def home(request):
try:
member = Member.objects.get(user=request.user)
@@ -117,7 +117,7 @@ def userlist(request):
@ssl_required
@login_required
@user_passes_test_or_error(lambda u: u.is_superuser)
-@transaction.commit_on_success
+@transaction.atomic
def admin_email(request):
if request.method == 'POST':
form = EmailSendForm(data=request.POST)
@@ -160,7 +160,7 @@ def meetings(request):
@ssl_required
@login_required
-@transaction.commit_on_success
+@transaction.atomic
def meeting(request, meetingid):
# View a single meeting
meeting = get_object_or_404(Meeting, pk=meetingid)
diff --git a/postgresqleu/paypal/views.py b/postgresqleu/paypal/views.py
index 23b8eb6d..91baa58e 100644
--- a/postgresqleu/paypal/views.py
+++ b/postgresqleu/paypal/views.py
@@ -16,7 +16,7 @@ from postgresqleu.accounting.util import create_accounting_entry
from models import TransactionInfo, ErrorLog, SourceAccount
@ssl_required
-@transaction.commit_on_success
+@transaction.atomic
def paypal_return_handler(request):
tx = 'UNKNOWN'
diff --git a/postgresqleu/simplemigrate/management.py b/postgresqleu/simplemigrate/management.py
index dac82c1f..48e99a25 100644
--- a/postgresqleu/simplemigrate/management.py
+++ b/postgresqleu/simplemigrate/management.py
@@ -19,7 +19,7 @@ def process_sql_scripts(app, created_models, verbosity=2, **kwargs):
if namepieces[2] != 'models': return
appname = namepieces[1]
- with transaction.commit_on_success():
+ with transaction.atomic():
appfiles = list(_get_app_files(appname))
curs = connection.cursor()
curs.execute("SELECT ver FROM _appscripts WHERE app=%s", [appname,])
diff --git a/postgresqleu/urls.py b/postgresqleu/urls.py
index 04a7c538..9d9f6985 100644
--- a/postgresqleu/urls.py
+++ b/postgresqleu/urls.py
@@ -1,7 +1,7 @@
-from django.conf.urls.defaults import patterns, include, url
+from django.conf.urls import patterns, include, url
from django.conf import settings
from django.contrib import admin
-from django.views.generic.simple import redirect_to
+from django.views.generic import RedirectView
import postgresqleu.static.views
import postgresqleu.newsevents.views
@@ -131,7 +131,7 @@ urlpatterns = patterns('',
(r'^admin/membership/_email/$', 'postgresqleu.membership.views.admin_email'),
# Merchandise redirect
- (r'^merchandise/', redirect_to, {'url': 'http://postgresqleu.spreadshirt.net/'}),
+ (r'^merchandise/', RedirectView.as_view(url='http://postgresqleu.spreadshirt.net/', permanent=False)),
# Elections
(r'^elections/$', postgresqleu.elections.views.home),