From 522fbdc9f86b909588e89ec1845a50370adb3631 Mon Sep 17 00:00:00 2001
From: Andrew Williams
Date: Tue, 9 Mar 2010 22:01:44 +0000
Subject: [PATCH] Fix various issues with the move to UIDs
---
sso/forms.py | 2 +-
sso/models.py | 2 +-
sso/views.py | 11 +++++++----
templates/profile.html | 2 +-
4 files changed, 10 insertions(+), 7 deletions(-)
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
|