summaryrefslogtreecommitdiff
path: root/archaeological_finds/forms_treatments.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2016-12-12 15:15:09 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2016-12-12 15:15:09 +0100
commit1da20a5b5bb591c0789f570399d9c644ec3e4263 (patch)
tree910c99cc3b67c0cd914547692e3a540c10df8181 /archaeological_finds/forms_treatments.py
parent158ea3c4c1c03d014f12b94f29b38a4a2697d77c (diff)
downloadIshtar-1da20a5b5bb591c0789f570399d9c644ec3e4263.tar.bz2
Ishtar-1da20a5b5bb591c0789f570399d9c644ec3e4263.zip
Manage treatment / treatment files sources
Diffstat (limited to 'archaeological_finds/forms_treatments.py')
-rw-r--r--archaeological_finds/forms_treatments.py76
1 files changed, 75 insertions, 1 deletions
diff --git a/archaeological_finds/forms_treatments.py b/archaeological_finds/forms_treatments.py
index 4f5bbac07..cb075102b 100644
--- a/archaeological_finds/forms_treatments.py
+++ b/archaeological_finds/forms_treatments.py
@@ -23,6 +23,7 @@ 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 _
@@ -35,7 +36,9 @@ from archaeological_operations.forms import AdministrativeActOpeForm, \
AdministrativeActOpeFormSelection, AdministrativeActModifForm
from ishtar_common.forms import reverse_lazy, TableSelect, FinalForm, \
- ManageOldType
+ ManageOldType, get_form_selection
+from ishtar_common.forms_common import SourceForm, SourceSelect, \
+ SourceDeletionForm
from ishtar_common import widgets
@@ -264,6 +267,8 @@ class AdministrativeActTreatmentSelect(TableSelect):
treatment__index = forms.IntegerField(label=_(u"Treatment index"))
treatment__internal_reference = forms.CharField(
max_length=200, label=_(u"Treatment internal reference"))
+ treatment__treatment_types = forms.ChoiceField(label=_(u"Treatment type"),
+ choices=[])
history_modifier = forms.IntegerField(
label=_(u"Modified by"),
widget=widgets.JQueryAutoComplete(
@@ -278,6 +283,10 @@ class AdministrativeActTreatmentSelect(TableSelect):
dct={'intented_to': 'T'})
self.fields['act_type'].help_text = ActType.get_help(
dct={'intented_to': 'T'})
+ self.fields['treatment__treatment_types'].choices = \
+ models.TreatmentType.get_types()
+ self.fields['treatment__treatment_types'].help_text = \
+ models.TreatmentType.get_help()
class AdministrativeActTreatmentFormSelection(
@@ -426,6 +435,8 @@ class AdministrativeActTreatmentFileSelect(TableSelect):
treatment_file__index = forms.IntegerField(label=_(u"Treatment file index"))
treatment_file__internal_reference = forms.CharField(
max_length=200, label=_(u"Treatment file internal reference"))
+ treatment_file__type = forms.ChoiceField(label=_(u"Treatment file type"),
+ choices=[])
history_modifier = forms.IntegerField(
label=_(u"Modified by"),
widget=widgets.JQueryAutoComplete(
@@ -441,6 +452,10 @@ class AdministrativeActTreatmentFileSelect(TableSelect):
dct={'intented_to': 'TF'})
self.fields['act_type'].help_text = ActType.get_help(
dct={'intented_to': 'TF'})
+ self.fields['treatment_file__type'].choices = \
+ models.TreatmentFileType.get_types()
+ self.fields['treatment_file__type'].help_text = \
+ models.TreatmentFileType.get_help()
class AdministrativeActTreatmentFileFormSelection(
@@ -470,3 +485,62 @@ class AdministrativeActTreatmentFileModifForm(
AdministrativeActModifForm, AdministrativeActTreatmentFileForm):
pk = forms.IntegerField(required=False, widget=forms.HiddenInput)
index = forms.IntegerField(label=_("Index"), required=False)
+
+SourceTreatmentFormSelection = get_form_selection(
+ 'SourceTreatmentFormSelection', _(u"Treatment search"), 'treatment',
+ models.Treatment, TreatmentSelect, 'get-treatment',
+ _(u"You should select an treatment."))
+
+SourceTreatmentFileFormSelection = get_form_selection(
+ 'SourceTreatmentFileFormSelection', _(u"Treatment file search"),
+ 'treatment_file',
+ models.TreatmentFile, TreatmentFileSelect, 'get-treatmentfile',
+ _(u"You should select an treatment file."))
+
+
+class TreatmentSourceSelect(SourceSelect):
+ treatment__name = forms.CharField(
+ label=_(u"Treatment name"), max_length=200)
+ treatment__year = forms.IntegerField(label=_(u"Treatment year"))
+ treatment__index = forms.IntegerField(label=_(u"Treatment index"))
+ treatment__internal_reference = forms.CharField(
+ max_length=200, label=_(u"Treatment internal reference"))
+ treatment__treatment_types = forms.ChoiceField(label=_(u"Treatment type"),
+ choices=[])
+
+ def __init__(self, *args, **kwargs):
+ super(TreatmentSourceSelect, self).__init__(*args, **kwargs)
+ self.fields['treatment__treatment_types'].choices = \
+ models.TreatmentType.get_types()
+ self.fields['treatment__treatment_types'].help_text = \
+ models.TreatmentType.get_help()
+
+
+TreatmentSourceFormSelection = get_form_selection(
+ 'TreatmentSourceFormSelection', _(u"Documentation search"), 'pk',
+ models.TreatmentSource, TreatmentSourceSelect, 'get-treatmentsource',
+ _(u"You should select a document."))
+
+
+class TreatmentFileSourceSelect(SourceSelect):
+ treatment_file__name = forms.CharField(
+ label=_(u"Treatment file name"), max_length=200)
+ treatment_file__year = forms.IntegerField(label=_(u"Treatment file year"))
+ treatment_file__index = forms.IntegerField(label=_(u"Treatment file index"))
+ treatment_file__internal_reference = forms.CharField(
+ max_length=200, label=_(u"Treatment file internal reference"))
+ treatment_file__type = forms.ChoiceField(label=_(u"Treatment file type"),
+ choices=[])
+
+ def __init__(self, *args, **kwargs):
+ super(TreatmentFileSourceSelect, self).__init__(*args, **kwargs)
+ self.fields['treatment_file__type'].choices = \
+ models.TreatmentFileType.get_types()
+ self.fields['treatment_file__type'].help_text = \
+ models.TreatmentFileType.get_help()
+
+
+TreatmentFileSourceFormSelection = get_form_selection(
+ 'TreatmentFileSourceFormSelection', _(u"Documentation search"), 'pk',
+ models.TreatmentFileSource, TreatmentFileSourceSelect,
+ 'get-treatmentfilesource', _(u"You should select a document."))