diff options
Diffstat (limited to 'archaeological_warehouse')
-rw-r--r-- | archaeological_warehouse/migrations/0027_warehouse_main_image.py | 22 | ||||
-rw-r--r-- | archaeological_warehouse/migrations/0028_migrate_main_image.py | 21 | ||||
-rw-r--r-- | archaeological_warehouse/models.py | 12 |
3 files changed, 53 insertions, 2 deletions
diff --git a/archaeological_warehouse/migrations/0027_warehouse_main_image.py b/archaeological_warehouse/migrations/0027_warehouse_main_image.py new file mode 100644 index 000000000..fc1dc13b7 --- /dev/null +++ b/archaeological_warehouse/migrations/0027_warehouse_main_image.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.10 on 2018-12-20 15:39 +from __future__ import unicode_literals + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('ishtar_common', '0079_migrate-importers'), + ('archaeological_warehouse', '0026_auto_20181203_1442'), + ] + + operations = [ + migrations.AddField( + model_name='warehouse', + name='main_image', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='main_image_warehouses', to='ishtar_common.Document', verbose_name='Main image'), + ), + ] diff --git a/archaeological_warehouse/migrations/0028_migrate_main_image.py b/archaeological_warehouse/migrations/0028_migrate_main_image.py new file mode 100644 index 000000000..4cb6cda7e --- /dev/null +++ b/archaeological_warehouse/migrations/0028_migrate_main_image.py @@ -0,0 +1,21 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.10 on 2018-12-20 19:12 +from __future__ import unicode_literals + +from django.db import migrations +from ishtar_common.utils_migrations import migrate_main_image + + +def migrate_main_image_script(apps, schema): + migrate_main_image(apps, 'archaeological_warehouse', 'Warehouse') + + +class Migration(migrations.Migration): + + dependencies = [ + ('archaeological_warehouse', '0027_warehouse_main_image'), + ] + + operations = [ + migrations.RunPython(migrate_main_image_script) + ] diff --git a/archaeological_warehouse/models.py b/archaeological_warehouse/models.py index 92eaf5d2f..3b157ee0c 100644 --- a/archaeological_warehouse/models.py +++ b/archaeological_warehouse/models.py @@ -23,7 +23,7 @@ from django.conf import settings from django.contrib.gis.db import models from django.core.urlresolvers import reverse from django.db.models import Q -from django.db.models.signals import post_save, post_delete +from django.db.models.signals import post_save, post_delete, m2m_changed from django.template.defaultfilters import slugify from django.utils.translation import ugettext_lazy as _, pgettext_lazy, \ activate, deactivate @@ -31,7 +31,8 @@ from django.utils.translation import ugettext_lazy as _, pgettext_lazy, \ from ishtar_common.data_importer import post_importer_action from ishtar_common.models import Document, GeneralType, get_external_id, \ LightHistorizedItem, OwnPerms, Address, Person, post_save_cache, \ - ImageModel, DashboardFormItem, ExternalIdManager, ShortMenuItem + ImageModel, DashboardFormItem, ExternalIdManager, ShortMenuItem, \ + document_attached_changed from ishtar_common.utils import cached_label_changed @@ -87,6 +88,9 @@ class Warehouse(Address, DashboardFormItem, OwnPerms, documents = models.ManyToManyField( Document, related_name='warehouses', verbose_name=_(u"Documents"), blank=True) + main_image = models.ForeignKey( + Document, related_name='main_image_warehouses', + verbose_name=_(u"Main image"), blank=True, null=True) external_id = models.TextField(_(u"External ID"), blank=True, null=True) auto_external_id = models.BooleanField( _(u"External ID is set automatically"), default=False) @@ -252,6 +256,10 @@ class Warehouse(Address, DashboardFormItem, OwnPerms, return +m2m_changed.connect(document_attached_changed, + sender=Warehouse.documents.through) + + class Collection(LightHistorizedItem): name = models.CharField(_(u"Name"), max_length=200, null=True, blank=True) |