diff options
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 |
commit | b761775288d21112b18f60bf91fef083458b57fe (patch) | |
tree | b76f9f09488d320d957203def1ddb1b7641218c5 | |
parent | f4701f5fc4730ddf7479ef0b8700ce7ba3e201d4 (diff) | |
download | Ishtar-b761775288d21112b18f60bf91fef083458b57fe.tar.bz2 Ishtar-b761775288d21112b18f60bf91fef083458b57fe.zip |
Django 1.8: keyOrder -> OrderedDict
-rw-r--r-- | archaeological_finds/forms_treatments.py | 33 | ||||
-rw-r--r-- | archaeological_operations/forms.py | 48 | ||||
-rw-r--r-- | archaeological_warehouse/forms.py | 14 | ||||
-rw-r--r-- | ishtar_common/wizards.py | 4 |
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 |