@ssl_required
@login_required
-@transaction.commit_on_success
+@transaction.atomic
def profile(request):
# We always have the user, but not always the profile. And we need a bit
# of a hack around the normal forms code since we have two different
@ssl_required
@login_required
-@transaction.commit_on_success
+@transaction.atomic
def change_email(request):
tokens = EmailChangeToken.objects.filter(user=request.user)
token = len(tokens) and tokens[0] or None
@ssl_required
@login_required
-@transaction.commit_on_success
+@transaction.atomic
def confirm_change_email(request, tokenhash):
tokens = EmailChangeToken.objects.filter(user=request.user, token=tokenhash)
token = len(tokens) and tokens[0] or None
if url == '':
return HttpResponseRedirect('.')
varnish_purge(url)
- transaction.commit_unless_managed()
messages.info(request, "Purge completed: '^%s'" % url)
return HttpResponseRedirect('.')
for i in range(0, n):
expr = request.POST['p%s' % i]
curs.execute("SELECT varnish_purge_expr(%s)", (expr, ))
- transaction.commit_unless_managed()
return HttpResponse("Purged %s entries\n" % n)
@nocache
# Merge two organisations
@login_required
@user_passes_test(lambda u: u.is_superuser)
-@transaction.commit_on_success
+@transaction.atomic
def admin_mergeorg(request):
if request.method == 'POST':
form = MergeOrgsForm(data=request.POST)
# Purge it out of varnish so we start responding right away
varnish_purge("/ftp")
- transaction.commit_unless_managed()
# Finally, indicate to the client that we're happy
return HttpResponse("OK", content_type="text/plain")
# do it properly. Possibly because of the cute stuff we do with
# getattr/setattr above.
varnish_purge("/community/survey/%s/" % surveyid)
- transaction.commit_unless_managed()
return HttpResponseRedirect("/community/survey/%s/" % surveyid)