from collections import OrderedDict
try:
except ImportError:
OrderedDict = None
from django import forms
from django import VERSION as django_VERSION
import account.forms
class SignupForm(account.forms.SignupForm):
@@ -43,13 +45,13 @@ def reorder_fields(fields, order):
OrderedDict([('b', 2), ('c', 3), ('a', 1)])
"""
for key, v in fields.items():
if key not in order:
del fields[key]
if django_VERSION < (1, 7, 0):
if not OrderedDict or hasattr(fields, "keyOrder"):
# 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])))