diff options
| -rw-r--r-- | archaeological_finds/forms.py | 25 | ||||
| -rw-r--r-- | archaeological_finds/migrations/0105_auto_20200407_1414.py | 26 | ||||
| -rw-r--r-- | archaeological_finds/models_finds.py | 2 | ||||
| -rw-r--r-- | archaeological_finds/templates/ishtar/sheet_find.html | 5 | ||||
| -rw-r--r-- | archaeological_warehouse/migrations/0106_auto_20200407_1414.py | 38 | ||||
| -rw-r--r-- | archaeological_warehouse/models.py | 19 | ||||
| -rw-r--r-- | ishtar_common/migrations/0203_auto_20200407_1142.py | 2 | 
7 files changed, 92 insertions, 25 deletions
| diff --git a/archaeological_finds/forms.py b/archaeological_finds/forms.py index 97ae90bf4..e018c099b 100644 --- a/archaeological_finds/forms.py +++ b/archaeological_finds/forms.py @@ -137,7 +137,7 @@ class BasicFindForm(CustomForm, ManageOldType):      """      file_upload = True      form_label = _("Find") -    form_admin_name = _(u"Simple find - 020 - General") +    form_admin_name = _("Simple find - 020 - General")      form_slug = "simplefind-020-general"      base_models = ['object_type', 'material_type', 'communicabilitie',                     'cultural_attribution'] @@ -149,6 +149,7 @@ class BasicFindForm(CustomForm, ManageOldType):          'material_type_quality': models.MaterialTypeQualityType,          'object_type_quality': models.ObjectTypeQualityType,          'checked_type': models.CheckedType, +        'collection': Warehouse,      }      field_order = [          'label', 'denomination', 'previous_id', 'museum_id', 'laboratory_id', @@ -174,6 +175,12 @@ class BasicFindForm(CustomForm, ManageOldType):      laboratory_id = forms.CharField(label=_(u"Laboratory ID"), required=False)      seal_number = forms.CharField(label=_(u"Seal number"), required=False)      mark = forms.CharField(label=_(u"Mark"), required=False) +    collection = forms.IntegerField( +        label=_("Collection (warehouse)"), +        widget=widgets.JQueryAutoComplete( +            reverse_lazy('autocomplete-warehouse'), +            associated_model=Warehouse, new=True), +        validators=[valid_id(Warehouse)], required=False)      HEADERS['description'] = FormHeader(_(u"Description"))      description = forms.CharField(label=_(u"Description"), @@ -288,7 +295,8 @@ class BasicFindForm(CustomForm, ManageOldType):  class FindForm(BasicFindForm):      file_upload = True      form_label = _("Find") -    form_admin_name = _(u"Find - 020 - General") +    form_admin_name = _("Find - 020 - General") +    extra_form_modals = ["warehouse"]      form_slug = "find-020-general"      base_models = ['get_first_base_find'] + BasicFindForm.base_models      associated_models = BasicFindForm.associated_models.copy() @@ -299,8 +307,8 @@ class FindForm(BasicFindForm):      field_order = [          'label', 'denomination', 'previous_id',          'get_first_base_find__excavation_id', 'museum_id', 'laboratory_id', -        'seal_number', 'mark', 'description', 'public_description', -        'get_first_base_find__discovery_date', +        'seal_number', 'mark', 'collection', 'description', +        'public_description', 'get_first_base_find__discovery_date',          'get_first_base_find__discovery_date_taq', 'get_first_base_find__batch',          'is_complete', 'material_type', 'material_type_quality',          'material_comment', 'object_type', @@ -363,6 +371,9 @@ class FindForm(BasicFindForm):              'get_first_base_find__estimated_error_z',              'get_first_base_find__spatial_reference_system'          ], +        'warehouse': [ +            'collection' +        ]      }      def clean(self): @@ -1238,6 +1249,12 @@ class FindSelect(DocumentItemSelect, PeriodSelect):  class FindSelectWarehouseModule(FindSelect): +    collection = forms.IntegerField( +        label=_("Collection (warehouse)"), +        widget=widgets.JQueryAutoComplete( +            reverse_lazy('autocomplete-warehouse'), +            associated_model=Warehouse), +        validators=[valid_id(Warehouse)])      container_ref__location = forms.IntegerField(          label=_(u"Reference container - Warehouse (location)"),          widget=widgets.JQueryAutoComplete( diff --git a/archaeological_finds/migrations/0105_auto_20200407_1414.py b/archaeological_finds/migrations/0105_auto_20200407_1414.py new file mode 100644 index 000000000..b4c05ee8a --- /dev/null +++ b/archaeological_finds/migrations/0105_auto_20200407_1414.py @@ -0,0 +1,26 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.27 on 2020-04-07 14:14 +from __future__ import unicode_literals + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + +    dependencies = [ +        ('archaeological_finds', '0104_findinsidecontainer'), +    ] + +    operations = [ +        migrations.AlterField( +            model_name='find', +            name='collection', +            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='finds', to='archaeological_warehouse.Warehouse', verbose_name='Collection'), +        ), +        migrations.AlterField( +            model_name='historicalfind', +            name='collection', +            field=models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='archaeological_warehouse.Warehouse', verbose_name='Collection'), +        ), +    ] diff --git a/archaeological_finds/models_finds.py b/archaeological_finds/models_finds.py index 119a2022a..646ae8088 100644 --- a/archaeological_finds/models_finds.py +++ b/archaeological_finds/models_finds.py @@ -1593,7 +1593,7 @@ class Find(BulkUpdatedItem, ValueGetter, DocumentItem, BaseHistorizedItem,      estimated_value = models.FloatField(_(u"Estimated value"), blank=True,                                          null=True)      collection = models.ForeignKey( -        "archaeological_warehouse.Collection", verbose_name=_(u"Collection"), +        "archaeological_warehouse.Warehouse", verbose_name=_("Collection"),          blank=True, null=True, related_name='finds', on_delete=models.SET_NULL)      # preservation module diff --git a/archaeological_finds/templates/ishtar/sheet_find.html b/archaeological_finds/templates/ishtar/sheet_find.html index 2b2e868be..50a21402b 100644 --- a/archaeological_finds/templates/ishtar/sheet_find.html +++ b/archaeological_finds/templates/ishtar/sheet_find.html @@ -253,6 +253,11 @@    {% if display_warehouse_treatments %}    <div class="tab-pane fade" id="{{window_id}}-warehouse"         role="tabpanel" aria-labelledby="{{window_id}}-warehouse-tab"> +      {% if item.collection %} +      <div class='row'> +          {% field_flex_detail "Collection" item.collection "large" %} +      </div> +      {% endif %}        {% if item.container %}        <h3>{% trans "Warehouse - container" %}</h3>        <div class='row'> diff --git a/archaeological_warehouse/migrations/0106_auto_20200407_1414.py b/archaeological_warehouse/migrations/0106_auto_20200407_1414.py new file mode 100644 index 000000000..9ec357d8a --- /dev/null +++ b/archaeological_warehouse/migrations/0106_auto_20200407_1414.py @@ -0,0 +1,38 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.27 on 2020-04-07 14:14 +from __future__ import unicode_literals + +from django.db import migrations + + +class Migration(migrations.Migration): + +    dependencies = [ +        ('archaeological_warehouse', '0105_auto_20200407_1021'), +    ] + +    operations = [ +        migrations.RemoveField( +            model_name='collection', +            name='history_creator', +        ), +        migrations.RemoveField( +            model_name='collection', +            name='history_modifier', +        ), +        migrations.RemoveField( +            model_name='collection', +            name='imports', +        ), +        migrations.RemoveField( +            model_name='collection', +            name='lock_user', +        ), +        migrations.RemoveField( +            model_name='collection', +            name='warehouse', +        ), +        migrations.DeleteModel( +            name='Collection', +        ), +    ] diff --git a/archaeological_warehouse/models.py b/archaeological_warehouse/models.py index c9e0ad4aa..e62575ccf 100644 --- a/archaeological_warehouse/models.py +++ b/archaeological_warehouse/models.py @@ -358,25 +358,6 @@ m2m_changed.connect(document_attached_changed,  post_save.connect(cached_label_and_geo_changed, sender=Warehouse) -class Collection(LightHistorizedItem): -    name = models.CharField(_(u"Name"), max_length=200, -                            null=True, blank=True) -    description = models.TextField(_(u"Description"), null=True, blank=True) -    warehouse = models.ForeignKey(Warehouse, verbose_name=_(u"Warehouse"), -                                  related_name='collections') - -    class Meta: -        verbose_name = _(u"Collection") -        verbose_name_plural = _(u"Collection") -        ordering = ('name',) -        indexes = [ -            GinIndex(fields=['data']), -        ] - -    def __str__(self): -        return self.name - -  class WarehouseDivision(GeneralType):      class Meta:          verbose_name = _(u"Warehouse division type") diff --git a/ishtar_common/migrations/0203_auto_20200407_1142.py b/ishtar_common/migrations/0203_auto_20200407_1142.py index db6cbc50c..739388097 100644 --- a/ishtar_common/migrations/0203_auto_20200407_1142.py +++ b/ishtar_common/migrations/0203_auto_20200407_1142.py @@ -15,6 +15,6 @@ class Migration(migrations.Migration):          migrations.AlterField(              model_name='ishtarsiteprofile',              name='container_external_id', -            field=models.TextField(default='{location__external_id}-{container_type__txt_idx}-{parent_id}-{reference}', help_text='Formula to manage container external ID. Change this with care. With incorrect formula, the application might be unusable and import of external data can be destructive.', verbose_name='Container external id'), +            field=models.TextField(default='{parent_external_id}-{container_type__txt_idx}-{reference}', help_text='Formula to manage container external ID. Change this with care. With incorrect formula, the application might be unusable and import of external data can be destructive.', verbose_name='Container external id'),          ),      ] | 
