diff --git a/symposion/forms.py b/symposion/forms.py index dcf96e3d83ac7d6537d810c5505a7444d2f7e69d..e207a0fd85bbc0c7bcfd21827ca27ce64dcd8574 100644 --- a/symposion/forms.py +++ b/symposion/forms.py @@ -1,6 +1,7 @@ from collections import OrderedDict from django import forms +from django import VERSION as django_VERSION import account.forms @@ -13,7 +14,6 @@ class SignupForm(account.forms.SignupForm): def __init__(self, *args, **kwargs): super(SignupForm, self).__init__(*args, **kwargs) - del self.fields["username"] key_order = [ "email", "email_confirm", @@ -46,4 +46,10 @@ def reorder_fields(fields, order): if key not in order: del fields[key] - return OrderedDict(sorted(fields.items(), key=lambda k: order.index(k[0]))) + if django_VERSION < (1, 7, 0): + # fields is SortedDict + fields.keyOrder.sort(key=lambda k: order.index(k[0])) + return fields + else: + # fields is OrderedDict + return OrderedDict(sorted(fields.items(), key=lambda k: order.index(k[0])))