summaryrefslogtreecommitdiff
path: root/archaeological_operations
diff options
context:
space:
mode:
Diffstat (limited to 'archaeological_operations')
-rw-r--r--archaeological_operations/migrations/0027_auto_20180509_1723.py (renamed from archaeological_operations/migrations/0027_auto_20180423_1838.py)18
-rw-r--r--archaeological_operations/models.py26
2 files changed, 23 insertions, 21 deletions
diff --git a/archaeological_operations/migrations/0027_auto_20180423_1838.py b/archaeological_operations/migrations/0027_auto_20180509_1723.py
index c9af8c928..181b6aa55 100644
--- a/archaeological_operations/migrations/0027_auto_20180423_1838.py
+++ b/archaeological_operations/migrations/0027_auto_20180509_1723.py
@@ -1,5 +1,5 @@
# -*- coding: utf-8 -*-
-# Generated by Django 1.11.10 on 2018-04-23 18:38
+# Generated by Django 1.11.10 on 2018-05-09 17:23
from __future__ import unicode_literals
from django.db import migrations, models
@@ -9,7 +9,7 @@ import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
- ('ishtar_common', '0048_auto_20180423_1838'),
+ ('ishtar_common', '0050_licensetype_url'),
('archaeological_operations', '0026_auto_20180430_1318'),
]
@@ -21,6 +21,10 @@ class Migration(migrations.Migration):
('is_main', models.BooleanField(default=False, verbose_name='Main image')),
('image', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='ishtar_common.IshtarImage')),
],
+ options={
+ 'ordering': ('-is_main', 'image__name'),
+ 'abstract': False,
+ },
),
migrations.CreateModel(
name='SiteImage',
@@ -28,8 +32,12 @@ class Migration(migrations.Migration):
('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')),
+ ('item', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='associated_images', to='archaeological_operations.ArchaeologicalSite')),
],
+ options={
+ 'ordering': ('-is_main', 'image__name'),
+ 'abstract': False,
+ },
),
migrations.RemoveField(
model_name='operation',
@@ -42,8 +50,8 @@ class Migration(migrations.Migration):
),
migrations.AddField(
model_name='operationimage',
- name='operation',
- field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='archaeological_operations.Operation'),
+ name='item',
+ field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='associated_images', to='archaeological_operations.Operation'),
),
migrations.AddField(
model_name='archaeologicalsite',
diff --git a/archaeological_operations/models.py b/archaeological_operations/models.py
index aa9103f61..5ff3ddc2f 100644
--- a/archaeological_operations/models.py
+++ b/archaeological_operations/models.py
@@ -38,8 +38,8 @@ from ishtar_common.models import GeneralType, BaseHistorizedItem, \
SourceType, Person, Organization, Town, Dashboard, IshtarUser, ValueGetter,\
DocumentTemplate, ShortMenuItem, DashboardFormItem, GeneralRelationType,\
GeneralRecordRelations, post_delete_record_relation, OperationType, \
- ImageModel, post_save_cache, PersonType, IshtarImage, get_image_path, \
- RelationItem
+ ImageModel, post_save_cache, PersonType, IshtarImage, \
+ RelationItem, ThroughImage
class RemainType(GeneralType):
@@ -220,10 +220,9 @@ 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)
+class SiteImage(ThroughImage):
+ item = models.ForeignKey(ArchaeologicalSite, on_delete=models.CASCADE,
+ related_name='associated_images')
def get_values_town_related(item, prefix, values):
@@ -246,6 +245,7 @@ def get_values_town_related(item, prefix, values):
number=dpt).count()])
return values
+
QUALITY = (('ND', _(u"Not documented")),
('A', _(u"Arbitrary")),
('R', _(u"Reliable")),)
@@ -613,8 +613,7 @@ class Operation(ClosedItem, BaseHistorizedItem, ImageModel, OwnPerms,
return True
def _get_base_image_path(self):
- return u"operation/{}/{}".format(
- self.year, self.reference)
+ return u"{}/{}/{}".format(self.SLUG, self.year, self.reference)
def get_town_label(self):
lbl = unicode(_('Intercommunal'))
@@ -979,14 +978,9 @@ 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,
- related_name='associated_images')
- is_main = models.BooleanField(_(u"Main image"), default=False)
-
- class Meta:
- ordering = ('operation', '-is_main', 'image__name')
+class OperationImage(ThroughImage):
+ item = models.ForeignKey(Operation, on_delete=models.CASCADE,
+ related_name='associated_images')
class RelationType(GeneralRelationType):