diff options
Diffstat (limited to 'archaeological_operations')
-rw-r--r-- | archaeological_operations/migrations/0026_auto_20180423_1838.py | 49 | ||||
-rw-r--r-- | archaeological_operations/models.py | 16 |
2 files changed, 64 insertions, 1 deletions
diff --git a/archaeological_operations/migrations/0026_auto_20180423_1838.py b/archaeological_operations/migrations/0026_auto_20180423_1838.py new file mode 100644 index 000000000..c512a54f0 --- /dev/null +++ b/archaeological_operations/migrations/0026_auto_20180423_1838.py @@ -0,0 +1,49 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.10 on 2018-04-23 18:38 +from __future__ import unicode_literals + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('ishtar_common', '0048_auto_20180423_1838'), + ('archaeological_operations', '0025_auto_20180413_1604'), + ] + + operations = [ + migrations.CreateModel( + name='OperationImage', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('is_main', models.BooleanField(default=False, verbose_name='Main image')), + ('image', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='ishtar_common.IshtarImage')), + ], + ), + migrations.CreateModel( + name='SiteImage', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('is_main', models.BooleanField(default=False, verbose_name='Main image')), + ('image', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='ishtar_common.IshtarImage')), + ('site', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='archaeological_operations.ArchaeologicalSite')), + ], + ), + migrations.AlterField( + model_name='operation', + name='images', + field=models.ManyToManyField(blank=True, through='archaeological_operations.OperationImage', to='ishtar_common.IshtarImage', verbose_name='Images'), + ), + migrations.AddField( + model_name='operationimage', + name='operation', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='archaeological_operations.Operation'), + ), + migrations.AddField( + model_name='archaeologicalsite', + name='images', + field=models.ManyToManyField(blank=True, through='archaeological_operations.SiteImage', to='ishtar_common.IshtarImage', verbose_name='Images'), + ), + ] diff --git a/archaeological_operations/models.py b/archaeological_operations/models.py index 2a5f1cbe6..10a281dda 100644 --- a/archaeological_operations/models.py +++ b/archaeological_operations/models.py @@ -130,6 +130,8 @@ class ArchaeologicalSite(BaseHistorizedItem): _(u"Sinking date"), null=True, blank=True) discovery_area = models.TextField( _(u"Discovery area"), null=True, blank=True) + images = models.ManyToManyField(IshtarImage, verbose_name=_(u"Images"), + through='SiteImage', blank=True) class Meta: verbose_name = _(u"Archaeological site") @@ -218,6 +220,12 @@ class ArchaeologicalSite(BaseHistorizedItem): ) +class SiteImage(models.Model): + image = models.ForeignKey(IshtarImage, on_delete=models.CASCADE) + site = models.ForeignKey(ArchaeologicalSite, on_delete=models.CASCADE) + is_main = models.BooleanField(_(u"Main image"), default=False) + + def get_values_town_related(item, prefix, values): values[prefix + 'parcellist'] = item.render_parcels() values[prefix + 'towns'] = '' @@ -453,7 +461,7 @@ class Operation(ClosedItem, BaseHistorizedItem, ImageModel, OwnPerms, scientific_documentation_comment = models.TextField( _(u"Comment about scientific documentation"), null=True, blank=True) images = models.ManyToManyField(IshtarImage, verbose_name=_(u"Images"), - blank=True) + blank=True, through='OperationImage') cached_label = models.CharField(_(u"Cached name"), max_length=500, null=True, blank=True, db_index=True) archaeological_sites = models.ManyToManyField( @@ -971,6 +979,12 @@ def operation_post_save(sender, **kwargs): post_save.connect(operation_post_save, sender=Operation) +class OperationImage(models.Model): + image = models.ForeignKey(IshtarImage, on_delete=models.CASCADE) + operation = models.ForeignKey(Operation, on_delete=models.CASCADE) + is_main = models.BooleanField(_(u"Main image"), default=False) + + class RelationType(GeneralRelationType): class Meta: |