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