diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2021-02-09 18:02:41 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2021-02-28 12:15:24 +0100 |
commit | 8bb49c9c9fae93536dcfd340e4631fc34a44df8a (patch) | |
tree | 64334c9307509607b65394e83ae0654f790f98cb /archaeological_warehouse | |
parent | 1dcb2fb44584117220b87500188f2539e3a98c14 (diff) | |
download | Ishtar-8bb49c9c9fae93536dcfd340e4631fc34a44df8a.tar.bz2 Ishtar-8bb49c9c9fae93536dcfd340e4631fc34a44df8a.zip |
Container: collection -> responsibility. Deactivate collection fot finds
Diffstat (limited to 'archaeological_warehouse')
5 files changed, 60 insertions, 15 deletions
diff --git a/archaeological_warehouse/forms.py b/archaeological_warehouse/forms.py index c5720390a..3b10fb608 100644 --- a/archaeological_warehouse/forms.py +++ b/archaeological_warehouse/forms.py @@ -265,7 +265,7 @@ class ContainerForm(CustomForm, ManageOldType, forms.Form): extra_form_modals = ["warehouse", "organization", "person", "container"] associated_models = {'container_type': models.ContainerType, 'location': models.Warehouse, - 'collection': models.Warehouse, + 'responsibility': models.Warehouse, 'parent': models.Container} reference = forms.CharField(label=_("Ref."), max_length=200) old_reference = forms.CharField(label=_("Old reference"), required=False, @@ -286,8 +286,8 @@ class ContainerForm(CustomForm, ManageOldType, forms.Form): validators=[valid_id(models.Container)], required=False ) - collection = forms.IntegerField( - label=_("Collection"), + responsibility = forms.IntegerField( + label=_("Responsibility"), widget=widgets.JQueryAutoComplete( reverse_lazy('autocomplete-warehouse'), associated_model=models.Warehouse, new=True), @@ -415,6 +415,8 @@ class ContainerSelect(DocumentItemSelect): 'archaeological-warehouse', 'container' )) location_name = get_warehouse_field(label=_("Warehouse")) + responsibility_name = get_warehouse_field( + label=_("Warehouse (responsibility)")) container_type = forms.ChoiceField(label=_("Container type"), choices=[]) reference = forms.CharField(label=_("Ref.")) old_reference = forms.CharField(label=_("Old reference")) @@ -597,7 +599,8 @@ class QAContainerFormMulti(QAForm): REPLACE_FIELDS = [ "qaparent", "qacontainer_type", - "qalocation" + "qalocation", + "qaresponsibility" ] HEADERS = { @@ -613,6 +616,12 @@ class QAContainerFormMulti(QAForm): reverse_lazy('autocomplete-warehouse'), associated_model=models.Warehouse), validators=[valid_id(models.Warehouse)], required=False) + qaresponsibility = forms.IntegerField( + label=_("Responsibility"), + widget=widgets.JQueryAutoComplete( + reverse_lazy('autocomplete-warehouse'), + associated_model=models.Warehouse), + validators=[valid_id(models.Warehouse)], required=False) qaparent = forms.IntegerField( label=_("Parent"), widget=widgets.JQueryAutoComplete( @@ -638,6 +647,12 @@ class QAContainerFormMulti(QAForm): except models.Warehouse.DoesNotExist: return "" + def _get_qaresponsibility(self, value): + try: + return models.Warehouse.objects.get(pk=value).name + except models.Warehouse.DoesNotExist: + return "" + def _get_qaparent(self, value): try: return models.Container.objects.get(pk=value).cached_label diff --git a/archaeological_warehouse/management/commands/migrate_to_new_container_management.py b/archaeological_warehouse/management/commands/migrate_to_new_container_management.py index 38cabd842..abf207023 100644 --- a/archaeological_warehouse/management/commands/migrate_to_new_container_management.py +++ b/archaeological_warehouse/management/commands/migrate_to_new_container_management.py @@ -89,8 +89,8 @@ class Command(BaseCommand): potential_duplicate[container.responsible_id][ ref].append(division.reference.strip()) parent = new_container - if container.collection_id != container.responsible_id: - container.collection_id = container.responsible_id + if container.responsibility_id != container.responsible_id: + container.responsibility_id = container.responsible_id container.save() if parent: q = models.Container.objects.filter( diff --git a/archaeological_warehouse/migrations/0110_auto_20210209_1610.py b/archaeological_warehouse/migrations/0110_auto_20210209_1610.py new file mode 100644 index 000000000..e3a60ec86 --- /dev/null +++ b/archaeological_warehouse/migrations/0110_auto_20210209_1610.py @@ -0,0 +1,26 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.27 on 2021-02-09 16:10 +from __future__ import unicode_literals + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('archaeological_warehouse', '0109_auto_20210202_1844'), + ] + + operations = [ + migrations.RenameField( + model_name='container', + old_name='collection', + new_name='responsibility', + ), + migrations.AlterField( + model_name='container', + name='responsibility', + field=models.ForeignKey(blank=True, help_text='Warehouse that own the container', null=True, on_delete=django.db.models.deletion.CASCADE, related_name='responsibilities', to='archaeological_warehouse.Warehouse', verbose_name='Responsibility'), + ), + ] diff --git a/archaeological_warehouse/models.py b/archaeological_warehouse/models.py index 7112e6830..71c6a8145 100644 --- a/archaeological_warehouse/models.py +++ b/archaeological_warehouse/models.py @@ -685,6 +685,10 @@ class Container(DocumentItem, Merge, LightHistorizedItem, pgettext_lazy("key for text search", "location"), 'location__name__iexact' ), + 'responsibility_name': SearchAltName( + pgettext_lazy("key for text search", "responsibility"), + 'responsibility__name__iexact' + ), 'container_type': SearchAltName( pgettext_lazy("key for text search", "type"), 'container_type__label__iexact' @@ -854,9 +858,9 @@ class Container(DocumentItem, Merge, LightHistorizedItem, related_name='owned_containers', blank=True, null=True, help_text=_("Deprecated - do not use") ) - collection = models.ForeignKey( - Warehouse, verbose_name=_("Collection"), - related_name='collections', blank=True, null=True, + responsibility = models.ForeignKey( + Warehouse, verbose_name=_("Responsibility"), + related_name='responsibilities', blank=True, null=True, help_text=_("Warehouse that own the container") ) container_type = models.ForeignKey(ContainerType, @@ -1364,11 +1368,11 @@ class Container(DocumentItem, Merge, LightHistorizedItem, def pre_save(self): if self.parent == self: self.parent = None - if not self.collection_id and not self.collection: + if not self.responsibility_id and not self.responsibility: if self.location_id: - self.collection_id = self.location_id - else: - self.collection = self.location + self.responsibility_id = self.location_id + if self.location: + self.responsibility = self.location if self.container_type.stationary: return q = Container.objects.filter(index=self.index, location=self.location) diff --git a/archaeological_warehouse/templates/ishtar/sheet_container.html b/archaeological_warehouse/templates/ishtar/sheet_container.html index 7ffafa7f6..98b640936 100644 --- a/archaeological_warehouse/templates/ishtar/sheet_container.html +++ b/archaeological_warehouse/templates/ishtar/sheet_container.html @@ -106,8 +106,8 @@ <dt>{% trans "Number of owned finds" %}</dt> <dd>{{item.number_of_finds}}</dd> </dl> - {% if item.collection != item.location %} - {% field_flex_detail "Collection" item.collection %} + {% if item.responsibility != item.location %} + {% field_flex_detail "Responsibility" item.responsibility %} {% endif %} {% include "ishtar/blocks/sheet_creation_section.html" %} {% field_flex "Old reference" item.old_reference %} |