diff --git a/sso/forms.py b/sso/forms.py index 9db2568..c6ef6db 100644 --- a/sso/forms.py +++ b/sso/forms.py @@ -24,7 +24,7 @@ class ServiceUsernameField(forms.CharField): def clean(self, request, initial=None): field = super(ServiceUsernameField, self).clean(request) try: - acc = ServiceAccount.objects.get(username=field) + acc = ServiceAccount.objects.get(service_uid=field) except ServiceAccount.DoesNotExist: return field else: diff --git a/sso/models.py b/sso/models.py index 58c0585..d7fe891 100644 --- a/sso/models.py +++ b/sso/models.py @@ -97,7 +97,7 @@ class ServiceAccount(models.Model): password = None def __str__(self): - return "%s: %s (%s)" % (self.service.name, self.user.username, self.username) + return "%s: %s (%s)" % (self.service.name, self.user.username, self.service_uid) def save(self): """ Override default save to setup accounts as needed """ diff --git a/sso/views.py b/sso/views.py index d440ffe..7a97786 100644 --- a/sso/views.py +++ b/sso/views.py @@ -8,7 +8,7 @@ from eve_api.api_exceptions import APIAuthException, APINoUserIDException from eve_api.api_puller.accounts import import_eve_account from eve_api.models.api_player import EVEAccount -from sso.models import ServiceAccount, SSOUser +from sso.models import ServiceAccount, SSOUser, ExistingUser from sso.forms import EveAPIForm, UserServiceAccountForm, RedditAccountForm from reddit.models import RedditAccount @@ -100,11 +100,14 @@ def service_add(request): acc.username = form.cleaned_data['username'] acc.password = form.cleaned_data['password'] - acc.save() + try: + acc.save() + except ExistingUser: + pass return HttpResponseRedirect(reverse('sso.views.profile')) # Redirect after POST else: - defaults = { 'username': request.user.username, 'password': request.user.get_profile().default_service_passwd } - form = clsform(defaults) # An unbound form + #defaults = { 'username': request.user.username, 'password': request.user.get_profile().default_service_passwd } + form = clsform() # An unbound form return render_to_response('sso/serviceaccount.html', { 'form': form, diff --git a/templates/profile.html b/templates/profile.html index 3cc107a..6f54a63 100644 --- a/templates/profile.html +++ b/templates/profile.html @@ -22,7 +22,7 @@ a new service click the Add Service link

{% for acc in srvaccounts %} {{ acc.service }} - {{ acc.username }} + {{ acc.service_uid }} ****** {{ acc.active }} Delete