Revision f6ff3033

b/snf-astakos-app/astakos/im/models.py
1078 1078
            else:
1079 1079
                raise ValueError(_('The new email address is reserved.'))
1080 1080
            # update user
1081
            user = AstakosUser.objects.get(pk=email_change.user_id)
1081
            user = AstakosUser.objects.select_for_update().\
1082
                get(pk=email_change.user_id)
1082 1083
            old_email = user.email
1083 1084
            user.set_email(email_change.new_email_address)
1084 1085
            user.save()
b/snf-astakos-app/astakos/im/views/im.py
129 129
@require_http_methods(["POST"])
130 130
@cookie_fix
131 131
@valid_astakos_user_required
132
@transaction.commit_on_success
132 133
def update_token(request):
133 134
    """
134 135
    Update api token view.
135 136
    """
136
    user = request.user
137
    user = AstakosUser.objects.select_for_update().get(id=request.user.id)
137 138
    user.renew_token()
138 139
    user.save()
139 140
    messages.success(request, astakos_messages.TOKEN_UPDATED)
......
271 272
@login_required
272 273
@cookie_fix
273 274
@signed_terms_required
275
@transaction.commit_on_success
274 276
def edit_profile(request, template_name='im/profile.html', extra_context=None):
275 277
    """
276 278
    Allows a user to edit his/her profile.
......
300 302

  
301 303
    * LOGIN_URL: login uri
302 304
    """
305

  
306
    request.user = AstakosUser.objects.select_for_update().\
307
        get(id=request.user.id)
303 308
    extra_context = extra_context or {}
304 309
    form = ProfileForm(
305 310
        instance=request.user,
......
616 621
        return HttpResponseRedirect(reverse('index'))
617 622

  
618 623
    try:
619
        user = AstakosUser.objects.get(verification_code=token)
624
        user = AstakosUser.objects.select_for_update().\
625
            get(verification_code=token)
620 626
    except AstakosUser.DoesNotExist:
621 627
        raise Http404
622 628

  
......
784 790

  
785 791

  
786 792
@cookie_fix
793
@transaction.commit_on_success
787 794
def send_activation(request, user_id, template_name='im/login.html',
788 795
                    extra_context=None):
789 796

  
......
792 799

  
793 800
    extra_context = extra_context or {}
794 801
    try:
795
        u = AstakosUser.objects.get(id=user_id)
802
        u = AstakosUser.objects.select_for_update().get(id=user_id)
796 803
    except AstakosUser.DoesNotExist:
797 804
        messages.error(request, _(astakos_messages.ACCOUNT_UNKNOWN))
798 805
    else:

Also available in: Unified diff