Revision e9e692be
b/snf-astakos-app/astakos/im/auth_providers.py | ||
---|---|---|
176 | 176 |
|
177 | 177 |
return getattr(settings, attr, default) |
178 | 178 |
|
179 |
def is_available_for_remove(self): |
|
180 |
return self.is_active() and self.get_setting('CAN_REMOVE', True) |
|
181 |
|
|
179 | 182 |
def is_available_for_login(self): |
180 | 183 |
""" A user can login using authentication provider""" |
181 | 184 |
return self.is_active() and self.get_setting('CAN_LOGIN', |
b/snf-astakos-app/astakos/im/forms.py | ||
---|---|---|
1030 | 1030 |
password, email = True, True |
1031 | 1031 |
profile = super(ExtendedProfileForm, self).is_valid() |
1032 | 1032 |
if profile and self.cleaned_data.get('change_password', None): |
1033 |
|
|
1033 |
|
|
1034 | 1034 |
password = self.password_change_form.is_valid() |
1035 | 1035 |
self.save_extra_forms.append('password') |
1036 | 1036 |
if profile and self.cleaned_data.get('change_email'): |
b/snf-astakos-app/astakos/im/models.py | ||
---|---|---|
601 | 601 |
if 'identifier' in kwargs: |
602 | 602 |
try: |
603 | 603 |
# provider with specified params already exist |
604 |
print "LALALALA", include_unverified |
|
605 | 604 |
if not include_unverified: |
606 | 605 |
kwargs['user__email_verified'] = True |
607 | 606 |
existing_user = AstakosUser.objects.get_auth_provider_user(provider, |
... | ... | |
624 | 623 |
if len(existing_for_provider) == 1 and provider.is_required(): |
625 | 624 |
return False |
626 | 625 |
|
626 |
if not provider.is_available_for_remove(): |
|
627 |
return False |
|
628 |
|
|
627 | 629 |
return True |
628 | 630 |
|
629 | 631 |
def can_change_password(self): |
b/snf-astakos-app/astakos/im/target/__init__.py | ||
---|---|---|
65 | 65 |
# a third party provider account |
66 | 66 |
try: |
67 | 67 |
request.user.add_pending_auth_provider(third_party_token) |
68 |
messages.success(request, _(astakos_messages.AUTH_PROVIDER_ADDED)) |
|
69 | 68 |
except PendingThirdPartyUser.DoesNotExist: |
70 | 69 |
messages.error(request, _(astakos_messages.AUTH_PROVIDER_ADD_FAILED)) |
71 | 70 |
|
b/snf-astakos-app/astakos/im/target/local.py | ||
---|---|---|
115 | 115 |
# a third party provider account |
116 | 116 |
try: |
117 | 117 |
request.user.add_pending_auth_provider(third_party_token) |
118 |
messages.success(request, _(astakos_messages.AUTH_PROVIDER_ADDED)) |
|
119 | 118 |
except PendingThirdPartyUser.DoesNotExist: |
120 | 119 |
messages.error(request, _(astakos_messages.AUTH_PROVIDER_ADD_FAILED)) |
121 | 120 |
|
... | ... | |
165 | 164 |
form = password_change_form(**form_kwargs) |
166 | 165 |
if form.is_valid(): |
167 | 166 |
form.save() |
168 |
messages.success(request, |
|
169 |
astakos_messages.PASSWORD_RESET_CONFIRM_DONE) |
|
167 |
if create_password: |
|
168 |
provider = auth_providers.get_provider('local') |
|
169 |
message = _(astakos_messages.AUTH_PROVIDER_ADDED) % provider.get_method_prompt_display |
|
170 |
messages.success(request, message) |
|
171 |
else: |
|
172 |
messages.success(request, |
|
173 |
astakos_messages.PASSWORD_RESET_CONFIRM_DONE) |
|
170 | 174 |
return HttpResponseRedirect(post_change_redirect) |
171 | 175 |
else: |
172 | 176 |
form = password_change_form(user=request.user) |
173 | 177 |
return render_to_response(template_name, { |
174 | 178 |
'form': form, |
175 |
}, context_instance=RequestContext(request)) |
|
179 |
}, context_instance=RequestContext(request, {'create_password': |
|
180 |
create_password})) |
|
176 | 181 |
|
b/snf-astakos-app/astakos/im/templates/registration/password_change_form.html | ||
---|---|---|
10 | 10 |
<input type="hidden" name="next" value="{{ next }}"> |
11 | 11 |
<input type="hidden" name="auth" value="{{ user.auth_token }}"> |
12 | 12 |
<input type="hidden" name="username" value="{{ username }}"> |
13 |
<input type="submit" class="submit altcol" value="CHANGE" />
|
|
13 |
<input type="submit" class="submit altcol" value="{% if create_password %}SUBMIT{% else %}CHANGE{% endif %}" />
|
|
14 | 14 |
</div> |
15 | 15 |
</form> |
16 | 16 |
{% endblock body %} |
Also available in: Unified diff