diff options
-rw-r--r-- | archaeological_context_records/admin.py | 5 | ||||
-rw-r--r-- | archaeological_context_records/migrations/0020_auto_20180430_1318.py | 31 | ||||
-rw-r--r-- | archaeological_context_records/models.py | 10 | ||||
-rw-r--r-- | archaeological_operations/admin.py | 3 | ||||
-rw-r--r-- | archaeological_operations/migrations/0026_auto_20180430_1318.py | 31 | ||||
-rw-r--r-- | archaeological_operations/models.py | 11 | ||||
-rw-r--r-- | ishtar_common/models.py | 10 |
7 files changed, 97 insertions, 4 deletions
diff --git a/archaeological_context_records/admin.py b/archaeological_context_records/admin.py index b966628ae..c06927f37 100644 --- a/archaeological_context_records/admin.py +++ b/archaeological_context_records/admin.py @@ -90,12 +90,15 @@ class RecordRelationsAdmin(admin.ModelAdmin): 'right_record': 'context_record', }) + admin_site.register(models.RecordRelations, RecordRelationsAdmin) class RelationTypeAdmin(GeneralTypeAdmin): list_display = ('label', 'txt_idx', 'tiny_label', 'available', - 'symmetrical', 'inverse_relation', 'order', 'comment') + 'symmetrical', 'logical_relation', 'inverse_relation', + 'order', 'comment') + admin_site.register(models.RelationType, RelationTypeAdmin) diff --git a/archaeological_context_records/migrations/0020_auto_20180430_1318.py b/archaeological_context_records/migrations/0020_auto_20180430_1318.py new file mode 100644 index 000000000..416c16311 --- /dev/null +++ b/archaeological_context_records/migrations/0020_auto_20180430_1318.py @@ -0,0 +1,31 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.10 on 2018-04-30 13:18 +from __future__ import unicode_literals + +from django.db import migrations, models +import ishtar_common.models + + +class Migration(migrations.Migration): + + dependencies = [ + ('archaeological_context_records', '0019_auto_20180403_1120'), + ] + + operations = [ + migrations.AddField( + model_name='contextrecord', + name='relation_image', + field=models.FileField(blank=True, null=True, upload_to=ishtar_common.models.get_image_path, verbose_name='Generated relation image (SVG)'), + ), + migrations.AddField( + model_name='historicalcontextrecord', + name='relation_image', + field=models.TextField(blank=True, max_length=100, null=True, verbose_name='Generated relation image (SVG)'), + ), + migrations.AddField( + model_name='relationtype', + name='logical_relation', + field=models.CharField(blank=True, choices=[(b'above', 'Above'), (b'bellow', 'Bellow'), (b'equal', 'Equal')], max_length=10, null=True, verbose_name='Logical relation'), + ), + ] diff --git a/archaeological_context_records/models.py b/archaeological_context_records/models.py index 07429e606..a3dcd5761 100644 --- a/archaeological_context_records/models.py +++ b/archaeological_context_records/models.py @@ -32,7 +32,7 @@ from ishtar_common.utils import cached_label_changed from ishtar_common.models import GeneralType, BaseHistorizedItem, \ HistoricalRecords, OwnPerms, ShortMenuItem, Source, GeneralRelationType,\ - GeneralRecordRelations, post_delete_record_relation, \ + GeneralRecordRelations, post_delete_record_relation, get_image_path, \ ImageModel, post_save_cache, ValueGetter, BulkUpdatedItem, IshtarImage from archaeological_operations.models import Operation, Period, Parcel, \ ArchaeologicalSite @@ -326,6 +326,10 @@ class ContextRecord(BulkUpdatedItem, BaseHistorizedItem, blank=True) cached_label = models.TextField(_(u"Cached name"), null=True, blank=True, db_index=True) + relation_image = models.FileField( + _(u"Generated relation image (SVG)"), null=True, blank=True, + upload_to=get_image_path + ) PARENT_SEARCH_VECTORS = ['operation'] BASE_SEARCH_VECTORS = ["cached_label", "label", "location", "interpretation", "filling", "datings_comment", @@ -424,6 +428,10 @@ class ContextRecord(BulkUpdatedItem, BaseHistorizedItem, self.operation.get_reference(), self.parcel, self.label] if item]) @property + def relation_label(self): + return self.label + + @property def show_url(self): return reverse('show-contextrecord', args=[self.pk, '']) diff --git a/archaeological_operations/admin.py b/archaeological_operations/admin.py index 874311978..d906b9faf 100644 --- a/archaeological_operations/admin.py +++ b/archaeological_operations/admin.py @@ -171,7 +171,8 @@ admin_site.register(models.RecordRelations, RecordRelationsAdmin) class RelationTypeAdmin(GeneralTypeAdmin): list_display = ('label', 'txt_idx', 'tiny_label', 'available', - 'symmetrical', 'inverse_relation', 'comment') + 'symmetrical', 'logical_relation', 'inverse_relation', + 'order', 'comment') admin_site.register(models.RelationType, RelationTypeAdmin) diff --git a/archaeological_operations/migrations/0026_auto_20180430_1318.py b/archaeological_operations/migrations/0026_auto_20180430_1318.py new file mode 100644 index 000000000..52218f089 --- /dev/null +++ b/archaeological_operations/migrations/0026_auto_20180430_1318.py @@ -0,0 +1,31 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.10 on 2018-04-30 13:18 +from __future__ import unicode_literals + +from django.db import migrations, models +import ishtar_common.models + + +class Migration(migrations.Migration): + + dependencies = [ + ('archaeological_operations', '0025_auto_20180413_1604'), + ] + + operations = [ + migrations.AddField( + model_name='historicaloperation', + name='relation_image', + field=models.TextField(blank=True, max_length=100, null=True, verbose_name='Generated relation image (SVG)'), + ), + migrations.AddField( + model_name='operation', + name='relation_image', + field=models.FileField(blank=True, null=True, upload_to=ishtar_common.models.get_image_path, verbose_name='Generated relation image (SVG)'), + ), + migrations.AddField( + model_name='relationtype', + name='logical_relation', + field=models.CharField(blank=True, choices=[(b'above', 'Above'), (b'bellow', 'Bellow'), (b'equal', 'Equal')], max_length=10, null=True, verbose_name='Logical relation'), + ), + ] diff --git a/archaeological_operations/models.py b/archaeological_operations/models.py index b52477995..87ec89870 100644 --- a/archaeological_operations/models.py +++ b/archaeological_operations/models.py @@ -38,7 +38,7 @@ 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 + ImageModel, post_save_cache, PersonType, IshtarImage, get_image_path class RemainType(GeneralType): @@ -477,6 +477,11 @@ class Operation(ClosedItem, BaseHistorizedItem, ImageModel, OwnPerms, finds_received = models.NullBooleanField( _(u"Finds received"), blank=True, null=True) + relation_image = models.FileField( + _(u"Generated relation image (SVG)"), null=True, blank=True, + upload_to=get_image_path + ) + # judiciary seizure_name = models.TextField(_(u"Seizure name"), blank=True, null=True) official_report_number = models.TextField(_(u"Official report number"), @@ -541,6 +546,10 @@ class Operation(ClosedItem, BaseHistorizedItem, ImageModel, OwnPerms, return unicode(self) @property + def relation_label(self): + return self.short_label + + @property def name(self): return self.common_name diff --git a/ishtar_common/models.py b/ishtar_common/models.py index ccbe486e0..cbf1431a7 100644 --- a/ishtar_common/models.py +++ b/ishtar_common/models.py @@ -1404,6 +1404,13 @@ class BaseHistorizedItem(FullSearch, Imported, JsonData, FixAssociated): return True +LOGICAL_TYPES = ( + ('above', _(u"Above")), + ('bellow', _(u"Bellow")), + ('equal', _(u"Equal")) +) + + class GeneralRelationType(GeneralType): order = models.IntegerField(_(u"Order"), default=1) symmetrical = models.BooleanField(_(u"Symmetrical")) @@ -1412,6 +1419,9 @@ class GeneralRelationType(GeneralType): inverse_relation = models.ForeignKey( 'self', verbose_name=_(u"Inverse relation"), blank=True, null=True) + logical_relation = models.CharField( + verbose_name=_(u"Logical relation"), max_length=10, + choices=LOGICAL_TYPES, blank=True, null=True) class Meta: abstract = True |