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 | febbff8a79c83d27d36003ca89559e7be8f59ffe (patch) | |
| tree | 28182d81f4cf3b4efebf6c0cb5d241dd38b5ea5b /archaeological_finds/forms_treatments.py | |
| parent | 6faa859d7dc69ee873bda8e5e695ce4332462435 (diff) | |
| download | Ishtar-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.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)  | 
