# -*- coding: utf-8 -*- from __future__ import unicode_literals from django.db import models, migrations import datetime import re import django.contrib.gis.db.models.fields import archaeological_operations.models import ishtar_common.utils import ishtar_common.models import django.core.validators class Migration(migrations.Migration): dependencies = [ ] operations = [ migrations.CreateModel( name='BaseFind', fields=[ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), ('label', models.TextField(verbose_name='Free ID')), ('external_id', models.TextField(null=True, verbose_name='External ID', blank=True)), ('auto_external_id', models.BooleanField(default=False, verbose_name='External ID is set automatically')), ('description', models.TextField(null=True, verbose_name='Description', blank=True)), ('comment', models.TextField(null=True, verbose_name='Comment', blank=True)), ('special_interest', models.CharField(max_length=120, null=True, verbose_name='Special interest', blank=True)), ('discovery_date', models.DateField(null=True, verbose_name='Discovery date', blank=True)), ('index', models.IntegerField(default=0, verbose_name='Index')), ('material_index', models.IntegerField(default=0, verbose_name='Material index')), ('topographic_localisation', models.CharField(max_length=120, null=True, verbose_name='Point of topographic reference', blank=True)), ('x', models.FloatField(null=True, verbose_name='X', blank=True)), ('y', models.FloatField(null=True, verbose_name='Y', blank=True)), ('z', models.FloatField(null=True, verbose_name='Z', blank=True)), ('estimated_error_x', models.FloatField(null=True, verbose_name='Estimated error for X', blank=True)), ('estimated_error_y', models.FloatField(null=True, verbose_name='Estimated error for Y', blank=True)), ('estimated_error_z', models.FloatField(null=True, verbose_name='Estimated error for Z', blank=True)), ('point_2d', django.contrib.gis.db.models.fields.PointField(srid=4326, null=True, verbose_name='Point (2D)', blank=True)), ('point', django.contrib.gis.db.models.fields.PointField(srid=4326, dim=3, null=True, verbose_name='Point', blank=True)), ('line', django.contrib.gis.db.models.fields.LineStringField(srid=4326, null=True, verbose_name='Line', blank=True)), ('polygon', django.contrib.gis.db.models.fields.PolygonField(srid=4326, null=True, verbose_name='Polygon', blank=True)), ('cache_short_id', models.TextField(help_text='Cached value - do not edit', null=True, verbose_name='Short ID', blank=True)), ('cache_complete_id', models.TextField(help_text='Cached value - do not edit', null=True, verbose_name='Complete ID', blank=True)), ], options={ 'verbose_name': 'Base find', 'verbose_name_plural': 'Base finds', 'permissions': (('view_basefind', 'Peut voir tout le Mobilier de base'), ('view_own_basefind', 'Peut voir son propre Mobilier de base'), ('add_own_basefind', 'Peut ajouter son propre Mobilier de base'), ('change_own_basefind', 'Peut modifier son propre Mobilier de base'), ('delete_own_basefind', 'Peut supprimer son propre Mobilier de base')), }, bases=(models.Model, ishtar_common.models.OwnPerms), ), migrations.CreateModel( name='BatchType', fields=[ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), ('label', models.CharField(max_length=100, verbose_name='Label')), ('txt_idx', models.CharField(unique=True, max_length=100, verbose_name='Textual ID', validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+$'), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')])), ('comment', models.TextField(null=True, verbose_name='Comment', blank=True)), ('available', models.BooleanField(default=True, verbose_name='Available')), ('order', models.IntegerField(default=10, verbose_name='Order')), ], options={ 'ordering': ('order',), 'verbose_name': 'Batch type', 'verbose_name_plural': 'Batch types', }, bases=(ishtar_common.models.Cached, models.Model), ), migrations.CreateModel( name='ConservatoryState', fields=[ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), ('label', models.CharField(max_length=100, verbose_name='Label')), ('txt_idx', models.CharField(unique=True, max_length=100, verbose_name='Textual ID', validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+$'), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')])), ('comment', models.TextField(null=True, verbose_name='Comment', blank=True)), ('available', models.BooleanField(default=True, verbose_name='Available')), ], options={ 'ordering': ('label',), 'verbose_name': 'Conservatory state', 'verbose_name_plural': 'Conservatory states', }, bases=(ishtar_common.models.Cached, models.Model), ), migrations.CreateModel( name='Find', fields=[ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), ('image', models.ImageField(max_length=255, null=True, upload_to=b'upload/', blank=True)), ('thumbnail', models.ImageField(max_length=255, null=True, upload_to=b'upload/thumbs/', blank=True)), ('external_id', models.TextField(null=True, verbose_name='External ID', blank=True)), ('auto_external_id', models.BooleanField(default=False, verbose_name='External ID is set automatically')), ('order', models.IntegerField(default=1, verbose_name='Order')), ('label', models.TextField(verbose_name='Free ID')), ('description', models.TextField(null=True, verbose_name='Description', blank=True)), ('conservatory_comment', models.TextField(null=True, verbose_name='Conservatory comment', blank=True)), ('volume', models.FloatField(null=True, verbose_name='Volume (l)', blank=True)), ('weight', models.FloatField(null=True, verbose_name='Weight (g)', blank=True)), ('weight_unit', models.CharField(blank=True, max_length=4, null=True, verbose_name='Weight unit', choices=[(b'g', 'g'), (b'kg', 'kg')])), ('find_number', models.IntegerField(null=True, verbose_name='Find number', blank=True)), ('is_complete', models.NullBooleanField(verbose_name='Is complete?')), ('min_number_of_individuals', models.IntegerField(null=True, verbose_name='Minimum number of individuals (MNI)', blank=True)), ('length', models.FloatField(null=True, verbose_name='Length (cm)', blank=True)), ('width', models.FloatField(null=True, verbose_name='Width (cm)', blank=True)), ('height', models.FloatField(null=True, verbose_name='Height (cm)', blank=True)), ('diameter', models.FloatField(null=True, verbose_name='Diameter (cm)', blank=True)), ('thickness', models.FloatField(null=True, verbose_name='Thickness (cm)', blank=True)), ('dimensions_comment', models.TextField(null=True, verbose_name='Dimensions comment', blank=True)), ('mark', models.TextField(null=True, verbose_name='Mark', blank=True)), ('comment', models.TextField(null=True, verbose_name='Comment', blank=True)), ('dating_comment', models.TextField(null=True, verbose_name='Comment on dating', blank=True)), ('previous_id', models.TextField(null=True, verbose_name='Previous ID', blank=True)), ('index', models.IntegerField(default=0, verbose_name='Index')), ('checked', models.CharField(default=b'NC', max_length=2, verbose_name='Check', choices=[(b'NC', 'Not checked'), (b'CI', 'Checked but incorrect'), (b'CC', 'Checked and correct')])), ('check_date', models.DateField(default=datetime.date.today, verbose_name='Check date')), ('estimated_value', models.FloatField(null=True, verbose_name='Estimated value', blank=True)), ('cached_label', models.TextField(null=True, verbose_name='Cached name', blank=True)), ], options={ 'ordering': ('cached_label',), 'verbose_name': 'Find', 'verbose_name_plural': 'Finds', 'permissions': (('view_find', 'Peut voir tout le Mobilier'), ('view_own_find', 'Peut voir son propre Mobilier'), ('add_own_find', 'Peut ajouter son propre Mobilier'), ('change_own_find', 'Peut modifier son propre Mobilier'), ('delete_own_find', 'Peut supprimer son propre Mobilier')), }, bases=(ishtar_common.models.ValueGetter, models.Model, ishtar_common.models.OwnPerms, ishtar_common.models.ShortMenuItem), ), migrations.CreateModel( name='FindBasket', fields=[ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), ('label', models.CharField(max_length=1000, verbose_name='Label')), ('comment', models.TextField(null=True, verbose_name='Comment', blank=True)), ('available', models.BooleanField(default=True, verbose_name='Available')), ], options={ 'abstract': False, }, ), migrations.CreateModel( name='FindSource', fields=[ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), ('image', models.ImageField(max_length=255, null=True, upload_to=b'upload/', blank=True)), ('thumbnail', models.ImageField(max_length=255, null=True, upload_to=b'upload/thumbs/', blank=True)), ('title', models.CharField(max_length=300, verbose_name='Title')), ('external_id', models.TextField(max_length=300, null=True, verbose_name='External ID', blank=True)), ('scale', models.CharField(max_length=30, null=True, verbose_name='Scale', blank=True)), ('associated_url', models.URLField(null=True, verbose_name='Numerical ressource (web address)', blank=True)), ('receipt_date', models.DateField(null=True, verbose_name='Receipt date', blank=True)), ('creation_date', models.DateField(null=True, verbose_name='Creation date', blank=True)), ('receipt_date_in_documentation', models.DateField(null=True, verbose_name='Receipt date in documentation', blank=True)), ('item_number', models.IntegerField(default=1, verbose_name='Item number')), ('reference', models.CharField(max_length=100, null=True, verbose_name='Ref.', blank=True)), ('internal_reference', models.CharField(max_length=100, null=True, verbose_name='Internal ref.', blank=True)), ('description', models.TextField(null=True, verbose_name='Description', blank=True)), ('comment', models.TextField(null=True, verbose_name='Comment', blank=True)), ('additional_information', models.TextField(null=True, verbose_name='Additional information', blank=True)), ('duplicate', models.BooleanField(default=False, verbose_name='Has a duplicate')), ], options={ 'verbose_name': 'Find documentation', 'verbose_name_plural': 'Find documentations', 'permissions': (('view_findsource', 'Can view all Find sources'), ('view_own_findsource', 'Can view own Find source'), ('add_own_findsource', 'Can add own Find source'), ('change_own_findsource', 'Can change own Find source'), ('delete_own_findsource', 'Can delete own Find source')), }, bases=(ishtar_common.models.OwnPerms, models.Model), ), migrations.CreateModel( name='HistoricalBaseFind', fields=[ ('id', models.IntegerField(verbose_name='ID', db_index=True, auto_created=True, blank=True)), ('label', models.TextField(verbose_name='Free ID')), ('external_id', models.TextField(null=True, verbose_name='External ID', blank=True)), ('auto_external_id', models.BooleanField(default=False, verbose_name='External ID is set automatically')), ('description', models.TextField(null=True, verbose_name='Description', blank=True)), ('comment', models.TextField(null=True, verbose_name='Comment', blank=True)), ('special_interest', models.CharField(max_length=120, null=True, verbose_name='Special interest', blank=True)), ('discovery_date', models.DateField(null=True, verbose_name='Discovery date', blank=True)), ('index', models.IntegerField(default=0, verbose_name='Index')), ('material_index', models.IntegerField(default=0, verbose_name='Material index')), ('topographic_localisation', models.CharField(max_length=120, null=True, verbose_name='Point of topographic reference', blank=True)), ('x', models.FloatField(null=True, verbose_name='X', blank=True)), ('y', models.FloatField(null=True, verbose_name='Y', blank=True)), ('z', models.FloatField(null=True, verbose_name='Z', blank=True)), ('estimated_error_x', models.FloatField(null=True, verbose_name='Estimated error for X', blank=True)), ('estimated_error_y', models.FloatField(null=True, verbose_name='Estimated error for Y', blank=True)), ('estimated_error_z', models.FloatField(null=True, verbose_name='Estimated error for Z', blank=True)), ('point_2d', django.contrib.gis.db.models.fields.PointField(srid=4326, null=True, verbose_name='Point (2D)', blank=True)), ('point', django.contrib.gis.db.models.fields.PointField(srid=4326, dim=3, null=True, verbose_name='Point', blank=True)), ('line', django.contrib.gis.db.models.fields.LineStringField(srid=4326, null=True, verbose_name='Line', blank=True)), ('polygon', django.contrib.gis.db.models.fields.PolygonField(srid=4326, null=True, verbose_name='Polygon', blank=True)), ('cache_short_id', models.TextField(help_text='Cached value - do not edit', null=True, verbose_name='Short ID', blank=True)), ('cache_complete_id', models.TextField(help_text='Cached value - do not edit', null=True, verbose_name='Complete ID', blank=True)), ('history_id', models.AutoField(serialize=False, primary_key=True)), ('history_date', models.DateTimeField()), ('history_type', models.CharField(max_length=1, choices=[('+', 'Created'), ('~', 'Changed'), ('-', 'Deleted')])), ], options={ 'ordering': ('-history_date', '-history_id'), 'get_latest_by': 'history_date', 'verbose_name': 'historical Base find', }, ), migrations.CreateModel( name='HistoricalFind', fields=[ ('id', models.IntegerField(verbose_name='ID', db_index=True, auto_created=True, blank=True)), ('image', models.TextField(max_length=255, null=True, blank=True)), ('thumbnail', models.TextField(max_length=255, null=True, blank=True)), ('external_id', models.TextField(null=True, verbose_name='External ID', blank=True)), ('auto_external_id', models.BooleanField(default=False, verbose_name='External ID is set automatically')), ('order', models.IntegerField(default=1, verbose_name='Order')), ('label', models.TextField(verbose_name='Free ID')), ('description', models.TextField(null=True, verbose_name='Description', blank=True)), ('conservatory_comment', models.TextField(null=True, verbose_name='Conservatory comment', blank=True)), ('volume', models.FloatField(null=True, verbose_name='Volume (l)', blank=True)), ('weight', models.FloatField(null=True, verbose_name='Weight (g)', blank=True)), ('weight_unit', models.CharField(blank=True, max_length=4, null=True, verbose_name='Weight unit', choices=[(b'g', 'g'), (b'kg', 'kg')])), ('find_number', models.IntegerField(null=True, verbose_name='Find number', blank=True)), ('is_complete', models.NullBooleanField(verbose_name='Is complete?')), ('min_number_of_individuals', models.IntegerField(null=True, verbose_name='Minimum number of individuals (MNI)', blank=True)), ('length', models.FloatField(null=True, verbose_name='Length (cm)', blank=True)), ('width', models.FloatField(null=True, verbose_name='Width (cm)', blank=True)), ('height', models.FloatField(null=True, verbose_name='Height (cm)', blank=True)), ('diameter', models.FloatField(null=True, verbose_name='Diameter (cm)', blank=True)), ('thickness', models.FloatField(null=True, verbose_name='Thickness (cm)', blank=True)), ('dimensions_comment', models.TextField(null=True, verbose_name='Dimensions comment', blank=True)), ('mark', models.TextField(null=True, verbose_name='Mark', blank=True)), ('comment', models.TextField(null=True, verbose_name='Comment', blank=True)), ('dating_comment', models.TextField(null=True, verbose_name='Comment on dating', blank=True)), ('previous_id', models.TextField(null=True, verbose_name='Previous ID', blank=True)), ('index', models.IntegerField(default=0, verbose_name='Index')), ('checked', models.CharField(default=b'NC', max_length=2, verbose_name='Check', choices=[(b'NC', 'Not checked'), (b'CI', 'Checked but incorrect'), (b'CC', 'Checked and correct')])), ('check_date', models.DateField(default=datetime.date.today, verbose_name='Check date')), ('estimated_value', models.FloatField(null=True, verbose_name='Estimated value', blank=True)), ('cached_label', models.TextField(null=True, verbose_name='Cached name', blank=True)), ('history_id', models.AutoField(serialize=False, primary_key=True)), ('history_date', models.DateTimeField()), ('history_type', models.CharField(max_length=1, choices=[('+', 'Created'), ('~', 'Changed'), ('-', 'Deleted')])), ], options={ 'ordering': ('-history_date', '-history_id'), 'get_latest_by': 'history_date', 'verbose_name': 'historical Find', }, ), migrations.CreateModel( name='HistoricalTreatment', fields=[ ('id', models.IntegerField(verbose_name='ID', db_index=True, auto_created=True, blank=True)), ('image', models.TextField(max_length=255, null=True, blank=True)), ('thumbnail', models.TextField(max_length=255, null=True, blank=True)), ('label', models.CharField(max_length=200, null=True, verbose_name='Label', blank=True)), ('other_reference', models.CharField(max_length=200, null=True, verbose_name='Other ref.', blank=True)), ('year', models.IntegerField(default=ishtar_common.utils.get_current_year, verbose_name='Year')), ('index', models.IntegerField(default=1, verbose_name='Index')), ('external_id', models.CharField(max_length=200, null=True, verbose_name='External ID', blank=True)), ('comment', models.TextField(null=True, verbose_name='Comment', blank=True)), ('description', models.TextField(null=True, verbose_name='Description', blank=True)), ('goal', models.TextField(null=True, verbose_name='Goal', blank=True)), ('start_date', models.DateField(null=True, verbose_name='Start date', blank=True)), ('end_date', models.DateField(null=True, verbose_name='Closing date', blank=True)), ('estimated_cost', models.FloatField(null=True, verbose_name='Estimated cost', blank=True)), ('quoted_cost', models.FloatField(null=True, verbose_name='Quoted cost', blank=True)), ('realized_cost', models.FloatField(null=True, verbose_name='Realized cost', blank=True)), ('insurance_cost', models.FloatField(null=True, verbose_name='Insurance cost', blank=True)), ('target_is_basket', models.BooleanField(default=False, verbose_name='Target a basket')), ('cached_label', models.TextField(null=True, verbose_name='Cached name', blank=True)), ('history_id', models.AutoField(serialize=False, primary_key=True)), ('history_date', models.DateTimeField()), ('history_type', models.CharField(max_length=1, choices=[('+', 'Created'), ('~', 'Changed'), ('-', 'Deleted')])), ], options={ 'ordering': ('-history_date', '-history_id'), 'get_latest_by': 'history_date', 'verbose_name': 'historical Treatment', }, ), migrations.CreateModel( name='HistoricalTreatmentFile', fields=[ ('id', models.IntegerField(verbose_name='ID', db_index=True, auto_created=True, blank=True)), ('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(max_length=200, null=True, verbose_name='Internal reference', blank=True)), ('external_id', models.CharField(max_length=200, null=True, verbose_name='External ID', blank=True)), ('name', models.TextField(null=True, verbose_name='Name', blank=True)), ('end_date', models.DateField(null=True, verbose_name='Closing date', blank=True)), ('creation_date', models.DateField(default=datetime.date.today, null=True, verbose_name='Creation date', blank=True)), ('reception_date', models.DateField(null=True, verbose_name='Reception date', blank=True)), ('comment', models.TextField(null=True, verbose_name='Comment', blank=True)), ('cached_label', models.TextField(null=True, verbose_name='Cached name', blank=True)), ('history_id', models.AutoField(serialize=False, primary_key=True)), ('history_date', models.DateTimeField()), ('history_type', models.CharField(max_length=1, choices=[('+', 'Created'), ('~', 'Changed'), ('-', 'Deleted')])), ], options={ 'ordering': ('-history_date', '-history_id'), 'get_latest_by': 'history_date', 'verbose_name': 'historical Treatment request', }, ), migrations.CreateModel( name='IntegrityType', fields=[ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), ('label', models.CharField(max_length=100, verbose_name='Label')), ('txt_idx', models.CharField(unique=True, max_length=100, verbose_name='Textual ID', validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+$'), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')])), ('comment', models.TextField(null=True, verbose_name='Comment', blank=True)), ('available', models.BooleanField(default=True, verbose_name='Available')), ], options={ 'ordering': ('label',), 'verbose_name': 'Integrity / interest type', 'verbose_name_plural': 'Integrity / interest types', }, bases=(ishtar_common.models.Cached, models.Model), ), migrations.CreateModel( name='MaterialType', fields=[ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), ('label', models.CharField(max_length=100, verbose_name='Label')), ('txt_idx', models.CharField(unique=True, max_length=100, verbose_name='Textual ID', validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+$'), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')])), ('comment', models.TextField(null=True, verbose_name='Comment', blank=True)), ('available', models.BooleanField(default=True, verbose_name='Available')), ('code', models.CharField(max_length=10, null=True, verbose_name='Code', blank=True)), ('recommendation', models.TextField(null=True, verbose_name='Recommendation', blank=True)), ], options={ 'ordering': ('label',), 'verbose_name': 'Material type', 'verbose_name_plural': 'Material types', }, bases=(ishtar_common.models.Cached, models.Model), ), migrations.CreateModel( name='ObjectType', fields=[ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), ('label', models.CharField(max_length=100, verbose_name='Label')), ('txt_idx', models.CharField(unique=True, max_length=100, verbose_name='Textual ID', validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+$'), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')])), ('comment', models.TextField(null=True, verbose_name='Comment', blank=True)), ('available', models.BooleanField(default=True, verbose_name='Available')), ], options={ 'ordering': ('parent__label', 'label'), 'verbose_name': 'Object type', 'verbose_name_plural': 'Object types', }, bases=(ishtar_common.models.Cached, models.Model), ), migrations.CreateModel( name='PreservationType', fields=[ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), ('label', models.CharField(max_length=100, verbose_name='Label')), ('txt_idx', models.CharField(unique=True, max_length=100, verbose_name='Textual ID', validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+$'), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')])), ('comment', models.TextField(null=True, verbose_name='Comment', blank=True)), ('available', models.BooleanField(default=True, verbose_name='Available')), ], options={ 'ordering': ('label',), 'verbose_name': 'Preservation type', 'verbose_name_plural': 'Preservation types', }, bases=(ishtar_common.models.Cached, models.Model), ), migrations.CreateModel( name='Property', fields=[ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), ('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', }, ), migrations.CreateModel( name='RemarkabilityType', fields=[ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), ('label', models.CharField(max_length=100, verbose_name='Label')), ('txt_idx', models.CharField(unique=True, max_length=100, verbose_name='Textual ID', validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+$'), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')])), ('comment', models.TextField(null=True, verbose_name='Comment', blank=True)), ('available', models.BooleanField(default=True, verbose_name='Available')), ], options={ 'ordering': ('label',), 'verbose_name': 'Remarkability type', 'verbose_name_plural': 'Remarkability types', }, bases=(ishtar_common.models.Cached, models.Model), ), migrations.CreateModel( name='Treatment', fields=[ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), ('image', models.ImageField(max_length=255, null=True, upload_to=b'upload/', blank=True)), ('thumbnail', models.ImageField(max_length=255, null=True, upload_to=b'upload/thumbs/', blank=True)), ('label', models.CharField(max_length=200, null=True, verbose_name='Label', blank=True)), ('other_reference', models.CharField(max_length=200, null=True, verbose_name='Other ref.', blank=True)), ('year', models.IntegerField(default=ishtar_common.utils.get_current_year, verbose_name='Year')), ('index', models.IntegerField(default=1, verbose_name='Index')), ('external_id', models.CharField(max_length=200, null=True, verbose_name='External ID', blank=True)), ('comment', models.TextField(null=True, verbose_name='Comment', blank=True)), ('description', models.TextField(null=True, verbose_name='Description', blank=True)), ('goal', models.TextField(null=True, verbose_name='Goal', blank=True)), ('start_date', models.DateField(null=True, verbose_name='Start date', blank=True)), ('end_date', models.DateField(null=True, verbose_name='Closing date', blank=True)), ('estimated_cost', models.FloatField(null=True, verbose_name='Estimated cost', blank=True)), ('quoted_cost', models.FloatField(null=True, verbose_name='Quoted cost', blank=True)), ('realized_cost', models.FloatField(null=True, verbose_name='Realized cost', blank=True)), ('insurance_cost', models.FloatField(null=True, verbose_name='Insurance cost', blank=True)), ('target_is_basket', models.BooleanField(default=False, verbose_name='Target a basket')), ('cached_label', models.TextField(null=True, verbose_name='Cached name', blank=True)), ], options={ 'verbose_name': 'Treatment', 'verbose_name_plural': 'Treatments', 'permissions': (('view_treatment', 'Peut voir tous les Traitements'), ('view_own_treatment', 'Peut voir son propre Traitement'), ('add_own_treatment', 'Peut ajouter son propre Traitement'), ('change_own_treatment', 'Peut modifier son propre Traitement'), ('delete_own_treatment', 'Peut supprimer son propre Traitement')), }, bases=(ishtar_common.models.DashboardFormItem, ishtar_common.models.ValueGetter, models.Model, ishtar_common.models.OwnPerms, ishtar_common.models.ShortMenuItem), ), migrations.CreateModel( name='TreatmentFile', fields=[ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), ('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(max_length=200, null=True, verbose_name='Internal reference', blank=True)), ('external_id', models.CharField(max_length=200, null=True, verbose_name='External ID', blank=True)), ('name', models.TextField(null=True, verbose_name='Name', blank=True)), ('end_date', models.DateField(null=True, verbose_name='Closing date', blank=True)), ('creation_date', models.DateField(default=datetime.date.today, null=True, verbose_name='Creation date', blank=True)), ('reception_date', models.DateField(null=True, verbose_name='Reception date', blank=True)), ('comment', models.TextField(null=True, verbose_name='Comment', blank=True)), ('cached_label', models.TextField(null=True, verbose_name='Cached name', blank=True)), ], options={ 'ordering': ('cached_label',), 'verbose_name': 'Treatment request', 'verbose_name_plural': 'Treatment requests', 'permissions': (('view_filetreatment', 'Peut voir toutes les Demandes de traitement'), ('add_filetreatment', 'Can add Treatment request'), ('change_filetreatment', 'Can change Treatment request'), ('delete_filetreatment', 'Can delete Treatment request'), ('view_own_filetreatment', 'Peut voir sa propre Demande de traitement'), ('add_own_filetreatment', 'Peut ajouter sa propre Demande de traitement'), ('change_own_filetreatment', 'Peut modifier sa propre Demande de traitement'), ('delete_own_filetreatment', 'Peut supprimer sa propre Demande de traitement')), }, bases=(ishtar_common.models.DashboardFormItem, archaeological_operations.models.ClosedItem, models.Model, ishtar_common.models.OwnPerms, ishtar_common.models.ValueGetter, ishtar_common.models.ShortMenuItem), ), migrations.CreateModel( name='TreatmentFileSource', fields=[ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), ('image', models.ImageField(max_length=255, null=True, upload_to=b'upload/', blank=True)), ('thumbnail', models.ImageField(max_length=255, null=True, upload_to=b'upload/thumbs/', blank=True)), ('title', models.CharField(max_length=300, verbose_name='Title')), ('external_id', models.TextField(max_length=300, null=True, verbose_name='External ID', blank=True)), ('scale', models.CharField(max_length=30, null=True, verbose_name='Scale', blank=True)), ('associated_url', models.URLField(null=True, verbose_name='Numerical ressource (web address)', blank=True)), ('receipt_date', models.DateField(null=True, verbose_name='Receipt date', blank=True)), ('creation_date', models.DateField(null=True, verbose_name='Creation date', blank=True)), ('receipt_date_in_documentation', models.DateField(null=True, verbose_name='Receipt date in documentation', blank=True)), ('item_number', models.IntegerField(default=1, verbose_name='Item number')), ('reference', models.CharField(max_length=100, null=True, verbose_name='Ref.', blank=True)), ('internal_reference', models.CharField(max_length=100, null=True, verbose_name='Internal ref.', blank=True)), ('description', models.TextField(null=True, verbose_name='Description', blank=True)), ('comment', models.TextField(null=True, verbose_name='Comment', blank=True)), ('additional_information', models.TextField(null=True, verbose_name='Additional information', blank=True)), ('duplicate', models.BooleanField(default=False, verbose_name='Has a duplicate')), ], options={ 'verbose_name': 'Treatment request documentation', 'verbose_name_plural': 'Treatment request documentations', 'permissions': (('view_filetreatmentsource', 'Can view Treatment request source'), ('view_own_filetreatmentsource', 'Can view own Treatment request source'), ('add_own_filetreatmentsource', 'Can add own Treatment request source'), ('change_own_filetreatmentsource', 'Can change own Treatment request source'), ('delete_own_filetreatmentsource', 'Can delete own Treatment request source')), }, bases=(ishtar_common.models.OwnPerms, models.Model), ), migrations.CreateModel( name='TreatmentFileType', fields=[ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), ('label', models.CharField(max_length=100, verbose_name='Label')), ('txt_idx', models.CharField(unique=True, max_length=100, verbose_name='Textual ID', validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+$'), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')])), ('comment', models.TextField(null=True, verbose_name='Comment', blank=True)), ('available', models.BooleanField(default=True, verbose_name='Available')), ], options={ 'ordering': ('label',), 'verbose_name': 'Treatment request type', 'verbose_name_plural': 'Treatment request types', }, bases=(ishtar_common.models.Cached, models.Model), ), migrations.CreateModel( name='TreatmentSource', fields=[ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), ('image', models.ImageField(max_length=255, null=True, upload_to=b'upload/', blank=True)), ('thumbnail', models.ImageField(max_length=255, null=True, upload_to=b'upload/thumbs/', blank=True)), ('title', models.CharField(max_length=300, verbose_name='Title')), ('external_id', models.TextField(max_length=300, null=True, verbose_name='External ID', blank=True)), ('scale', models.CharField(max_length=30, null=True, verbose_name='Scale', blank=True)), ('associated_url', models.URLField(null=True, verbose_name='Numerical ressource (web address)', blank=True)), ('receipt_date', models.DateField(null=True, verbose_name='Receipt date', blank=True)), ('creation_date', models.DateField(null=True, verbose_name='Creation date', blank=True)), ('receipt_date_in_documentation', models.DateField(null=True, verbose_name='Receipt date in documentation', blank=True)), ('item_number', models.IntegerField(default=1, verbose_name='Item number')), ('reference', models.CharField(max_length=100, null=True, verbose_name='Ref.', blank=True)), ('internal_reference', models.CharField(max_length=100, null=True, verbose_name='Internal ref.', blank=True)), ('description', models.TextField(null=True, verbose_name='Description', blank=True)), ('comment', models.TextField(null=True, verbose_name='Comment', blank=True)), ('additional_information', models.TextField(null=True, verbose_name='Additional information', blank=True)), ('duplicate', models.BooleanField(default=False, verbose_name='Has a duplicate')), ], options={ 'verbose_name': 'Treatment documentation', 'verbose_name_plural': 'Treament documentations', 'permissions': (('view_treatmentsource', 'Can view all Treatment sources'), ('view_own_treatmentsource', 'Can view own Treatment source'), ('add_own_treatmentsource', 'Can add own Treatment source'), ('change_own_treatmentsource', 'Can change own Treatment source'), ('delete_own_treatmentsource', 'Can delete own Treatment source')), }, bases=(ishtar_common.models.OwnPerms, models.Model), ), migrations.CreateModel( name='TreatmentState', fields=[ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), ('label', models.CharField(max_length=100, verbose_name='Label')), ('txt_idx', models.CharField(unique=True, max_length=100, verbose_name='Textual ID', validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+$'), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')])), ('comment', models.TextField(null=True, verbose_name='Comment', blank=True)), ('available', models.BooleanField(default=True, verbose_name='Available')), ], options={ 'ordering': ('label',), 'verbose_name': 'Treatment state type', 'verbose_name_plural': 'Treatment state types', }, bases=(ishtar_common.models.Cached, models.Model), ), migrations.CreateModel( name='TreatmentType', fields=[ ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), ('label', models.CharField(max_length=100, verbose_name='Label')), ('txt_idx', models.CharField(unique=True, max_length=100, verbose_name='Textual ID', validators=[django.core.validators.RegexValidator(re.compile('^[-a-zA-Z0-9_]+$'), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')])), ('comment', models.TextField(null=True, verbose_name='Comment', blank=True)), ('available', models.BooleanField(default=True, verbose_name='Available')), ('order', models.IntegerField(default=10, verbose_name='Order')), ('virtual', models.BooleanField(verbose_name='Virtual')), ('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')), ('parent', models.ForeignKey(verbose_name='Parent type', blank=True, to='archaeological_finds.TreatmentType', null=True)), ], options={ 'ordering': ('label',), 'verbose_name': 'Treatment type', 'verbose_name_plural': 'Treatment types', }, bases=(ishtar_common.models.Cached, models.Model), ), migrations.CreateModel( name='FindDownstreamTreatments', fields=[ ('treatment', models.OneToOneField(primary_key=True, serialize=False, to='archaeological_finds.Treatment', verbose_name='Treatment')), ('treatment_nb', models.IntegerField(verbose_name='Order')), ], options={ 'ordering': ('find', '-treatment_nb'), 'db_table': 'find_downtreatments', 'managed': False, }, ), migrations.CreateModel( name='FindTreatments', fields=[ ('treatment', models.OneToOneField(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={ 'ordering': ('find', 'upstream', '-treatment_nb'), 'db_table': 'find_treatments', 'managed': False, }, ), migrations.CreateModel( name='FindUpstreamTreatments', fields=[ ('treatment', models.OneToOneField(primary_key=True, serialize=False, to='archaeological_finds.Treatment', verbose_name='Treatment')), ('treatment_nb', models.IntegerField(verbose_name='Order')), ], options={ 'ordering': ('find', '-treatment_nb'), 'db_table': 'find_uptreatments', 'managed': False, }, ), ]