diff options
Diffstat (limited to 'archaeological_operations')
| -rw-r--r-- | archaeological_operations/migrations/0104_auto_20201007_1215.py | 39 | ||||
| -rw-r--r-- | archaeological_operations/models.py | 10 | ||||
| -rw-r--r-- | archaeological_operations/tests.py | 26 | 
3 files changed, 69 insertions, 6 deletions
| diff --git a/archaeological_operations/migrations/0104_auto_20201007_1215.py b/archaeological_operations/migrations/0104_auto_20201007_1215.py new file mode 100644 index 000000000..fa61cf836 --- /dev/null +++ b/archaeological_operations/migrations/0104_auto_20201007_1215.py @@ -0,0 +1,39 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.27 on 2020-10-07 12:15 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + +    dependencies = [ +        ('archaeological_operations', '0103_auto_20200129_1941'), +    ] + +    operations = [ +        migrations.AlterModelOptions( +            name='recordrelations', +            options={'ordering': ('left_record__cached_label', 'relation_type', 'right_record__cached_label'), 'permissions': [('view_operationrelation', 'Can view all Operation relations')], 'verbose_name': 'Operation record relation', 'verbose_name_plural': 'Operation record relations'}, +        ), +        migrations.AddField( +            model_name='archaeologicalsite', +            name='complete_identifier', +            field=models.TextField(blank=True, verbose_name='Complete identifier'), +        ), +        migrations.AddField( +            model_name='historicalarchaeologicalsite', +            name='complete_identifier', +            field=models.TextField(blank=True, verbose_name='Complete identifier'), +        ), +        migrations.AddField( +            model_name='historicaloperation', +            name='complete_identifier', +            field=models.TextField(blank=True, verbose_name='Complete identifier'), +        ), +        migrations.AddField( +            model_name='operation', +            name='complete_identifier', +            field=models.TextField(blank=True, verbose_name='Complete identifier'), +        ), +    ] diff --git a/archaeological_operations/models.py b/archaeological_operations/models.py index e7561d32c..c690e5b3a 100644 --- a/archaeological_operations/models.py +++ b/archaeological_operations/models.py @@ -42,7 +42,7 @@ from ishtar_common.models import BaseHistorizedItem, Dashboard, \      post_delete_record_relation, post_save_cache, RelationItem, \      ShortMenuItem, SourceType, Town, ValueGetter, get_current_profile, \      document_attached_changed, HistoryModel, SearchAltName, \ -    GeoItem, QRCodeItem, SearchVectorConfig, DocumentItem, QuickAction, \ +    GeoItem, CompleteIdentifierItem, SearchVectorConfig, DocumentItem, QuickAction, \      MainItem, HierarchicalType  from ishtar_common.models_common import Department, HistoricalRecords  from ishtar_common.model_managers import UUIDModelManager @@ -122,7 +122,7 @@ post_save.connect(post_save_cache, sender=RecordQualityType)  post_delete.connect(post_save_cache, sender=RecordQualityType) -class ArchaeologicalSite(DocumentItem, BaseHistorizedItem, QRCodeItem, +class ArchaeologicalSite(DocumentItem, BaseHistorizedItem, CompleteIdentifierItem,                           GeoItem, OwnPerms, ValueGetter, MainItem):      SLUG = 'site'      APP = "archaeological-operations" @@ -697,9 +697,9 @@ class ParcelItem:                  parcels.append(key) -class Operation(ClosedItem, DocumentItem, BaseHistorizedItem, QRCodeItem, -                GeoItem, OwnPerms, ValueGetter, MainItem, -                DashboardFormItem, RelationItem, ParcelItem): +class Operation(ClosedItem, DocumentItem, BaseHistorizedItem, +                CompleteIdentifierItem, GeoItem, OwnPerms, ValueGetter, +                MainItem, DashboardFormItem, RelationItem, ParcelItem):      SLUG = 'operation'      APP = "archaeological-operations"      MODEL = "operation" diff --git a/archaeological_operations/tests.py b/archaeological_operations/tests.py index 7b93c7d5e..d2cbb707e 100644 --- a/archaeological_operations/tests.py +++ b/archaeological_operations/tests.py @@ -1205,7 +1205,9 @@ class OperationInitTest(object):              self.create_orgas(user)          return self.orgas[0] -    def create_towns(self, datas={}): +    def create_towns(self, datas=None): +        if not datas: +            datas = {}          default = {'numero_insee': '12345', 'name': 'default_town'}          default.update(datas)          town = models.Town.objects.create(**default) @@ -1323,6 +1325,28 @@ class OperationTest(TestCase, OperationInitTest):          parcel.save()          self.assertEqual(parcel.external_id, 'blabla') +    def test_complete_identifier(self): +        profile = get_current_profile() +        profile.operation_complete_identifier = \ +            "{code_patriarche}-{town__numero_insee}" +        profile.save() +        self.item.code_patriarche = '123456789' +        self.item.year = 2020 +        self.item.save() +        self.item = models.Operation.objects.get(pk=self.item.pk) +        self.assertEqual(self.item.complete_identifier, +                         '{}-{}'.format(self.item.code_patriarche, +                                        self.item.town.numero_insee)) + +        profile.operation_complete_identifier = \ +            "{year}-{town__numero_insee}" +        profile.save() +        self.item.save() +        self.item = models.Operation.objects.get(pk=self.item.pk) +        self.assertEqual(self.item.complete_identifier, +                         '{}-{}'.format(self.item.year, +                                        self.item.town.numero_insee)) +      def test_associated(self):          scientist = Person.objects.create(name="C-3PO")          self.item.scientist = scientist | 
