From 2fa56de8c7a2c8fb394ce1bf4f4f3aaa32806ee2 Mon Sep 17 00:00:00 2001 From: Andrew Williams Date: Sun, 14 Mar 2010 10:37:15 +0000 Subject: [PATCH] Various small fixes for Forced Username --- sso/forms.py | 8 ++++---- sso/models.py | 1 + sso/views.py | 3 ++- templates/sso/serviceaccount_created.html | 4 ---- 4 files changed, 7 insertions(+), 9 deletions(-) diff --git a/sso/forms.py b/sso/forms.py index 758b34b..df3088a 100644 --- a/sso/forms.py +++ b/sso/forms.py @@ -3,7 +3,7 @@ import re from django import forms from django.contrib.auth.models import User -from eve_api.models.api_player import EVEAccount +from eve_api.models.api_player import EVEAccount, EVEPlayerCharacter from sso.models import ServiceAccount, Service from reddit.models import RedditAccount @@ -34,12 +34,12 @@ def UserServiceAccountForm(user): class ServiceAccountForm(forms.Form): """ Service Account Form """ - character = forms.ChoiceField(chars) - service = forms.ChoiceField(services) + character = forms.ModelChoiceField(queryset=chars) + service = forms.ModelChoiceField(queryset=services) def clean(self): if not self.cleaned_data['character'].corporation.group in self.cleaned_data['service'].groups.all(): - raise form.ValidationError("%s is not in a corporation allowed to access %s" % (self.cleaned_data['character'].name, self.cleaned_data['service']) + raise form.ValidationError("%s is not in a corporation allowed to access %s" % (self.cleaned_data['character'].name, self.cleaned_data['service'])) return self.cleaned_data diff --git a/sso/models.py b/sso/models.py index 1610de8..fc533c2 100644 --- a/sso/models.py +++ b/sso/models.py @@ -1,3 +1,4 @@ +import re import unicodedata from django.db import models diff --git a/sso/views.py b/sso/views.py index 69970d7..c1ec391 100644 --- a/sso/views.py +++ b/sso/views.py @@ -97,7 +97,8 @@ def service_add(request): acc.user = request.user acc.service = form.cleaned_data['service'] - acc.password = hashlib.sha1('%s%s' % form.cleaned_data['service'].name, request.user.username).hexdigest() + acc.character = form.cleaned_data['character'] + acc.password = hashlib.sha1('%s%s' % (form.cleaned_data['service'].name, settings.SECRET_KEY)).hexdigest() try: acc.save() diff --git a/templates/sso/serviceaccount_created.html b/templates/sso/serviceaccount_created.html index 43facbe..f5c539e 100644 --- a/templates/sso/serviceaccount_created.html +++ b/templates/sso/serviceaccount_created.html @@ -1,10 +1,6 @@ {% extends "base.html" %} -{% if error %} -{% block title %}Service Account Error{% endblock %} -{% else %} {% block title %}Service Account{% endblock %} -{% endif %} {% block content %} {% if error %}