summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2017-04-18 13:31:25 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2017-04-18 13:31:25 +0200
commitc498f5da00e3d85e10b7dd755bcbda89de511962 (patch)
treeb76f9f09488d320d957203def1ddb1b7641218c5
parent90c8cf8d93abe5a1119b80d27e8e73820082a4f5 (diff)
downloadIshtar-c498f5da00e3d85e10b7dd755bcbda89de511962.tar.bz2
Ishtar-c498f5da00e3d85e10b7dd755bcbda89de511962.zip
Django 1.8: keyOrder -> OrderedDict
-rw-r--r--archaeological_finds/forms_treatments.py33
-rw-r--r--archaeological_operations/forms.py48
-rw-r--r--archaeological_warehouse/forms.py14
-rw-r--r--ishtar_common/wizards.py4
4 files changed, 65 insertions, 34 deletions
diff --git a/archaeological_finds/forms_treatments.py b/archaeological_finds/forms_treatments.py
index 52971bf6d..30d8e51ae 100644
--- a/archaeological_finds/forms_treatments.py
+++ b/archaeological_finds/forms_treatments.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
-# Copyright (C) 2016 Étienne Loks <etienne.loks_AT_peacefrogsDOTnet>
+# Copyright (C) 2016-2017 Étienne Loks <etienne.loks_AT_peacefrogsDOTnet>
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
@@ -17,6 +17,7 @@
# See the file COPYING for details.
+from collections import OrderedDict
import datetime
import logging
@@ -192,9 +193,13 @@ class BaseTreatmentForm(ManageOldType, forms.Form):
self.fields['basket'].required = False
self.fields['basket'].help_text = \
_(u"Leave it blank if you want to select a single item")
- self.fields.keyOrder.pop(self.fields.keyOrder.index('basket'))
- self.fields.keyOrder.insert(self.fields.keyOrder.index('description'),
- 'basket')
+ fields = OrderedDict()
+ basket = self.fields.pop('basket')
+ for key, value in self.fields.items():
+ if key == 'description':
+ fields['index'] = basket
+ fields[key] = value
+ self.fields = fields
"""
def clean(self, *args, **kwargs):
@@ -239,9 +244,13 @@ class TreatmentModifyForm(BaseTreatmentForm):
def __init__(self, *args, **kwargs):
super(TreatmentModifyForm, self).__init__(*args, **kwargs)
- self.fields.keyOrder.pop(self.fields.keyOrder.index('index'))
- self.fields.keyOrder.insert(
- self.fields.keyOrder.index('year') + 1, 'index')
+ fields = OrderedDict()
+ idx = self.fields.pop('index')
+ for key, value in self.fields.items():
+ fields[key] = value
+ if key == 'year':
+ fields['index'] = idx
+ self.fields = fields
def clean(self, *args, **kwargs):
super(TreatmentModifyForm, self).clean(*args, **kwargs)
@@ -505,9 +514,13 @@ class TreatmentFileModifyForm(TreatmentFileForm):
def __init__(self, *args, **kwargs):
super(TreatmentFileModifyForm, self).__init__(*args, **kwargs)
- self.fields.keyOrder.pop(self.fields.keyOrder.index('index'))
- self.fields.keyOrder.insert(
- self.fields.keyOrder.index('year') + 1, 'index')
+ fields = OrderedDict()
+ idx = self.fields.pop('index')
+ for key, value in self.fields.items():
+ fields[key] = value
+ if key == 'year':
+ fields['index'] = idx
+ self.fields = fields
def clean(self, *args, **kwargs):
super(TreatmentFileModifyForm, self).clean(*args, **kwargs)
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
diff --git a/archaeological_warehouse/forms.py b/archaeological_warehouse/forms.py
index 94e31b759..f020864ff 100644
--- a/archaeological_warehouse/forms.py
+++ b/archaeological_warehouse/forms.py
@@ -1,6 +1,6 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-
-# Copyright (C) 2010-2016 Étienne Loks <etienne.loks_AT_peacefrogsDOTnet>
+# Copyright (C) 2010-2017 Étienne Loks <etienne.loks_AT_peacefrogsDOTnet>
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
@@ -17,6 +17,8 @@
# See the file COPYING for details.
+from collections import OrderedDict
+
from django import forms
from django.conf import settings
from django.forms.formsets import formset_factory
@@ -212,9 +214,13 @@ class ContainerModifyForm(ContainerForm):
def __init__(self, *args, **kwargs):
super(ContainerModifyForm, self).__init__(*args, **kwargs)
- self.fields.keyOrder.pop(self.fields.keyOrder.index('index'))
- self.fields.keyOrder.insert(
- self.fields.keyOrder.index("location") + 1, 'index')
+ fields = OrderedDict()
+ idx = self.fields.pop('index')
+ for key, value in self.fields.items():
+ fields[key] = value
+ if key == 'location':
+ fields['index'] = idx
+ self.fields = fields
def clean(self):
# manage unique ID
diff --git a/ishtar_common/wizards.py b/ishtar_common/wizards.py
index fcec91df2..fd8d24366 100644
--- a/ishtar_common/wizards.py
+++ b/ishtar_common/wizards.py
@@ -356,7 +356,7 @@ class Wizard(NamedUrlWizardView):
if form_datas:
form_datas.append(("", "", "spacer"))
items = hasattr(base_form, 'fields') and \
- base_form.fields.keyOrder or cleaned_data.keys()
+ base_form.fields.keys() or cleaned_data.keys()
for key in items:
lbl = None
if key.startswith('hidden_'):
@@ -871,7 +871,7 @@ class Wizard(NamedUrlWizardView):
frm = form.forms[0]
if frm:
# autofocus on first field
- first_field = frm.fields[frm.fields.keyOrder[0]]
+ first_field = frm.fields[frm.fields.keys()[0]]
attrs = first_field.widget.attrs
attrs.update({'autofocus': "autofocus"})
first_field.widget.attrs = attrs