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 83fb11028..446d67fc1 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)  | 
