Revision dd5f8f4d snf-astakos-app/astakos/im/auth_providers.py

b/snf-astakos-app/astakos/im/auth_providers.py
42 42
from astakos.im import messages as astakos_messages
43 43

  
44 44
import logging
45
import urllib
45 46

  
46 47
logger = logging.getLogger(__name__)
47 48

  
......
87 88
        msg = 'AUTH_PROVIDER_%s' % msg
88 89
        return override_msg or getattr(astakos_messages, msg, msg) % params
89 90

  
91
    @property
92
    def add_url(self):
93
        return reverse(self.login_view)
94

  
90 95
    def __init__(self, user=None):
91 96
        self.user = user
97
        for tpl in ['login_prompt', 'login', 'signup_prompt']:
98
            tpl_name = '%s_%s' % (tpl, 'template')
99
            override = self.get_setting(tpl_name)
100
            if override:
101
                setattr(self, tpl_name, override)
92 102

  
93 103
    def __getattr__(self, key):
94 104
        if not key.startswith('get_'):
......
141 151
    login_prompt = _('if you already have a username and password')
142 152
    signup_prompt = _('New to ~okeanos ?')
143 153
    signup_link_prompt = _('create an account now')
144

  
145

  
146
    @property
147
    def add_url(self):
148
        return reverse('password_change')
154
    login_view = 'password_change'
149 155

  
150 156
    one_per_user = True
151 157

  
......
171 177
    primary_login_prompt = _('If you are a student/researcher/faculty you can'
172 178
                             ' login using your university-credentials in'
173 179
                             ' the following page')
174

  
175
    @property
176
    def add_url(self):
177
        return reverse('astakos.im.target.shibboleth.login')
180
    login_view = 'astakos.im.target.shibboleth.login'
178 181

  
179 182
    login_template = 'im/auth/shibboleth_login.html'
180
    login_prompt_template = 'im/auth/shibboleth_login_prompt.html'
183
    login_prompt_template = 'im/auth/third_party_provider_generic_login_prompt.html'
181 184

  
182 185

  
183 186
class TwitterAuthProvider(AuthProvider):
......
186 189
    add_prompt = _('Allows you to login to your account using Twitter')
187 190
    details_tpl = _('Twitter screen name: %(info_screen_name)s')
188 191
    user_title = _('Twitter (%(info_screen_name)s)')
189

  
190
    @property
191
    def add_url(self):
192
        return reverse('astakos.im.target.twitter.login')
192
    login_view = 'astakos.im.target.twitter.login'
193 193

  
194 194
    login_template = 'im/auth/third_party_provider_generic_login.html'
195 195
    login_prompt_template = 'im/auth/third_party_provider_generic_login_prompt.html'
......
201 201
    add_prompt = _('Allows you to login to your account using Google')
202 202
    details_tpl = _('Google account: %(info_email)s')
203 203
    user_title = _('Google (%(info_email)s)')
204

  
205
    @property
206
    def add_url(self):
207
        return reverse('astakos.im.target.google.login')
204
    login_view = 'astakos.im.target.google.login'
208 205

  
209 206
    login_template = 'im/auth/third_party_provider_generic_login.html'
210 207
    login_prompt_template = 'im/auth/third_party_provider_generic_login_prompt.html'
......
216 213
    add_prompt = _('Allows you to login to your account using LinkedIn')
217 214
    user_title = _('LinkedIn (%(info_emailAddress)s)')
218 215
    details_tpl = _('LinkedIn account: %(info_emailAddress)s')
219

  
220
    @property
221
    def add_url(self):
222
        return reverse('astakos.im.target.linkedin.login')
216
    login_view = 'astakos.im.target.linkedin.login'
223 217

  
224 218
    login_template = 'im/auth/third_party_provider_generic_login.html'
225 219
    login_prompt_template = 'im/auth/third_party_provider_generic_login_prompt.html'

Also available in: Unified diff