diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2020-01-27 18:21:55 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2020-07-01 18:01:59 +0200 |
commit | 49e64486eb885cf1e57edf921ac54dd6a09bf744 (patch) | |
tree | ac58e393f88bd034eb8108905a7a43cc6c5498f6 /archaeological_finds/migrations/0101_squashed.py | |
parent | f1c39260f07f87532ab194899b27e289e5cb558a (diff) | |
download | Ishtar-49e64486eb885cf1e57edf921ac54dd6a09bf744.tar.bz2 Ishtar-49e64486eb885cf1e57edf921ac54dd6a09bf744.zip |
Pseudo-squash of migrations - use Makefile script for migrations
Diffstat (limited to 'archaeological_finds/migrations/0101_squashed.py')
-rw-r--r-- | archaeological_finds/migrations/0101_squashed.py | 780 |
1 files changed, 780 insertions, 0 deletions
diff --git a/archaeological_finds/migrations/0101_squashed.py b/archaeological_finds/migrations/0101_squashed.py new file mode 100644 index 000000000..069982355 --- /dev/null +++ b/archaeological_finds/migrations/0101_squashed.py @@ -0,0 +1,780 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.27 on 2020-01-23 18:21 +from __future__ import unicode_literals + +import archaeological_operations.models +import datetime +from django.conf import settings +import django.contrib.gis.db.models.fields +import django.contrib.postgres.fields.jsonb +import django.contrib.postgres.search +import django.core.validators +from django.db import migrations, models +import django.db.models.deletion +import ishtar_common.models +import ishtar_common.utils +import re +import uuid + + +class Migration(migrations.Migration): + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ('ishtar_common', '0201_squashed'), + ('archaeological_finds', '0080_auto_20191216_1040'), + ] + + operations = [ + migrations.CreateModel( + name='AlterationCauseType', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('label', models.TextField(verbose_name='Label')), + ('txt_idx', models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z', 32), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID')), + ('comment', models.TextField(blank=True, null=True, verbose_name='Comment')), + ('available', models.BooleanField(default=True, verbose_name='Available')), + ], + options={ + 'verbose_name': 'Alteration cause type', + 'verbose_name_plural': 'Alteration cause types', + 'ordering': ('parent__label', 'label'), + }, + bases=(ishtar_common.models.Cached, models.Model), + ), + migrations.CreateModel( + name='AlterationType', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('label', models.TextField(verbose_name='Label')), + ('txt_idx', models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z', 32), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID')), + ('comment', models.TextField(blank=True, null=True, verbose_name='Comment')), + ('available', models.BooleanField(default=True, verbose_name='Available')), + ], + options={ + 'verbose_name': 'Alteration type', + 'verbose_name_plural': 'Alteration types', + 'ordering': ('parent__label', 'label'), + }, + bases=(ishtar_common.models.Cached, models.Model), + ), + migrations.CreateModel( + name='BaseFind', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('data', django.contrib.postgres.fields.jsonb.JSONField(blank=True, default={})), + ('search_vector', django.contrib.postgres.search.SearchVectorField(blank=True, help_text='Auto filled at save', null=True, verbose_name='Search vector')), + ('x', models.FloatField(blank=True, null=True, verbose_name='X')), + ('y', models.FloatField(blank=True, null=True, verbose_name='Y')), + ('z', models.FloatField(blank=True, null=True, verbose_name='Z')), + ('estimated_error_x', models.FloatField(blank=True, null=True, verbose_name='Estimated error for X')), + ('estimated_error_y', models.FloatField(blank=True, null=True, verbose_name='Estimated error for Y')), + ('estimated_error_z', models.FloatField(blank=True, null=True, verbose_name='Estimated error for Z')), + ('point', django.contrib.gis.db.models.fields.PointField(blank=True, dim=3, null=True, srid=4326, verbose_name='Point')), + ('point_2d', django.contrib.gis.db.models.fields.PointField(blank=True, null=True, srid=4326, verbose_name='Point (2D)')), + ('point_source', models.CharField(blank=True, choices=[('T', 'Town'), ('P', 'Precise'), ('M', 'Polygon')], max_length=1, null=True, verbose_name='Point source')), + ('point_source_item', models.CharField(blank=True, max_length=100, null=True, verbose_name='Point source item')), + ('multi_polygon', django.contrib.gis.db.models.fields.MultiPolygonField(blank=True, null=True, srid=4326, verbose_name='Multi polygon')), + ('multi_polygon_source', models.CharField(blank=True, choices=[('T', 'Town'), ('P', 'Precise'), ('M', 'Polygon')], max_length=1, null=True, verbose_name='Multi-polygon source')), + ('multi_polygon_source_item', models.CharField(blank=True, max_length=100, null=True, verbose_name='Multi polygon source item')), + ('last_modified', models.DateTimeField(auto_now=True)), + ('history_m2m', django.contrib.postgres.fields.jsonb.JSONField(blank=True, default={})), + ('need_update', models.BooleanField(default=False, verbose_name='Need update')), + ('locked', models.BooleanField(default=False, verbose_name='Item locked for edition')), + ('uuid', models.UUIDField(default=uuid.uuid4)), + ('label', models.TextField(verbose_name='Free ID')), + ('external_id', models.TextField(blank=True, null=True, verbose_name='External ID')), + ('auto_external_id', models.BooleanField(default=False, verbose_name='External ID is set automatically')), + ('excavation_id', models.TextField(blank=True, null=True, verbose_name='Excavation ID')), + ('description', models.TextField(blank=True, null=True, verbose_name='Description')), + ('comment', models.TextField(blank=True, null=True, verbose_name='Comment')), + ('special_interest', models.CharField(blank=True, max_length=120, null=True, verbose_name='Special interest')), + ('discovery_date', models.DateField(blank=True, null=True, verbose_name='Discovery date (exact or TPQ)')), + ('discovery_date_taq', models.DateField(blank=True, null=True, verbose_name='Discovery date (TAQ)')), + ('index', models.IntegerField(default=0, verbose_name='Index')), + ('material_index', models.IntegerField(default=0, verbose_name='Material index')), + ('topographic_localisation', models.CharField(blank=True, max_length=120, null=True, verbose_name='Point of topographic reference')), + ('line', django.contrib.gis.db.models.fields.LineStringField(blank=True, null=True, srid=4326, verbose_name='Line')), + ('cache_short_id', models.TextField(blank=True, db_index=True, help_text='Cached value - do not edit', null=True, verbose_name='Short ID')), + ('cache_complete_id', models.TextField(blank=True, db_index=True, help_text='Cached value - do not edit', null=True, verbose_name='Complete ID')), + ], + options={ + 'verbose_name': 'Base find', + 'verbose_name_plural': 'Base finds', + 'permissions': (('view_basefind', 'Can view all Base finds'), ('view_own_basefind', 'Can view own Base find'), ('add_own_basefind', 'Can add own Base find'), ('change_own_basefind', 'Can change own Base find'), ('delete_own_basefind', 'Can delete own Base find')), + }, + bases=(ishtar_common.models.BulkUpdatedItem, ishtar_common.models.StatisticItem, ishtar_common.models.TemplateItem, models.Model, ishtar_common.models.CachedGen, ishtar_common.models.FixAssociated, ishtar_common.models.CascasdeUpdate, ishtar_common.models.OwnPerms, ishtar_common.models.ValueGetter), + ), + migrations.CreateModel( + name='BatchType', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('label', models.TextField(verbose_name='Label')), + ('txt_idx', models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z', 32), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID')), + ('comment', models.TextField(blank=True, null=True, verbose_name='Comment')), + ('available', models.BooleanField(default=True, verbose_name='Available')), + ('order', models.IntegerField(default=10, verbose_name='Order')), + ], + options={ + 'verbose_name': 'Batch type', + 'verbose_name_plural': 'Batch types', + 'ordering': ('order',), + }, + bases=(ishtar_common.models.Cached, models.Model), + ), + migrations.CreateModel( + name='CheckedType', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('label', models.TextField(verbose_name='Label')), + ('txt_idx', models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z', 32), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID')), + ('comment', models.TextField(blank=True, null=True, verbose_name='Comment')), + ('available', models.BooleanField(default=True, verbose_name='Available')), + ('order', models.IntegerField(default=10, verbose_name='Order')), + ], + options={ + 'verbose_name': 'Checked type', + 'verbose_name_plural': 'Checked types', + 'ordering': ('order',), + }, + bases=(ishtar_common.models.Cached, models.Model), + ), + migrations.CreateModel( + name='CommunicabilityType', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('label', models.TextField(verbose_name='Label')), + ('txt_idx', models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z', 32), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID')), + ('comment', models.TextField(blank=True, null=True, verbose_name='Comment')), + ('available', models.BooleanField(default=True, verbose_name='Available')), + ], + options={ + 'verbose_name': 'Communicability type', + 'verbose_name_plural': 'Communicability types', + 'ordering': ('parent__label', 'label'), + }, + bases=(ishtar_common.models.Cached, models.Model), + ), + migrations.CreateModel( + name='ConservatoryState', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('label', models.TextField(verbose_name='Label')), + ('txt_idx', models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z', 32), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID')), + ('comment', models.TextField(blank=True, null=True, verbose_name='Comment')), + ('available', models.BooleanField(default=True, verbose_name='Available')), + ('order', models.IntegerField(default=10, verbose_name='Order')), + ], + options={ + 'verbose_name': 'Conservatory state type', + 'verbose_name_plural': 'Conservatory state types', + 'ordering': ('order', 'label'), + }, + bases=(ishtar_common.models.Cached, models.Model), + ), + migrations.CreateModel( + name='Find', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('data', django.contrib.postgres.fields.jsonb.JSONField(blank=True, default={})), + ('search_vector', django.contrib.postgres.search.SearchVectorField(blank=True, help_text='Auto filled at save', null=True, verbose_name='Search vector')), + ('qrcode', models.ImageField(blank=True, max_length=255, null=True, upload_to=ishtar_common.models.get_image_path)), + ('last_modified', models.DateTimeField(auto_now=True)), + ('history_m2m', django.contrib.postgres.fields.jsonb.JSONField(blank=True, default={})), + ('need_update', models.BooleanField(default=False, verbose_name='Need update')), + ('locked', models.BooleanField(default=False, verbose_name='Item locked for edition')), + ('uuid', models.UUIDField(default=uuid.uuid4)), + ('external_id', models.TextField(blank=True, null=True, verbose_name='External ID')), + ('auto_external_id', models.BooleanField(default=False, verbose_name='External ID is set automatically')), + ('seal_number', models.TextField(blank=True, null=True, verbose_name='Seal number')), + ('order', models.IntegerField(default=1, verbose_name='Order')), + ('label', models.TextField(verbose_name='Free ID')), + ('denomination', models.TextField(blank=True, null=True, verbose_name='Denomination')), + ('museum_id', models.TextField(blank=True, null=True, verbose_name='Museum ID')), + ('laboratory_id', models.TextField(blank=True, null=True, verbose_name='Laboratory ID')), + ('description', models.TextField(blank=True, null=True, verbose_name='Description')), + ('decoration', models.TextField(blank=True, null=True, verbose_name='Decoration')), + ('inscription', models.TextField(blank=True, null=True, verbose_name='Inscription')), + ('manufacturing_place', models.TextField(blank=True, null=True, verbose_name='Manufacturing place')), + ('material_comment', models.TextField(blank=True, null=True, verbose_name='Comment on the material')), + ('volume', models.FloatField(blank=True, null=True, verbose_name='Volume (l)')), + ('weight', models.FloatField(blank=True, null=True, verbose_name='Weight')), + ('weight_unit', models.CharField(blank=True, choices=[('g', 'g'), ('kg', 'kg')], max_length=4, null=True, verbose_name='Weight unit')), + ('find_number', models.IntegerField(blank=True, null=True, verbose_name='Find number')), + ('is_complete', models.NullBooleanField(verbose_name='Is complete?')), + ('min_number_of_individuals', models.IntegerField(blank=True, null=True, verbose_name='Minimum number of individuals (MNI)')), + ('length', models.FloatField(blank=True, null=True, verbose_name='Length (cm)')), + ('width', models.FloatField(blank=True, null=True, verbose_name='Width (cm)')), + ('height', models.FloatField(blank=True, null=True, verbose_name='Height (cm)')), + ('diameter', models.FloatField(blank=True, null=True, verbose_name='Diameter (cm)')), + ('circumference', models.FloatField(blank=True, null=True, verbose_name='Circumference (cm)')), + ('thickness', models.FloatField(blank=True, null=True, verbose_name='Thickness (cm)')), + ('clutter_long_side', models.FloatField(blank=True, null=True, verbose_name='Clutter - long side (cm)')), + ('clutter_short_side', models.FloatField(blank=True, null=True, verbose_name='Clutter - short side (cm)')), + ('clutter_height', models.FloatField(blank=True, null=True, verbose_name='Clutter - height (cm)')), + ('dimensions_comment', models.TextField(blank=True, null=True, verbose_name='Dimensions comment')), + ('mark', models.TextField(blank=True, null=True, verbose_name='Mark')), + ('comment', models.TextField(blank=True, null=True, verbose_name='Comment')), + ('dating_comment', models.TextField(blank=True, null=True, verbose_name='Comment on dating')), + ('previous_id', models.TextField(blank=True, null=True, verbose_name='Previous ID')), + ('index', models.IntegerField(default=0, verbose_name='Index')), + ('check_date', models.DateField(default=datetime.date.today, verbose_name='Check date')), + ('estimated_value', models.FloatField(blank=True, null=True, verbose_name='Estimated value')), + ('conservatory_comment', models.TextField(blank=True, null=True, verbose_name='Conservatory comment')), + ('insurance_value', models.FloatField(blank=True, null=True, verbose_name='Insurance value')), + ('appraisal_date', models.DateField(blank=True, null=True, verbose_name='Appraisal date')), + ('public_description', models.TextField(blank=True, null=True, verbose_name='Public description')), + ('cached_label', models.TextField(blank=True, db_index=True, null=True, verbose_name='Cached name')), + ('cached_periods', models.TextField(blank=True, help_text='Generated automatically - do not edit', null=True, verbose_name='Cached periods label')), + ('cached_object_types', models.TextField(blank=True, help_text='Generated automatically - do not edit', null=True, verbose_name='Cached object types label')), + ('cached_materials', models.TextField(blank=True, help_text='Generated automatically - do not edit', null=True, verbose_name='Cached material types label')), + ], + options={ + 'verbose_name': 'Find', + 'verbose_name_plural': 'Finds', + 'ordering': ('cached_label',), + 'permissions': (('view_find', 'Can view all Finds'), ('view_own_find', 'Can view own Find'), ('add_own_find', 'Can add own Find'), ('change_own_find', 'Can change own Find'), ('delete_own_find', 'Can delete own Find')), + }, + bases=(ishtar_common.models.BulkUpdatedItem, ishtar_common.models.ValueGetter, ishtar_common.models.DocumentItem, ishtar_common.models.StatisticItem, ishtar_common.models.TemplateItem, models.Model, ishtar_common.models.CachedGen, ishtar_common.models.FixAssociated, ishtar_common.models.CascasdeUpdate, ishtar_common.models.ImageContainerModel, ishtar_common.models.OwnPerms, ishtar_common.models.MainItem), + ), + migrations.CreateModel( + name='FindBasket', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('search_vector', django.contrib.postgres.search.SearchVectorField(blank=True, help_text='Auto filled at save', null=True, verbose_name='Search vector')), + ('uuid', models.UUIDField(default=uuid.uuid4)), + ('label', models.CharField(max_length=1000, verbose_name='Label')), + ('comment', models.TextField(blank=True, null=True, verbose_name='Comment')), + ('slug', models.SlugField(blank=True, null=True, verbose_name='Slug')), + ('public', models.BooleanField(default=False, verbose_name='Public')), + ('available', models.BooleanField(default=True, verbose_name='Available')), + ], + options={ + 'verbose_name': 'Basket', + 'ordering': ('label',), + 'permissions': (('view_find', 'Can view all Finds'), ('view_own_find', 'Can view own Find')), + }, + bases=(models.Model, ishtar_common.models.OwnPerms, ishtar_common.models.MainItem, ishtar_common.models.ValueGetter, ishtar_common.models.TemplateItem), + ), + migrations.CreateModel( + name='HistoricalBaseFind', + fields=[ + ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')), + ('data', django.contrib.postgres.fields.jsonb.JSONField(blank=True, default={})), + ('search_vector', django.contrib.postgres.search.SearchVectorField(blank=True, help_text='Auto filled at save', null=True, verbose_name='Search vector')), + ('x', models.FloatField(blank=True, null=True, verbose_name='X')), + ('y', models.FloatField(blank=True, null=True, verbose_name='Y')), + ('z', models.FloatField(blank=True, null=True, verbose_name='Z')), + ('estimated_error_x', models.FloatField(blank=True, null=True, verbose_name='Estimated error for X')), + ('estimated_error_y', models.FloatField(blank=True, null=True, verbose_name='Estimated error for Y')), + ('estimated_error_z', models.FloatField(blank=True, null=True, verbose_name='Estimated error for Z')), + ('point', django.contrib.gis.db.models.fields.PointField(blank=True, dim=3, null=True, srid=4326, verbose_name='Point')), + ('point_2d', django.contrib.gis.db.models.fields.PointField(blank=True, null=True, srid=4326, verbose_name='Point (2D)')), + ('point_source', models.CharField(blank=True, choices=[('T', 'Town'), ('P', 'Precise'), ('M', 'Polygon')], max_length=1, null=True, verbose_name='Point source')), + ('point_source_item', models.CharField(blank=True, max_length=100, null=True, verbose_name='Point source item')), + ('multi_polygon', django.contrib.gis.db.models.fields.MultiPolygonField(blank=True, null=True, srid=4326, verbose_name='Multi polygon')), + ('multi_polygon_source', models.CharField(blank=True, choices=[('T', 'Town'), ('P', 'Precise'), ('M', 'Polygon')], max_length=1, null=True, verbose_name='Multi-polygon source')), + ('multi_polygon_source_item', models.CharField(blank=True, max_length=100, null=True, verbose_name='Multi polygon source item')), + ('last_modified', models.DateTimeField(blank=True, editable=False)), + ('history_m2m', django.contrib.postgres.fields.jsonb.JSONField(blank=True, default={})), + ('need_update', models.BooleanField(default=False, verbose_name='Need update')), + ('locked', models.BooleanField(default=False, verbose_name='Item locked for edition')), + ('uuid', models.UUIDField(default=uuid.uuid4)), + ('label', models.TextField(verbose_name='Free ID')), + ('external_id', models.TextField(blank=True, null=True, verbose_name='External ID')), + ('auto_external_id', models.BooleanField(default=False, verbose_name='External ID is set automatically')), + ('excavation_id', models.TextField(blank=True, null=True, verbose_name='Excavation ID')), + ('description', models.TextField(blank=True, null=True, verbose_name='Description')), + ('comment', models.TextField(blank=True, null=True, verbose_name='Comment')), + ('special_interest', models.CharField(blank=True, max_length=120, null=True, verbose_name='Special interest')), + ('discovery_date', models.DateField(blank=True, null=True, verbose_name='Discovery date (exact or TPQ)')), + ('discovery_date_taq', models.DateField(blank=True, null=True, verbose_name='Discovery date (TAQ)')), + ('index', models.IntegerField(default=0, verbose_name='Index')), + ('material_index', models.IntegerField(default=0, verbose_name='Material index')), + ('topographic_localisation', models.CharField(blank=True, max_length=120, null=True, verbose_name='Point of topographic reference')), + ('line', django.contrib.gis.db.models.fields.LineStringField(blank=True, null=True, srid=4326, verbose_name='Line')), + ('cache_short_id', models.TextField(blank=True, db_index=True, help_text='Cached value - do not edit', null=True, verbose_name='Short ID')), + ('cache_complete_id', models.TextField(blank=True, db_index=True, help_text='Cached value - do not edit', null=True, verbose_name='Complete ID')), + ('history_id', models.AutoField(primary_key=True, serialize=False)), + ('history_date', models.DateTimeField()), + ('history_type', models.CharField(choices=[('+', 'Created'), ('~', 'Changed'), ('-', 'Deleted')], max_length=1)), + ], + options={ + 'verbose_name': 'historical Base find', + 'ordering': ('-history_date', '-history_id'), + 'get_latest_by': 'history_date', + }, + ), + migrations.CreateModel( + name='HistoricalFind', + fields=[ + ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')), + ('data', django.contrib.postgres.fields.jsonb.JSONField(blank=True, default={})), + ('search_vector', django.contrib.postgres.search.SearchVectorField(blank=True, help_text='Auto filled at save', null=True, verbose_name='Search vector')), + ('qrcode', models.TextField(blank=True, max_length=255, null=True)), + ('last_modified', models.DateTimeField(blank=True, editable=False)), + ('history_m2m', django.contrib.postgres.fields.jsonb.JSONField(blank=True, default={})), + ('need_update', models.BooleanField(default=False, verbose_name='Need update')), + ('locked', models.BooleanField(default=False, verbose_name='Item locked for edition')), + ('uuid', models.UUIDField(default=uuid.uuid4)), + ('external_id', models.TextField(blank=True, null=True, verbose_name='External ID')), + ('auto_external_id', models.BooleanField(default=False, verbose_name='External ID is set automatically')), + ('seal_number', models.TextField(blank=True, null=True, verbose_name='Seal number')), + ('order', models.IntegerField(default=1, verbose_name='Order')), + ('label', models.TextField(verbose_name='Free ID')), + ('denomination', models.TextField(blank=True, null=True, verbose_name='Denomination')), + ('museum_id', models.TextField(blank=True, null=True, verbose_name='Museum ID')), + ('laboratory_id', models.TextField(blank=True, null=True, verbose_name='Laboratory ID')), + ('description', models.TextField(blank=True, null=True, verbose_name='Description')), + ('decoration', models.TextField(blank=True, null=True, verbose_name='Decoration')), + ('inscription', models.TextField(blank=True, null=True, verbose_name='Inscription')), + ('manufacturing_place', models.TextField(blank=True, null=True, verbose_name='Manufacturing place')), + ('material_comment', models.TextField(blank=True, null=True, verbose_name='Comment on the material')), + ('volume', models.FloatField(blank=True, null=True, verbose_name='Volume (l)')), + ('weight', models.FloatField(blank=True, null=True, verbose_name='Weight')), + ('weight_unit', models.CharField(blank=True, choices=[('g', 'g'), ('kg', 'kg')], max_length=4, null=True, verbose_name='Weight unit')), + ('find_number', models.IntegerField(blank=True, null=True, verbose_name='Find number')), + ('is_complete', models.NullBooleanField(verbose_name='Is complete?')), + ('min_number_of_individuals', models.IntegerField(blank=True, null=True, verbose_name='Minimum number of individuals (MNI)')), + ('length', models.FloatField(blank=True, null=True, verbose_name='Length (cm)')), + ('width', models.FloatField(blank=True, null=True, verbose_name='Width (cm)')), + ('height', models.FloatField(blank=True, null=True, verbose_name='Height (cm)')), + ('diameter', models.FloatField(blank=True, null=True, verbose_name='Diameter (cm)')), + ('circumference', models.FloatField(blank=True, null=True, verbose_name='Circumference (cm)')), + ('thickness', models.FloatField(blank=True, null=True, verbose_name='Thickness (cm)')), + ('clutter_long_side', models.FloatField(blank=True, null=True, verbose_name='Clutter - long side (cm)')), + ('clutter_short_side', models.FloatField(blank=True, null=True, verbose_name='Clutter - short side (cm)')), + ('clutter_height', models.FloatField(blank=True, null=True, verbose_name='Clutter - height (cm)')), + ('dimensions_comment', models.TextField(blank=True, null=True, verbose_name='Dimensions comment')), + ('mark', models.TextField(blank=True, null=True, verbose_name='Mark')), + ('comment', models.TextField(blank=True, null=True, verbose_name='Comment')), + ('dating_comment', models.TextField(blank=True, null=True, verbose_name='Comment on dating')), + ('previous_id', models.TextField(blank=True, null=True, verbose_name='Previous ID')), + ('index', models.IntegerField(default=0, verbose_name='Index')), + ('check_date', models.DateField(default=datetime.date.today, verbose_name='Check date')), + ('estimated_value', models.FloatField(blank=True, null=True, verbose_name='Estimated value')), + ('conservatory_comment', models.TextField(blank=True, null=True, verbose_name='Conservatory comment')), + ('insurance_value', models.FloatField(blank=True, null=True, verbose_name='Insurance value')), + ('appraisal_date', models.DateField(blank=True, null=True, verbose_name='Appraisal date')), + ('public_description', models.TextField(blank=True, null=True, verbose_name='Public description')), + ('cached_label', models.TextField(blank=True, db_index=True, null=True, verbose_name='Cached name')), + ('cached_periods', models.TextField(blank=True, help_text='Generated automatically - do not edit', null=True, verbose_name='Cached periods label')), + ('cached_object_types', models.TextField(blank=True, help_text='Generated automatically - do not edit', null=True, verbose_name='Cached object types label')), + ('cached_materials', models.TextField(blank=True, help_text='Generated automatically - do not edit', null=True, verbose_name='Cached material types label')), + ('history_id', models.AutoField(primary_key=True, serialize=False)), + ('history_date', models.DateTimeField()), + ('history_type', models.CharField(choices=[('+', 'Created'), ('~', 'Changed'), ('-', 'Deleted')], max_length=1)), + ], + options={ + 'verbose_name': 'historical Find', + 'ordering': ('-history_date', '-history_id'), + 'get_latest_by': 'history_date', + }, + ), + migrations.CreateModel( + name='HistoricalTreatment', + fields=[ + ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')), + ('image', models.TextField(blank=True, help_text='La taille maximale supportée pour le fichier est de 100 Mo.', max_length=255, null=True)), + ('thumbnail', models.TextField(blank=True, help_text='La taille maximale supportée pour le fichier est de 100 Mo.', max_length=255, null=True)), + ('data', django.contrib.postgres.fields.jsonb.JSONField(blank=True, default={})), + ('search_vector', django.contrib.postgres.search.SearchVectorField(blank=True, help_text='Auto filled at save', null=True, verbose_name='Search vector')), + ('last_modified', models.DateTimeField(blank=True, editable=False)), + ('history_m2m', django.contrib.postgres.fields.jsonb.JSONField(blank=True, default={})), + ('need_update', models.BooleanField(default=False, verbose_name='Need update')), + ('locked', models.BooleanField(default=False, verbose_name='Item locked for edition')), + ('label', models.CharField(blank=True, max_length=200, null=True, verbose_name='Label')), + ('other_reference', models.CharField(blank=True, max_length=200, null=True, verbose_name='Other ref.')), + ('year', models.IntegerField(default=ishtar_common.utils.get_current_year, verbose_name='Year')), + ('index', models.IntegerField(default=1, verbose_name='Index')), + ('executed', models.BooleanField(default=False, verbose_name='Treatment have been executed')), + ('external_id', models.CharField(blank=True, max_length=200, null=True, verbose_name='External ID')), + ('comment', models.TextField(blank=True, null=True, verbose_name='Comment')), + ('description', models.TextField(blank=True, null=True, verbose_name='Description')), + ('goal', models.TextField(blank=True, null=True, verbose_name='Goal')), + ('start_date', models.DateField(blank=True, null=True, verbose_name='Start date')), + ('end_date', models.DateField(blank=True, null=True, verbose_name='Closing date')), + ('creation_date', models.DateTimeField(default=datetime.datetime.now)), + ('estimated_cost', models.FloatField(blank=True, null=True, verbose_name='Estimated cost')), + ('quoted_cost', models.FloatField(blank=True, null=True, verbose_name='Quoted cost')), + ('realized_cost', models.FloatField(blank=True, null=True, verbose_name='Realized cost')), + ('insurance_cost', models.FloatField(blank=True, null=True, verbose_name='Insurance cost')), + ('cached_label', models.TextField(blank=True, db_index=True, null=True, verbose_name='Cached name')), + ('history_id', models.AutoField(primary_key=True, serialize=False)), + ('history_date', models.DateTimeField()), + ('history_type', models.CharField(choices=[('+', 'Created'), ('~', 'Changed'), ('-', 'Deleted')], max_length=1)), + ], + options={ + 'verbose_name': 'historical Treatment', + 'ordering': ('-history_date', '-history_id'), + 'get_latest_by': 'history_date', + }, + ), + migrations.CreateModel( + name='HistoricalTreatmentFile', + fields=[ + ('id', models.IntegerField(auto_created=True, blank=True, db_index=True, verbose_name='ID')), + ('data', django.contrib.postgres.fields.jsonb.JSONField(blank=True, default={})), + ('search_vector', django.contrib.postgres.search.SearchVectorField(blank=True, help_text='Auto filled at save', null=True, verbose_name='Search vector')), + ('last_modified', models.DateTimeField(blank=True, editable=False)), + ('history_m2m', django.contrib.postgres.fields.jsonb.JSONField(blank=True, default={})), + ('need_update', models.BooleanField(default=False, verbose_name='Need update')), + ('locked', models.BooleanField(default=False, verbose_name='Item locked for edition')), + ('year', models.IntegerField(default=ishtar_common.utils.get_current_year, verbose_name='Year')), + ('index', models.IntegerField(default=1, verbose_name='Index')), + ('internal_reference', models.CharField(blank=True, max_length=200, null=True, verbose_name='Internal reference')), + ('external_id', models.CharField(blank=True, max_length=200, null=True, verbose_name='External ID')), + ('name', models.TextField(blank=True, null=True, verbose_name='Name')), + ('end_date', models.DateField(blank=True, null=True, verbose_name='Closing date')), + ('creation_date', models.DateField(blank=True, default=datetime.date.today, null=True, verbose_name='Creation date')), + ('reception_date', models.DateField(blank=True, null=True, verbose_name='Reception date')), + ('exhibition_name', models.TextField(blank=True, null=True, verbose_name='Exhibition name')), + ('exhibition_start_date', models.DateField(blank=True, null=True, verbose_name='Exhibition start date')), + ('exhibition_end_date', models.DateField(blank=True, null=True, verbose_name='Exhibition end date')), + ('comment', models.TextField(blank=True, null=True, verbose_name='Comment')), + ('cached_label', models.TextField(blank=True, db_index=True, null=True, verbose_name='Cached name')), + ('history_id', models.AutoField(primary_key=True, serialize=False)), + ('history_date', models.DateTimeField()), + ('history_type', models.CharField(choices=[('+', 'Created'), ('~', 'Changed'), ('-', 'Deleted')], max_length=1)), + ], + options={ + 'verbose_name': 'historical Treatment request', + 'ordering': ('-history_date', '-history_id'), + 'get_latest_by': 'history_date', + }, + ), + migrations.CreateModel( + name='IntegrityType', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('label', models.TextField(verbose_name='Label')), + ('txt_idx', models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z', 32), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID')), + ('comment', models.TextField(blank=True, null=True, verbose_name='Comment')), + ('available', models.BooleanField(default=True, verbose_name='Available')), + ], + options={ + 'verbose_name': 'Integrity / interest type', + 'verbose_name_plural': 'Integrity / interest types', + 'ordering': ('label',), + }, + bases=(ishtar_common.models.Cached, models.Model), + ), + migrations.CreateModel( + name='MaterialType', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('label', models.TextField(verbose_name='Label')), + ('txt_idx', models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z', 32), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID')), + ('comment', models.TextField(blank=True, null=True, verbose_name='Comment')), + ('available', models.BooleanField(default=True, verbose_name='Available')), + ('code', models.CharField(blank=True, max_length=10, null=True, verbose_name='Code')), + ('recommendation', models.TextField(blank=True, null=True, verbose_name='Recommendation')), + ], + options={ + 'verbose_name': 'Material type', + 'verbose_name_plural': 'Material types', + 'ordering': ('label',), + }, + bases=(ishtar_common.models.Cached, models.Model), + ), + migrations.CreateModel( + name='MaterialTypeQualityType', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('label', models.TextField(verbose_name='Label')), + ('txt_idx', models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z', 32), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID')), + ('comment', models.TextField(blank=True, null=True, verbose_name='Comment')), + ('available', models.BooleanField(default=True, verbose_name='Available')), + ('order', models.IntegerField(default=10, verbose_name='Order')), + ], + options={ + 'verbose_name': 'Material type quality type', + 'verbose_name_plural': 'Material type quality types', + 'ordering': ('order',), + }, + bases=(ishtar_common.models.Cached, models.Model), + ), + migrations.CreateModel( + name='ObjectType', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('label', models.TextField(verbose_name='Label')), + ('txt_idx', models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z', 32), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID')), + ('comment', models.TextField(blank=True, null=True, verbose_name='Comment')), + ('available', models.BooleanField(default=True, verbose_name='Available')), + ], + options={ + 'verbose_name': 'Object type', + 'verbose_name_plural': 'Object types', + 'ordering': ('parent__label', 'label'), + }, + bases=(ishtar_common.models.Cached, models.Model), + ), + migrations.CreateModel( + name='ObjectTypeQualityType', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('label', models.TextField(verbose_name='Label')), + ('txt_idx', models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z', 32), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID')), + ('comment', models.TextField(blank=True, null=True, verbose_name='Comment')), + ('available', models.BooleanField(default=True, verbose_name='Available')), + ('order', models.IntegerField(default=10, verbose_name='Order')), + ], + options={ + 'verbose_name': 'Object type quality type', + 'verbose_name_plural': 'Object type quality types', + 'ordering': ('order',), + }, + bases=(ishtar_common.models.Cached, models.Model), + ), + migrations.CreateModel( + name='Property', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('data', django.contrib.postgres.fields.jsonb.JSONField(blank=True, default={})), + ('search_vector', django.contrib.postgres.search.SearchVectorField(blank=True, help_text='Auto filled at save', null=True, verbose_name='Search vector')), + ('last_modified', models.DateTimeField(auto_now=True)), + ('history_m2m', django.contrib.postgres.fields.jsonb.JSONField(blank=True, default={})), + ('need_update', models.BooleanField(default=False, verbose_name='Need update')), + ('locked', models.BooleanField(default=False, verbose_name='Item locked for edition')), + ('history_date', models.DateTimeField(default=datetime.datetime.now)), + ('start_date', models.DateField(verbose_name='Start date')), + ('end_date', models.DateField(verbose_name='End date')), + ], + options={ + 'verbose_name': 'Property', + 'verbose_name_plural': 'Properties', + }, + bases=(ishtar_common.models.StatisticItem, ishtar_common.models.TemplateItem, models.Model, ishtar_common.models.CachedGen, ishtar_common.models.FixAssociated, ishtar_common.models.CascasdeUpdate), + ), + migrations.CreateModel( + name='RemarkabilityType', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('label', models.TextField(verbose_name='Label')), + ('txt_idx', models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z', 32), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID')), + ('comment', models.TextField(blank=True, null=True, verbose_name='Comment')), + ('available', models.BooleanField(default=True, verbose_name='Available')), + ], + options={ + 'verbose_name': 'Remarkability type', + 'verbose_name_plural': 'Remarkability types', + 'ordering': ('label',), + }, + bases=(ishtar_common.models.Cached, models.Model), + ), + migrations.CreateModel( + name='Treatment', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('image', models.ImageField(blank=True, help_text='La taille maximale supportée pour le fichier est de 100 Mo.', max_length=255, null=True, upload_to=ishtar_common.models.get_image_path)), + ('thumbnail', models.ImageField(blank=True, help_text='La taille maximale supportée pour le fichier est de 100 Mo.', max_length=255, null=True, upload_to=ishtar_common.models.get_image_path)), + ('data', django.contrib.postgres.fields.jsonb.JSONField(blank=True, default={})), + ('search_vector', django.contrib.postgres.search.SearchVectorField(blank=True, help_text='Auto filled at save', null=True, verbose_name='Search vector')), + ('last_modified', models.DateTimeField(auto_now=True)), + ('history_m2m', django.contrib.postgres.fields.jsonb.JSONField(blank=True, default={})), + ('need_update', models.BooleanField(default=False, verbose_name='Need update')), + ('locked', models.BooleanField(default=False, verbose_name='Item locked for edition')), + ('label', models.CharField(blank=True, max_length=200, null=True, verbose_name='Label')), + ('other_reference', models.CharField(blank=True, max_length=200, null=True, verbose_name='Other ref.')), + ('year', models.IntegerField(default=ishtar_common.utils.get_current_year, verbose_name='Year')), + ('index', models.IntegerField(default=1, verbose_name='Index')), + ('executed', models.BooleanField(default=False, verbose_name='Treatment have been executed')), + ('external_id', models.CharField(blank=True, max_length=200, null=True, verbose_name='External ID')), + ('comment', models.TextField(blank=True, null=True, verbose_name='Comment')), + ('description', models.TextField(blank=True, null=True, verbose_name='Description')), + ('goal', models.TextField(blank=True, null=True, verbose_name='Goal')), + ('start_date', models.DateField(blank=True, null=True, verbose_name='Start date')), + ('end_date', models.DateField(blank=True, null=True, verbose_name='Closing date')), + ('creation_date', models.DateTimeField(default=datetime.datetime.now)), + ('estimated_cost', models.FloatField(blank=True, null=True, verbose_name='Estimated cost')), + ('quoted_cost', models.FloatField(blank=True, null=True, verbose_name='Quoted cost')), + ('realized_cost', models.FloatField(blank=True, null=True, verbose_name='Realized cost')), + ('insurance_cost', models.FloatField(blank=True, null=True, verbose_name='Insurance cost')), + ('cached_label', models.TextField(blank=True, db_index=True, null=True, verbose_name='Cached name')), + ], + options={ + 'verbose_name': 'Treatment', + 'verbose_name_plural': 'Treatments', + 'ordering': ('-year', '-index', '-start_date'), + 'permissions': (('view_treatment', 'Can view all Treatments'), ('view_own_treatment', 'Can view own Treatment'), ('add_own_treatment', 'Can add own Treatment'), ('change_own_treatment', 'Can change own Treatment'), ('delete_own_treatment', 'Can delete own Treatment')), + }, + bases=(ishtar_common.models.DashboardFormItem, ishtar_common.models.ValueGetter, ishtar_common.models.DocumentItem, ishtar_common.models.StatisticItem, ishtar_common.models.TemplateItem, models.Model, ishtar_common.models.CachedGen, ishtar_common.models.FixAssociated, ishtar_common.models.CascasdeUpdate, ishtar_common.models.ImageContainerModel, ishtar_common.models.OwnPerms, ishtar_common.models.ShortMenuItem), + ), + migrations.CreateModel( + name='TreatmentEmergencyType', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('label', models.TextField(verbose_name='Label')), + ('txt_idx', models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z', 32), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID')), + ('comment', models.TextField(blank=True, null=True, verbose_name='Comment')), + ('available', models.BooleanField(default=True, verbose_name='Available')), + ], + options={ + 'verbose_name': 'Treatment emergency type', + 'verbose_name_plural': 'Treatment emergency types', + 'ordering': ('label',), + }, + bases=(ishtar_common.models.Cached, models.Model), + ), + migrations.CreateModel( + name='TreatmentFile', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('data', django.contrib.postgres.fields.jsonb.JSONField(blank=True, default={})), + ('search_vector', django.contrib.postgres.search.SearchVectorField(blank=True, help_text='Auto filled at save', null=True, verbose_name='Search vector')), + ('last_modified', models.DateTimeField(auto_now=True)), + ('history_m2m', django.contrib.postgres.fields.jsonb.JSONField(blank=True, default={})), + ('need_update', models.BooleanField(default=False, verbose_name='Need update')), + ('locked', models.BooleanField(default=False, verbose_name='Item locked for edition')), + ('year', models.IntegerField(default=ishtar_common.utils.get_current_year, verbose_name='Year')), + ('index', models.IntegerField(default=1, verbose_name='Index')), + ('internal_reference', models.CharField(blank=True, max_length=200, null=True, verbose_name='Internal reference')), + ('external_id', models.CharField(blank=True, max_length=200, null=True, verbose_name='External ID')), + ('name', models.TextField(blank=True, null=True, verbose_name='Name')), + ('end_date', models.DateField(blank=True, null=True, verbose_name='Closing date')), + ('creation_date', models.DateField(blank=True, default=datetime.date.today, null=True, verbose_name='Creation date')), + ('reception_date', models.DateField(blank=True, null=True, verbose_name='Reception date')), + ('exhibition_name', models.TextField(blank=True, null=True, verbose_name='Exhibition name')), + ('exhibition_start_date', models.DateField(blank=True, null=True, verbose_name='Exhibition start date')), + ('exhibition_end_date', models.DateField(blank=True, null=True, verbose_name='Exhibition end date')), + ('comment', models.TextField(blank=True, null=True, verbose_name='Comment')), + ('cached_label', models.TextField(blank=True, db_index=True, null=True, verbose_name='Cached name')), + ('applicant', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='treatmentfile_applicant', to='ishtar_common.Person', verbose_name='Applicant')), + ('applicant_organisation', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='treatmentfile_applicant', to='ishtar_common.Organization', verbose_name='Applicant organisation')), + ('associated_basket', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='treatment_files', to='archaeological_finds.FindBasket')), + ('documents', models.ManyToManyField(blank=True, related_name='treatment_files', to='ishtar_common.Document', verbose_name='Documents')), + ('history_creator', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL, verbose_name='Creator')), + ('history_modifier', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL, verbose_name='Last editor')), + ('imports', models.ManyToManyField(blank=True, related_name='imported_archaeological_finds_treatmentfile', to='ishtar_common.Import')), + ('in_charge', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='treatmentfile_responsability', to='ishtar_common.Person', verbose_name='Person in charge')), + ('lock_user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL, verbose_name='Locked by')), + ('main_image', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='main_image_treatment_files', to='ishtar_common.Document', verbose_name='Main image')), + ], + options={ + 'verbose_name': 'Treatment request', + 'verbose_name_plural': 'Treatment requests', + 'ordering': ('cached_label',), + 'permissions': (('view_treatmentfile', 'Can view all Treatment requests'), ('view_own_treatmentfile', 'Can view own Treatment request'), ('add_own_treatmentfile', 'Can add own Treatment request'), ('change_own_treatmentfile', 'Can change own Treatment request'), ('delete_own_treatmentfile', 'Can delete own Treatment request')), + }, + bases=(ishtar_common.models.DashboardFormItem, archaeological_operations.models.ClosedItem, ishtar_common.models.DocumentItem, ishtar_common.models.StatisticItem, ishtar_common.models.TemplateItem, models.Model, ishtar_common.models.CachedGen, ishtar_common.models.FixAssociated, ishtar_common.models.CascasdeUpdate, ishtar_common.models.OwnPerms, ishtar_common.models.ValueGetter, ishtar_common.models.ShortMenuItem), + ), + migrations.CreateModel( + name='TreatmentFileType', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('label', models.TextField(verbose_name='Label')), + ('txt_idx', models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z', 32), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID')), + ('comment', models.TextField(blank=True, null=True, verbose_name='Comment')), + ('available', models.BooleanField(default=True, verbose_name='Available')), + ], + options={ + 'verbose_name': 'Treatment request type', + 'verbose_name_plural': 'Treatment request types', + 'ordering': ('label',), + }, + bases=(ishtar_common.models.Cached, models.Model), + ), + migrations.CreateModel( + name='TreatmentState', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('label', models.TextField(verbose_name='Label')), + ('txt_idx', models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z', 32), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID')), + ('comment', models.TextField(blank=True, null=True, verbose_name='Comment')), + ('available', models.BooleanField(default=True, verbose_name='Available')), + ('executed', models.BooleanField(default=False, verbose_name='Treatment is executed')), + ('order', models.IntegerField(default=10, verbose_name='Order')), + ], + options={ + 'verbose_name': 'Treatment state type', + 'verbose_name_plural': 'Treatment state types', + 'ordering': ('order', 'label'), + }, + bases=(ishtar_common.models.Cached, models.Model), + ), + migrations.CreateModel( + name='TreatmentType', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('label', models.TextField(verbose_name='Label')), + ('txt_idx', models.TextField(help_text='The slug is the standardized version of the name. It contains only lowercase letters, numbers and hyphens. Each slug must be unique.', unique=True, validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+\\Z', 32), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID')), + ('comment', models.TextField(blank=True, null=True, verbose_name='Comment')), + ('available', models.BooleanField(default=True, verbose_name='Available')), + ('order', models.IntegerField(default=10, verbose_name='Order')), + ('virtual', models.BooleanField(verbose_name='Virtual')), + ('destructive', models.BooleanField(default=False, verbose_name='Destructive')), + ('create_new_find', models.BooleanField(default=False, help_text='If True when this treatment is applied a new version of the object will be created.', verbose_name='Create a new find')), + ('upstream_is_many', models.BooleanField(default=False, help_text="Check this if for this treatment from many finds you'll get one.", verbose_name='Upstream is many')), + ('downstream_is_many', models.BooleanField(default=False, help_text="Check this if for this treatment from one find you'll get many.", verbose_name='Downstream is many')), + ('change_reference_location', models.BooleanField(default=False, help_text='The treatment change the reference location.', verbose_name='Change reference location')), + ('change_current_location', models.BooleanField(default=False, help_text='The treatment change the current location.', verbose_name='Change current location')), + ('restore_reference_location', models.BooleanField(default=False, help_text='The treatment change restore reference location to the current location.', verbose_name='Restore the reference location')), + ('parent', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='archaeological_finds.TreatmentType', verbose_name='Parent')), + ], + options={ + 'verbose_name': 'Treatment type', + 'verbose_name_plural': 'Treatment types', + 'ordering': ('order', 'label'), + }, + bases=(ishtar_common.models.Cached, models.Model), + ), + migrations.CreateModel( + name='FindDownstreamTreatments', + fields=[ + ('treatment', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, primary_key=True, serialize=False, to='archaeological_finds.Treatment', verbose_name='Treatment')), + ('treatment_nb', models.IntegerField(verbose_name='Order')), + ], + options={ + 'db_table': 'find_downtreatments', + 'ordering': ('find', '-treatment_nb'), + 'managed': False, + }, + ), + migrations.CreateModel( + name='FindNonModifTreatments', + fields=[ + ('treatment', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, primary_key=True, serialize=False, to='archaeological_finds.Treatment', verbose_name='Treatment')), + ('treatment_nb', models.IntegerField(verbose_name='Order')), + ], + options={ + 'db_table': 'find_nonmodif_treatments', + 'ordering': ('find', '-treatment_nb'), + 'managed': False, + }, + ), + migrations.CreateModel( + name='FindTreatments', + fields=[ + ('treatment', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, primary_key=True, serialize=False, to='archaeological_finds.Treatment', verbose_name='Treatment')), + ('treatment_nb', models.IntegerField(verbose_name='Order')), + ('upstream', models.BooleanField(verbose_name='Is upstream')), + ], + options={ + 'db_table': 'find_treatments', + 'ordering': ('find', 'upstream', '-treatment_nb'), + 'managed': False, + }, + ), + migrations.CreateModel( + name='FindUpstreamTreatments', + fields=[ + ('treatment', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, primary_key=True, serialize=False, to='archaeological_finds.Treatment', verbose_name='Treatment')), + ('treatment_nb', models.IntegerField(verbose_name='Order')), + ], + options={ + 'db_table': 'find_uptreatments', + 'ordering': ('find', '-treatment_nb'), + 'managed': False, + }, + ), + migrations.AddField( + model_name='treatmentfiletype', + name='treatment_type', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='archaeological_finds.TreatmentType'), + ), + migrations.AddField( + model_name='treatmentfile', + name='type', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='archaeological_finds.TreatmentFileType', verbose_name='Treatment request type'), + ), + ] |