summaryrefslogtreecommitdiff
path: root/archaeological_warehouse
diff options
context:
space:
mode:
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
commit8bb49c9c9fae93536dcfd340e4631fc34a44df8a (patch)
tree64334c9307509607b65394e83ae0654f790f98cb /archaeological_warehouse
parent1dcb2fb44584117220b87500188f2539e3a98c14 (diff)
downloadIshtar-8bb49c9c9fae93536dcfd340e4631fc34a44df8a.tar.bz2
Ishtar-8bb49c9c9fae93536dcfd340e4631fc34a44df8a.zip
Container: collection -> responsibility. Deactivate collection fot finds
Diffstat (limited to 'archaeological_warehouse')
-rw-r--r--archaeological_warehouse/forms.py23
-rw-r--r--archaeological_warehouse/management/commands/migrate_to_new_container_management.py4
-rw-r--r--archaeological_warehouse/migrations/0110_auto_20210209_1610.py26
-rw-r--r--archaeological_warehouse/models.py18
-rw-r--r--archaeological_warehouse/templates/ishtar/sheet_container.html4
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 %}