summaryrefslogtreecommitdiff
path: root/archaeological_finds/forms_treatments.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2019-09-16 19:10:27 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2019-09-16 19:11:07 +0200
commitfebbff8a79c83d27d36003ca89559e7be8f59ffe (patch)
tree28182d81f4cf3b4efebf6c0cb5d241dd38b5ea5b /archaeological_finds/forms_treatments.py
parent6faa859d7dc69ee873bda8e5e695ce4332462435 (diff)
downloadIshtar-febbff8a79c83d27d36003ca89559e7be8f59ffe.tar.bz2
Ishtar-febbff8a79c83d27d36003ca89559e7be8f59ffe.zip
Treatment, treatment files: add scientific manager - exhibition fields
Diffstat (limited to 'archaeological_finds/forms_treatments.py')
-rw-r--r--archaeological_finds/forms_treatments.py50
1 files changed, 45 insertions, 5 deletions
diff --git a/archaeological_finds/forms_treatments.py b/archaeological_finds/forms_treatments.py
index 4f906f1b9..dbd523450 100644
--- a/archaeological_finds/forms_treatments.py
+++ b/archaeological_finds/forms_treatments.py
@@ -57,6 +57,11 @@ class TreatmentSelect(HistorySelect):
other_reference = forms.CharField(label=_(u"Other ref."))
year = forms.IntegerField(label=_(u"Year"))
index = forms.IntegerField(label=_(u"Index"))
+ scientific_monitoring_manager = forms.IntegerField(
+ widget=widgets.JQueryAutoComplete(
+ reverse_lazy('autocomplete-person-permissive'),
+ associated_model=Person),
+ label=_(u"Scientific monitoring manager"))
treatment_types = forms.ChoiceField(label=_(u"Treatment type"), choices=[])
documents__image__isnull = forms.NullBooleanField(label=_(u"Has an image?"))
@@ -109,7 +114,7 @@ class TreatmentStateSelect(forms.Select):
};
$("#id_%(name)s").change(%(id)s_check);
- %(id)s_check();
+ setTimeout(function(){ %(id)s_check(); }, 500);
</script>""" % {"name": name, "id": name.replace("-", "_"),
"exec_list": "','".join(executed_id),
"message": message}
@@ -126,6 +131,7 @@ class BaseTreatmentForm(CustomForm, ManageOldType):
extra_form_modals = ["container", "warehouse", "organization", "person"]
associated_models = {'treatment_type': models.TreatmentType,
'person': Person,
+ 'scientific_monitoring_manager': Person,
'location': Warehouse,
'organization': Organization,
'container': Container,
@@ -149,6 +155,12 @@ class BaseTreatmentForm(CustomForm, ManageOldType):
reverse_lazy('autocomplete-warehouse'), associated_model=Warehouse,
new=True),
validators=[valid_id(Warehouse)])
+ scientific_monitoring_manager = forms.IntegerField(
+ label=_("Scientific monitoring manager"),
+ widget=widgets.JQueryAutoComplete(
+ reverse_lazy('autocomplete-person'), associated_model=Person,
+ new=True),
+ validators=[valid_id(Person)], required=False)
person = forms.IntegerField(
label=_(u"Responsible"),
widget=widgets.JQueryAutoComplete(
@@ -222,9 +234,7 @@ class BaseTreatmentForm(CustomForm, ManageOldType):
q = Person.objects.filter(ishtaruser__pk=user.pk)
if q.count():
person = q.all()[0]
- self.fields['person'].initial = person.pk
- if person.attached_to:
- self.fields['organization'].initial = person.attached_to.pk
+ self.fields['scientific_monitoring_manager'].initial = person.pk
# self.fields['target_is_basket'].widget.choices = \
# ((False, _(u"Single find")), (True, _(u"Basket")))
# TODO
@@ -686,6 +696,21 @@ class TreatmentFileSelect(HistorySelect):
associated_model=Organization),
validators=[valid_id(Organization)])
+ end_date = forms.DateField(label=_(u"Closing date"), required=False,
+ widget=DatePicker)
+ exhibition_start_before = forms.DateField(
+ label=_(u"Exhibition started before"), widget=DatePicker
+ )
+ exhibition_start_after = forms.DateField(
+ label=_(u"Exhibition started after"), widget=DatePicker
+ )
+ exhibition_end_before = forms.DateField(
+ label=_(u"Exhibition ended before"), widget=DatePicker
+ )
+ exhibition_end_after = forms.DateField(
+ label=_(u"Exhibition ended after"), widget=DatePicker
+ )
+
def __init__(self, *args, **kwargs):
super(TreatmentFileSelect, self).__init__(*args, **kwargs)
self.fields['type'].choices = models.TreatmentFileType.get_types()
@@ -718,7 +743,7 @@ class TreatmentFileFormSelectionMultiple(MultiSearchForm):
validators=[valid_ids(models.TreatmentFile)])
-class TreatmentFileForm(ManageOldType):
+class TreatmentFileForm(CustomForm, ManageOldType):
form_label = _(u"Treatment request")
base_models = ['treatment_type_type']
associated_models = {
@@ -764,6 +789,12 @@ class TreatmentFileForm(ManageOldType):
widget=widgets.JQueryAutoComplete(
reverse_lazy('autocomplete-findbasket'),
associated_model=models.FindBasket), required=False)
+ exhibition_name = forms.CharField(label=_("Exhibition name"),
+ max_length=200, required=False)
+ exhibition_start_date = forms.DateField(
+ label=_("Exhibition start date"), required=False, widget=DatePicker)
+ exhibition_end_date = forms.DateField(
+ label=_("Exhibition end date"), required=False, widget=DatePicker)
comment = forms.CharField(label=_(u"Comment"),
widget=forms.Textarea, required=False)
creation_date = forms.DateField(label=_(u"Start date"), required=False,
@@ -775,6 +806,15 @@ class TreatmentFileForm(ManageOldType):
end_date = forms.DateField(label=_(u"Closing date"), required=False,
widget=DatePicker)
+ TYPES = [
+ FieldType('type', models.TreatmentFileType),
+ ]
+
+ CONDITIONAL_FIELDS = (
+ (("type", "txt_idx", "loan-for-exhibition"),
+ ("exhibition_name", "exhibition_start_date", "exhibition_end_date")),
+ )
+
def __init__(self, *args, **kwargs):
user = kwargs.pop('user')
super(TreatmentFileForm, self).__init__(*args, **kwargs)