Revision 0e79735c snf-astakos-app/astakos/im/auth_providers.py
b/snf-astakos-app/astakos/im/auth_providers.py | ||
---|---|---|
99 | 99 |
def add_url(self): |
100 | 100 |
return reverse(self.login_view) |
101 | 101 |
|
102 |
def __init__(self, user=None): |
|
102 |
@property |
|
103 |
def provider_details(self): |
|
104 |
if self.user: |
|
105 |
if self.identifier: |
|
106 |
self._provider_details = \ |
|
107 |
self.user.get_auth_providers().get(module=self.module, |
|
108 |
identifier=self.identifier).__dict__ |
|
109 |
else: |
|
110 |
self._provider_details = self.user.get(module=self.module).__dict__ |
|
111 |
return self._provider_details |
|
112 |
|
|
113 |
def __init__(self, user=None, identifier=None, provider_details=None): |
|
103 | 114 |
self.user = user |
115 |
self.identifier = identifier |
|
116 |
|
|
117 |
self._provider_details = None |
|
118 |
if provider_details: |
|
119 |
self._provider_details = provider_details |
|
120 |
|
|
104 | 121 |
for tpl in ['login_prompt', 'login', 'signup_prompt']: |
105 | 122 |
tpl_name = '%s_%s' % (tpl, 'template') |
106 | 123 |
override = self.get_setting(tpl_name) |
... | ... | |
254 | 271 |
login_prompt_template = 'im/auth/third_party_provider_generic_login_prompt.html' |
255 | 272 |
|
256 | 273 |
|
257 |
def get_provider(id, user_obj=None, default=None): |
|
274 |
def get_provider(id, user_obj=None, default=None, identifier=None, provider_details={}):
|
|
258 | 275 |
""" |
259 | 276 |
Return a provider instance from the auth providers registry. |
260 | 277 |
""" |
261 | 278 |
if not id in PROVIDERS: |
262 | 279 |
raise Exception('Invalid auth provider requested "%s"' % id) |
263 | 280 |
|
264 |
return PROVIDERS.get(id, default)(user_obj) |
|
281 |
return PROVIDERS.get(id, default)(user_obj, identifier, provider_details)
|
|
265 | 282 |
|
Also available in: Unified diff