diff options
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 |
commit | 7af02b57ddbf9d972a216eb631ed891fbb8b817e (patch) | |
tree | 28182d81f4cf3b4efebf6c0cb5d241dd38b5ea5b /archaeological_finds/forms_treatments.py | |
parent | 424984867fc08f6b65a2b9ab58d31562c6e9f75d (diff) | |
download | Ishtar-7af02b57ddbf9d972a216eb631ed891fbb8b817e.tar.bz2 Ishtar-7af02b57ddbf9d972a216eb631ed891fbb8b817e.zip |
Treatment, treatment files: add scientific manager - exhibition fields
Diffstat (limited to 'archaeological_finds/forms_treatments.py')
-rw-r--r-- | archaeological_finds/forms_treatments.py | 50 |
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) |