summaryrefslogtreecommitdiff
path: root/archaeological_finds/forms_treatments.py
diff options
context:
space:
mode:
Diffstat (limited to 'archaeological_finds/forms_treatments.py')
-rw-r--r--archaeological_finds/forms_treatments.py55
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)