summaryrefslogtreecommitdiff
path: root/archaeological_operations
diff options
context:
space:
mode:
Diffstat (limited to 'archaeological_operations')
-rw-r--r--archaeological_operations/migrations/0026_auto_20180423_1838.py49
-rw-r--r--archaeological_operations/models.py16
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: