diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2018-12-20 19:49:52 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2019-01-11 17:30:46 +0100 |
commit | 686386b1994aac7df90b12a3ab40000e02e1eda7 (patch) | |
tree | 3ae604ef9a36c7edaac48530db753810324e5494 /archaeological_warehouse | |
parent | fc9b4ecbba8e121e0d811a6d2e6fb64d8b27b475 (diff) | |
download | Ishtar-686386b1994aac7df90b12a3ab40000e02e1eda7.tar.bz2 Ishtar-686386b1994aac7df90b12a3ab40000e02e1eda7.zip |
Manage main image: model, auto associate default image
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) |