summaryrefslogtreecommitdiff
path: root/archaeological_operations/forms.py
diff options
context:
space:
mode:
Diffstat (limited to 'archaeological_operations/forms.py')
-rw-r--r--archaeological_operations/forms.py48
1 files changed, 30 insertions, 18 deletions
diff --git a/archaeological_operations/forms.py b/archaeological_operations/forms.py
index 86bea4ed5..da9394d6c 100644
--- a/archaeological_operations/forms.py
+++ b/archaeological_operations/forms.py
@@ -20,6 +20,7 @@
"""
Operations forms definitions
"""
+from collections import OrderedDict
import datetime
from itertools import groupby
@@ -909,11 +910,13 @@ class OperationFormGeneral(ManageOldType, forms.Form):
self.fields['record_quality'].choices = \
[('', '--')] + list(models.QUALITY)
if 'operation_code' in self.fields:
- self.fields.keyOrder = list(self.fields.keyOrder)
- self.fields.keyOrder.pop(self.fields.keyOrder.index(
- 'operation_code'))
- self.fields.keyOrder.insert(self.fields.keyOrder.index('year'),
- 'operation_code')
+ fields = OrderedDict()
+ ope_code = self.fields.pop('operation_code')
+ for key, value in self.fields.items():
+ if key == 'year':
+ fields['operation_code'] = ope_code
+ fields[key] = value
+ self.fields = fields
def clean(self):
cleaned_data = self.cleaned_data
@@ -976,12 +979,15 @@ class OperationFormModifGeneral(OperationFormGeneral):
def __init__(self, *args, **kwargs):
super(OperationFormModifGeneral, self).__init__(*args, **kwargs)
- self.fields.keyOrder = list(self.fields.keyOrder)
- self.fields.keyOrder.pop(self.fields.keyOrder.index('associated_file'))
- self.fields.keyOrder.insert(self.fields.keyOrder.index('in_charge'),
- 'associated_file')
+ asso_file = self.fields.pop('associated_file')
if not get_current_profile().files:
- self.fields.pop('associated_file')
+ return
+ fields = OrderedDict()
+ for key, value in self.fields.items():
+ if key == 'in_charge':
+ fields['associated_file'] = asso_file
+ fields[key] = value
+ self.fields = fields
OperationFormModifGeneral.associated_models = \
OperationFormGeneral.associated_models.copy()
@@ -1227,9 +1233,13 @@ class OperationSourceForm(SourceForm):
def __init__(self, *args, **kwargs):
super(OperationSourceForm, self).__init__(*args, **kwargs)
- keyOrder = self.fields.keyOrder
- keyOrder.pop(keyOrder.index('index'))
- keyOrder.insert(keyOrder.index('source_type') + 1, 'index')
+ fields = OrderedDict()
+ idx = self.fields.pop('index')
+ for key, value in self.fields.items():
+ fields[key] = value
+ if key == 'source_type':
+ fields['index'] = idx
+ self.fields = fields
def clean(self):
# manage unique operation ID
@@ -1390,11 +1400,13 @@ class AdministrativeActOpeForm(ManageOldType, forms.Form):
class AdministrativeActModifForm(object):
def __init__(self, *args, **kwargs):
super(AdministrativeActModifForm, self).__init__(*args, **kwargs)
- self.fields.keyOrder = list(self.fields.keyOrder)
- self.fields.keyOrder.pop(self.fields.keyOrder.index(
- 'index'))
- self.fields.keyOrder.insert(
- self.fields.keyOrder.index("signature_date") + 1, 'index')
+ fields = OrderedDict()
+ idx = self.fields.pop('index')
+ for key, value in self.fields.items():
+ fields[key] = value
+ if key == 'signature_date':
+ fields['index'] = idx
+ self.fields = fields
def clean(self):
# manage unique act ID