Revision 1ecda536

b/snf-astakos-app/astakos/im/tests/auth.py
465 465
                'password2': 'password', 'first_name': 'Kostas',
466 466
                'last_name': 'Mitroglou', 'provider': 'local'}
467 467
        r = self.client.post(ui_url("signup"), data, follow=True)
468
        self.assertRedirects(r, reverse('index'))
468
        self.assertRedirects(r, reverse('login'))
469 469
        self.assertContains(r, messages.VERIFICATION_SENT)
470 470

  
471 471
        user = AstakosUser.objects.get()
......
517 517
        user = AstakosUser.objects.get(pk=user.pk)
518 518
        self.assertEqual(len(get_mailbox(self.helpdesk_email)), 0)
519 519
        r = self.client.get(user.get_activation_url(), follow=True)
520
        self.assertRedirects(r, reverse('index'))
520
        self.assertRedirects(r, reverse('login'))
521 521
        # user sees that account is pending approval from admins
522 522
        self.assertContains(r, messages.NOTIFICATION_SENT)
523 523
        self.assertEqual(len(get_mailbox(self.helpdesk_email)), 1)
......
545 545
        self.assertTrue(quote(user.auth_token) in
546 546
                        cookies.get('_pithos2_a').value)
547 547
        r = self.client.get(ui_url('logout'), follow=True)
548
        r = self.client.get(ui_url(''))
548
        r = self.client.get(ui_url(''), follow=True)
549
        self.assertRedirects(r, ui_url('login'))
549 550
        # user logged out, token cookie removed
550 551
        self.assertFalse(r.context['request'].user.is_authenticated())
551 552
        self.assertFalse(self.client.cookies.get('_pithos2_a').value)
......
1325 1326
        # not authenticated, redirects to login which contains next param with
1326 1327
        # additional nested quoted next params
1327 1328
        r = self.client.get(valid_scheme, follow=True)
1328
        login_redirect = reverse('index') + '?next=' + \
1329
        login_redirect = reverse('login') + '?next=' + \
1329 1330
            urllib.quote_plus("http://testserver" + valid_scheme_quoted)
1330 1331
        self.assertRedirects(r, login_redirect)
1331 1332

  
b/snf-astakos-app/astakos/im/urls.py
43 43
urlpatterns = patterns(
44 44
    'astakos.im.views',
45 45
    url(r'^$', 'index', {}, name='index'),
46
    url(r'^login/?$', 'index', {}, name='login'),
46
    url(r'^login/?$', 'login', {}, name='login'),
47 47
    url(r'^landing/?$', 'landing', {}, name='landing'),
48 48
    url(r'^profile/update_token?$', 'update_token', {}, name='update_token'),
49 49
    url(r'^profile/?$','edit_profile', {}, name='edit_profile'),
b/snf-astakos-app/astakos/im/views/im.py
79 79
@require_http_methods(["GET", "POST"])
80 80
@cookie_fix
81 81
@signed_terms_required
82
def index(request, login_template_name='im/login.html', profile_template_name='im/profile.html', extra_context=None):
82
def login(request, template_name='im/login.html', extra_context=None):
83 83
    """
84
    If there is logged on user renders the profile page otherwise renders login page.
84
    Renders login page.
85 85

  
86 86
    **Arguments**
87 87

  
88
    ``login_template_name``
88
    ``template_name``
89 89
        A custom login template to use. This is optional; if not specified,
90 90
        this will default to ``im/login.html``.
91 91

  
92
    ``profile_template_name``
93
        A custom profile template to use. This is optional; if not specified,
94
        this will default to ``im/profile.html``.
95

  
96 92
    ``extra_context``
97 93
        An dictionary of variables to add to the template context.
98

  
99
    **Template:**
100

  
101
    im/profile.html or im/login.html or ``template_name`` keyword argument.
102

  
103 94
    """
95

  
104 96
    extra_context = extra_context or {}
105
    template_name = login_template_name
106
    if request.user.is_authenticated():
107
        return HttpResponseRedirect(reverse('landing'))
108 97

  
109 98
    third_party_token = request.GET.get('key', False)
110 99
    if third_party_token:
111 100
        messages.info(request, astakos_messages.AUTH_PROVIDER_LOGIN_TO_ADD)
112 101

  
102
    if request.user.is_authenticated():
103
        return HttpResponseRedirect(reverse('landing'))
104

  
113 105
    return render_response(
114 106
        template_name,
115
        login_form = LoginForm(request=request),
116
        context_instance = get_context(request, extra_context)
107
        login_form=LoginForm(request=request),
108
        context_instance=get_context(request, extra_context)
117 109
    )
118 110

  
119 111

  
112
@require_http_methods(["GET", "POST"])
113
@cookie_fix
114
@signed_terms_required
115
def index(request, authenticated_redirect='landing',
116
          anonymous_redirect='login', extra_context=None):
117
    """
118
    If user is authenticated redirect to ``authenticated_redirect`` url.
119
    Otherwise redirects to ``anonymous_redirect`` url.
120

  
121
    """
122
    if request.user.is_authenticated():
123
        return HttpResponseRedirect(reverse(authenticated_redirect))
124
    return HttpResponseRedirect(reverse(anonymous_redirect))
125

  
126

  
120 127
@require_http_methods(["POST"])
121 128
@cookie_fix
122 129
@valid_astakos_user_required
b/snf-astakos-app/astakos/im/views/target/redirect.py
133 133
        next = urlunsplit(parts)
134 134

  
135 135
        # build url location
136
        parts[2] = reverse('index')
136
        parts[2] = reverse('login')
137 137
        params = {'next': next}
138 138
        parts[3] = urlencode(params)
139 139
        url = urlunsplit(parts)

Also available in: Unified diff