diff options
Diffstat (limited to 'archaeological_finds/forms_treatments.py')
-rw-r--r-- | archaeological_finds/forms_treatments.py | 55 |
1 files changed, 33 insertions, 22 deletions
diff --git a/archaeological_finds/forms_treatments.py b/archaeological_finds/forms_treatments.py index 55e223b5d..99813ea31 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,13 +17,13 @@ # See the file COPYING for details. +from collections import OrderedDict import datetime import logging from django import forms from django.conf import settings from django.core import validators -from django.db.models import Max from django.utils.safestring import mark_safe from django.utils.translation import ugettext_lazy as _ @@ -38,8 +38,7 @@ from archaeological_operations.forms import AdministrativeActOpeForm, \ from ishtar_common.forms import reverse_lazy, TableSelect, FinalForm, \ ManageOldType, get_form_selection -from ishtar_common.forms_common import SourceForm, SourceSelect, \ - SourceDeletionForm +from ishtar_common.forms_common import SourceSelect from ishtar_common import widgets @@ -184,7 +183,7 @@ class BaseTreatmentForm(ManageOldType, forms.Form): self.fields['treatment_state'].choices = \ models.TreatmentState.get_types( initial=self.init_data.get('treatment_state'), - ) + ) self.fields['treatment_state'].help_text = \ models.TreatmentState.get_help() # TODO @@ -192,9 +191,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,10 +242,14 @@ class TreatmentModifyForm(BaseTreatmentForm): def __init__(self, *args, **kwargs): super(TreatmentModifyForm, self).__init__(*args, **kwargs) - self.fields.pop('target_is_basket') - 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 + fields.pop('target_is_basket') + self.fields = fields def clean(self, *args, **kwargs): super(TreatmentModifyForm, self).clean(*args, **kwargs) @@ -481,9 +488,9 @@ class TreatmentFileForm(ManageOldType, forms.Form): creation_date = forms.DateField(label=_(u"Start date"), required=False, widget=widgets.JQueryDate, initial=lambda: datetime.datetime.now()) - reception_date = forms.DateField(label=_(u"Reception date"), required=False, - widget=widgets.JQueryDate, - initial=lambda: datetime.datetime.now()) + reception_date = forms.DateField( + label=_(u"Reception date"), required=False, widget=widgets.JQueryDate, + initial=lambda: datetime.datetime.now()) end_date = forms.DateField(label=_(u"Closing date"), required=False, widget=widgets.JQueryDate) @@ -506,9 +513,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) @@ -595,8 +606,8 @@ class AdministrativeActTreatmentFileSelect(TableSelect): label=_(u"Treatment request index")) treatment_file__internal_reference = forms.CharField( max_length=200, label=_(u"Treatment request internal reference")) - treatment_file__type = forms.ChoiceField(label=_(u"Treatment request type"), - choices=[]) + treatment_file__type = forms.ChoiceField( + label=_(u"Treatment request type"), choices=[]) history_modifier = forms.IntegerField( label=_(u"Modified by"), widget=widgets.JQueryAutoComplete( @@ -691,8 +702,8 @@ class TreatmentFileSourceSelect(SourceSelect): label=_(u"Treatment request index")) treatment_file__internal_reference = forms.CharField( max_length=200, label=_(u"Treatment request internal reference")) - treatment_file__type = forms.ChoiceField(label=_(u"Treatment request type"), - choices=[]) + treatment_file__type = forms.ChoiceField( + label=_(u"Treatment request type"), choices=[]) def __init__(self, *args, **kwargs): super(TreatmentFileSourceSelect, self).__init__(*args, **kwargs) |