forked from CGM_Public/pretix_original
Fix transaction handling in invite form
This commit is contained in:
@@ -142,21 +142,22 @@ def invite(request, token):
|
|||||||
|
|
||||||
if request.method == 'POST':
|
if request.method == 'POST':
|
||||||
form = RegistrationForm(data=request.POST)
|
form = RegistrationForm(data=request.POST)
|
||||||
if form.is_valid():
|
with transaction.atomic():
|
||||||
user = User.objects.create_user(
|
valid = form.is_valid()
|
||||||
form.cleaned_data['email'], form.cleaned_data['password'],
|
if valid:
|
||||||
locale=request.LANGUAGE_CODE,
|
user = User.objects.create_user(
|
||||||
timezone=request.timezone if hasattr(request, 'timezone') else settings.TIME_ZONE
|
form.cleaned_data['email'], form.cleaned_data['password'],
|
||||||
)
|
locale=request.LANGUAGE_CODE,
|
||||||
user = authenticate(request=request, email=user.email, password=form.cleaned_data['password'])
|
timezone=request.timezone if hasattr(request, 'timezone') else settings.TIME_ZONE
|
||||||
user.log_action('pretix.control.auth.user.created', user=user)
|
)
|
||||||
auth_login(request, user)
|
user = authenticate(request=request, email=user.email, password=form.cleaned_data['password'])
|
||||||
request.session['pretix_auth_login_time'] = int(time.time())
|
user.log_action('pretix.control.auth.user.created', user=user)
|
||||||
request.session['pretix_auth_long_session'] = (
|
auth_login(request, user)
|
||||||
settings.PRETIX_LONG_SESSIONS and form.cleaned_data.get('keep_logged_in', False)
|
request.session['pretix_auth_login_time'] = int(time.time())
|
||||||
)
|
request.session['pretix_auth_long_session'] = (
|
||||||
|
settings.PRETIX_LONG_SESSIONS and form.cleaned_data.get('keep_logged_in', False)
|
||||||
|
)
|
||||||
|
|
||||||
with transaction.atomic():
|
|
||||||
inv.team.members.add(request.user)
|
inv.team.members.add(request.user)
|
||||||
inv.team.log_action(
|
inv.team.log_action(
|
||||||
'pretix.team.member.joined', data={
|
'pretix.team.member.joined', data={
|
||||||
|
|||||||
Reference in New Issue
Block a user