mirror of
https://github.com/nikdoof/test-auth.git
synced 2025-12-15 23:32:17 +00:00
Cleanup the PrimaryCharacterForm to be more "django standard"
This commit is contained in:
@@ -125,12 +125,14 @@ class EmailChangeForm(forms.Form):
|
|||||||
return email2
|
return email2
|
||||||
|
|
||||||
|
|
||||||
def CreatePrimaryCharacterForm(user):
|
class PrimaryCharacterForm(forms.Form):
|
||||||
""" Generate a Primary Character form populated with the user's characters """
|
|
||||||
|
|
||||||
chars = EVEPlayerCharacter.objects.filter(eveaccount__user=user)
|
character = forms.ModelChoiceField(queryset=None, required=True, empty_label=None)
|
||||||
|
|
||||||
class PrimaryCharacter(forms.Form):
|
def __init__(self, *args, **kwargs):
|
||||||
character = forms.ModelChoiceField(queryset=chars, required=True, empty_label=None)
|
self.user = kwargs.pop('user', None)
|
||||||
|
super(PrimaryCharacterForm, self).__init__(*args, **kwargs)
|
||||||
|
|
||||||
|
if self.user:
|
||||||
|
self.fields['character'].queryset = EVEPlayerCharacter.objects.filter(eveaccount__user=self.user)
|
||||||
|
|
||||||
return PrimaryCharacter
|
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ from eve_api.tasks import import_apikey, import_apikey_result, update_user_acces
|
|||||||
from eve_proxy.models import ApiAccessLog
|
from eve_proxy.models import ApiAccessLog
|
||||||
|
|
||||||
from sso.models import ServiceAccount, Service, SSOUser, ExistingUser, ServiceError
|
from sso.models import ServiceAccount, Service, SSOUser, ExistingUser, ServiceError
|
||||||
from sso.forms import UserServiceAccountForm, ServiceAccountResetForm, UserLookupForm, APIPasswordForm, EmailChangeForm, CreatePrimaryCharacterForm
|
from sso.forms import UserServiceAccountForm, ServiceAccountResetForm, UserLookupForm, APIPasswordForm, EmailChangeForm, PrimaryCharacterForm
|
||||||
|
|
||||||
@login_required
|
@login_required
|
||||||
def profile(request):
|
def profile(request):
|
||||||
@@ -278,10 +278,8 @@ def email_change(request):
|
|||||||
def primarychar_change(request):
|
def primarychar_change(request):
|
||||||
""" Change the user's primary character """
|
""" Change the user's primary character """
|
||||||
|
|
||||||
clsform = CreatePrimaryCharacterForm(request.user)
|
|
||||||
|
|
||||||
if request.method == 'POST':
|
if request.method == 'POST':
|
||||||
form = clsform(request.POST)
|
form = PrimaryCharacterForm(request.POST, user=request.user)
|
||||||
if form.is_valid():
|
if form.is_valid():
|
||||||
profile = request.user.get_profile()
|
profile = request.user.get_profile()
|
||||||
profile.primary_character = form.cleaned_data['character']
|
profile.primary_character = form.cleaned_data['character']
|
||||||
@@ -289,7 +287,7 @@ def primarychar_change(request):
|
|||||||
messages.add_message(request, messages.INFO, "Your primary character has changed to %s." % form.cleaned_data['character'])
|
messages.add_message(request, messages.INFO, "Your primary character has changed to %s." % form.cleaned_data['character'])
|
||||||
return redirect('sso.views.profile') # Redirect after POST
|
return redirect('sso.views.profile') # Redirect after POST
|
||||||
else:
|
else:
|
||||||
form = clsform() # An unbound form
|
form = PrimaryCharacterForm(initial={'character': request.user.get_profile().primary_character}, user=request.user) # An unbound form
|
||||||
|
|
||||||
return render_to_response('sso/primarycharchange.html', locals(), context_instance=RequestContext(request))
|
return render_to_response('sso/primarycharchange.html', locals(), context_instance=RequestContext(request))
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user