Revision fb4ef6eb

b/snf-astakos-app/astakos/im/tests/auth.py
530 530
        r = tmp_client.get(user.get_activation_url(), follow=True)
531 531
        self.assertContains(r, messages.LOGGED_IN_WARNING)
532 532

  
533
        # empty activation code is not allowed
534
        r = self.client.get(user.get_activation_url().split("?")[0],
535
                            follow=True)
536
        self.assertEqual(r.status_code, 403)
537

  
533 538
        r = self.client.get(user.get_activation_url(), follow=True)
534 539
        # previous code got invalidated
535 540
        self.assertEqual(r.status_code, 404)
b/snf-astakos-app/astakos/im/views/im.py
601 601

  
602 602
    The user state will be updated only if the email will be send successfully.
603 603
    """
604
    token = request.GET.get('auth')
605
    next = request.GET.get('next')
604
    token = request.GET.get('auth', None)
605
    next = request.GET.get('next', None)
606

  
607
    if not token:
608
        raise PermissionDenied
606 609

  
607 610
    if request.user.is_authenticated():
608 611
        message = _(astakos_messages.LOGGED_IN_WARNING)
609 612
        messages.error(request, message)
610
        transaction.rollback()
611 613
        return HttpResponseRedirect(reverse('index'))
612 614

  
613 615
    try:
......
623 625
    backend = activation_backends.get_backend()
624 626
    result = backend.handle_verification(user, token)
625 627
    backend.send_result_notifications(result, user)
626
    next = settings.ACTIVATION_REDIRECT_URL or next
627
    response = HttpResponseRedirect(reverse('index'))
628
    next = settings.ACTIVATION_REDIRECT_URL or next or reverse('index')
628 629
    if user.is_active:
629 630
        response = prepare_response(request, user, next, renew=True)
630 631
        messages.success(request, _(result.message))
631 632
    else:
633
        response = HttpResponseRedirect(reverse('index'))
632 634
        messages.warning(request, _(result.message))
633 635

  
634 636
    return response

Also available in: Unified diff