diff options
| author | Étienne Loks <etienne.loks@iggdrasil.net> | 2017-04-14 21:24:46 +0200 | 
|---|---|---|
| committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2017-04-14 21:24:46 +0200 | 
| commit | 9faab93c97b94e2dc2db11d3cbd9c0a5535cef52 (patch) | |
| tree | 46790ab96aa34ec81cd1216eff4518197b35cb9d /archaeological_warehouse/migrations/0001_initial.py | |
| parent | 11185161a0ec5c15a1852fd7bc387b82573b577a (diff) | |
| download | Ishtar-9faab93c97b94e2dc2db11d3cbd9c0a5535cef52.tar.bz2 Ishtar-9faab93c97b94e2dc2db11d3cbd9c0a5535cef52.zip | |
New migration management
Diffstat (limited to 'archaeological_warehouse/migrations/0001_initial.py')
| -rw-r--r-- | archaeological_warehouse/migrations/0001_initial.py | 399 | 
1 files changed, 176 insertions, 223 deletions
| diff --git a/archaeological_warehouse/migrations/0001_initial.py b/archaeological_warehouse/migrations/0001_initial.py index 6c3b14e75..13abc0afa 100644 --- a/archaeological_warehouse/migrations/0001_initial.py +++ b/archaeological_warehouse/migrations/0001_initial.py @@ -1,229 +1,182 @@  # -*- coding: utf-8 -*- -import datetime -from south.db import db -from south.v2 import SchemaMigration -from django.db import models - - -class Migration(SchemaMigration): - -    def forwards(self, orm): -        # Adding model 'WarehouseType' -        db.create_table('archaeological_warehouse_warehousetype', ( -            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), -            ('label', self.gf('django.db.models.fields.CharField')(max_length=100)), -            ('txt_idx', self.gf('django.db.models.fields.CharField')(unique=True, max_length=30)), -            ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)), -            ('available', self.gf('django.db.models.fields.BooleanField')(default=False)), -        )) -        db.send_create_signal('archaeological_warehouse', ['WarehouseType']) - -        # Adding model 'Warehouse' -        db.create_table('archaeological_warehouse_warehouse', ( -            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), -            ('history_modifier', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', to=orm['auth.User'])), -            ('address', self.gf('django.db.models.fields.TextField')(null=True, blank=True)), -            ('address_complement', self.gf('django.db.models.fields.TextField')(null=True, blank=True)), -            ('postal_code', self.gf('django.db.models.fields.CharField')(max_length=10, null=True, blank=True)), -            ('town', self.gf('django.db.models.fields.CharField')(max_length=30, null=True, blank=True)), -            ('country', self.gf('django.db.models.fields.CharField')(max_length=30, null=True, blank=True)), -            ('phone', self.gf('django.db.models.fields.CharField')(max_length=18, null=True, blank=True)), -            ('mobile_phone', self.gf('django.db.models.fields.CharField')(max_length=18, null=True, blank=True)), -            ('name', self.gf('django.db.models.fields.CharField')(max_length=40)), -            ('warehouse_type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['archaeological_warehouse.WarehouseType'])), -            ('person_in_charge', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['ishtar_common.Person'], null=True, blank=True)), -            ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)), -        )) -        db.send_create_signal('archaeological_warehouse', ['Warehouse']) - -        # Adding model 'ContainerType' -        db.create_table('archaeological_warehouse_containertype', ( -            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), -            ('label', self.gf('django.db.models.fields.CharField')(max_length=100)), -            ('txt_idx', self.gf('django.db.models.fields.CharField')(unique=True, max_length=30)), -            ('comment', self.gf('django.db.models.fields.TextField')(null=True, blank=True)), -            ('available', self.gf('django.db.models.fields.BooleanField')(default=False)), -            ('length', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)), -            ('width', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)), -            ('height', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)), -            ('volume', self.gf('django.db.models.fields.IntegerField')(null=True, blank=True)), -            ('reference', self.gf('django.db.models.fields.CharField')(max_length=30)), -        )) -        db.send_create_signal('archaeological_warehouse', ['ContainerType']) +from __future__ import unicode_literals -        # Adding model 'Container' -        db.create_table('archaeological_warehouse_container', ( -            ('id', self.gf('django.db.models.fields.AutoField')(primary_key=True)), -            ('history_modifier', self.gf('django.db.models.fields.related.ForeignKey')(related_name='+', to=orm['auth.User'])), -            ('history_date', self.gf('django.db.models.fields.DateTimeField')(default=datetime.datetime.now)), -            ('location', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['archaeological_warehouse.Warehouse'])), -            ('container_type', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['archaeological_warehouse.ContainerType'])), -            ('reference', self.gf('django.db.models.fields.CharField')(max_length=40)), -            ('comment', self.gf('django.db.models.fields.TextField')()), -        )) -        db.send_create_signal('archaeological_warehouse', ['Container']) - - -    def backwards(self, orm): -        # Deleting model 'WarehouseType' -        db.delete_table('archaeological_warehouse_warehousetype') - -        # Deleting model 'Warehouse' -        db.delete_table('archaeological_warehouse_warehouse') - -        # Deleting model 'ContainerType' -        db.delete_table('archaeological_warehouse_containertype') +from django.db import models, migrations +import datetime +import django.core.validators +import django.db.models.deletion +from django.conf import settings +import re +import ishtar_common.models -        # Deleting model 'Container' -        db.delete_table('archaeological_warehouse_container') +class Migration(migrations.Migration): -    models = { -        'archaeological_warehouse.container': { -            'Meta': {'object_name': 'Container'}, -            'comment': ('django.db.models.fields.TextField', [], {}), -            'container_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.ContainerType']"}), -            'history_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), -            'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['auth.User']"}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'location': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.Warehouse']"}), -            'reference': ('django.db.models.fields.CharField', [], {'max_length': '40'}) -        }, -        'archaeological_warehouse.containertype': { -            'Meta': {'object_name': 'ContainerType'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'height': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'length': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), -            'reference': ('django.db.models.fields.CharField', [], {'max_length': '30'}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}), -            'volume': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), -            'width': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}) -        }, -        'archaeological_warehouse.warehouse': { -            'Meta': {'object_name': 'Warehouse'}, -            'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}), -            'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['auth.User']"}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'mobile_phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), -            'name': ('django.db.models.fields.CharField', [], {'max_length': '40'}), -            'person_in_charge': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Person']", 'null': 'True', 'blank': 'True'}), -            'phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), -            'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), -            'town': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}), -            'warehouse_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['archaeological_warehouse.WarehouseType']"}) -        }, -        'archaeological_warehouse.warehousetype': { -            'Meta': {'object_name': 'WarehouseType'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) -        }, -        'auth.group': { -            'Meta': {'object_name': 'Group'}, -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), -            'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}) -        }, -        'auth.permission': { -            'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'}, -            'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) -        }, -        'auth.user': { -            'Meta': {'object_name': 'User'}, -            'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), -            'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), -            'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), -            'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}), -            'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), -            'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), -            'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), -            'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), -            'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), -            'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}), -            'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) -        }, -        'contenttypes.contenttype': { -            'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, -            'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) -        }, -        'ishtar_common.organization': { -            'Meta': {'object_name': 'Organization'}, -            'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}), -            'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['auth.User']"}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'mobile_phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), -            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'organization_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.OrganizationType']"}), -            'phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), -            'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), -            'town': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}) -        }, -        'ishtar_common.organizationtype': { -            'Meta': {'object_name': 'OrganizationType'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) -        }, -        'ishtar_common.person': { -            'Meta': {'object_name': 'Person'}, -            'address': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'address_complement': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'attached_to': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Organization']", 'null': 'True', 'blank': 'True'}), -            'country': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}), -            'email': ('django.db.models.fields.CharField', [], {'max_length': '40', 'null': 'True', 'blank': 'True'}), -            'history_modifier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'to': "orm['auth.User']"}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'mobile_phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), -            'name': ('django.db.models.fields.CharField', [], {'max_length': '30'}), -            'person_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.PersonType']"}), -            'phone': ('django.db.models.fields.CharField', [], {'max_length': '18', 'null': 'True', 'blank': 'True'}), -            'postal_code': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}), -            'surname': ('django.db.models.fields.CharField', [], {'max_length': '20'}), -            'title': ('django.db.models.fields.CharField', [], {'max_length': '2'}), -            'town': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}) -        }, -        'ishtar_common.persontype': { -            'Meta': {'object_name': 'PersonType'}, -            'available': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), -            'comment': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}), -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), -            'rights': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['ishtar_common.WizardStep']", 'symmetrical': 'False'}), -            'txt_idx': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'}) -        }, -        'ishtar_common.wizard': { -            'Meta': {'ordering': "['url_name']", 'object_name': 'Wizard'}, -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'url_name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '128'}) -        }, -        'ishtar_common.wizardstep': { -            'Meta': {'ordering': "['wizard', 'order']", 'object_name': 'WizardStep'}, -            'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), -            'name': ('django.db.models.fields.CharField', [], {'max_length': '128'}), -            'order': ('django.db.models.fields.IntegerField', [], {}), -            'url_name': ('django.db.models.fields.CharField', [], {'max_length': '128'}), -            'wizard': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['ishtar_common.Wizard']"}) -        } -    } +    dependencies = [ +        migrations.swappable_dependency(settings.AUTH_USER_MODEL), +    ] -    complete_apps = ['archaeological_warehouse']
\ No newline at end of file +    operations = [ +        migrations.CreateModel( +            name='Collection', +            fields=[ +                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), +                ('history_date', models.DateTimeField(default=datetime.datetime.now)), +                ('name', models.CharField(max_length=200, null=True, verbose_name='Name', blank=True)), +                ('description', models.TextField(null=True, verbose_name='Description', blank=True)), +            ], +            options={ +                'ordering': ('name',), +                'verbose_name': 'Collection', +                'verbose_name_plural': 'Collection', +            }, +        ), +        migrations.CreateModel( +            name='Container', +            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)), +                ('history_date', models.DateTimeField(default=datetime.datetime.now)), +                ('reference', models.CharField(max_length=40, verbose_name='Container ref.')), +                ('comment', models.TextField(null=True, verbose_name='Comment', blank=True)), +                ('cached_label', models.CharField(max_length=500, null=True, verbose_name='Localisation', blank=True)), +                ('cached_location', models.CharField(max_length=500, null=True, verbose_name='Cached location', blank=True)), +                ('index', models.IntegerField(default=0, verbose_name='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')), +            ], +            options={ +                'ordering': ('cached_label',), +                'verbose_name': 'Container', +                'verbose_name_plural': 'Containers', +            }, +        ), +        migrations.CreateModel( +            name='ContainerLocalisation', +            fields=[ +                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), +                ('reference', models.CharField(default=b'', max_length=200, verbose_name='Reference')), +            ], +            options={ +                'ordering': ('container', 'division__order'), +                'verbose_name': 'Container localisation', +                'verbose_name_plural': 'Container localisations', +            }, +        ), +        migrations.CreateModel( +            name='ContainerType', +            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')), +                ('length', models.IntegerField(null=True, verbose_name='Length (mm)', blank=True)), +                ('width', models.IntegerField(null=True, verbose_name='Width (mm)', blank=True)), +                ('height', models.IntegerField(null=True, verbose_name='Height (mm)', blank=True)), +                ('volume', models.FloatField(null=True, verbose_name='Volume (l)', blank=True)), +                ('reference', models.CharField(max_length=30, verbose_name='Ref.')), +            ], +            options={ +                'ordering': ('label',), +                'verbose_name': 'Container type', +                'verbose_name_plural': 'Container types', +            }, +            bases=(ishtar_common.models.Cached, models.Model), +        ), +        migrations.CreateModel( +            name='Warehouse', +            fields=[ +                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), +                ('address', models.TextField(null=True, verbose_name='Address', blank=True)), +                ('address_complement', models.TextField(null=True, verbose_name='Address complement', blank=True)), +                ('postal_code', models.CharField(max_length=10, null=True, verbose_name='Postal code', blank=True)), +                ('town', models.CharField(max_length=70, null=True, verbose_name='Town', blank=True)), +                ('country', models.CharField(max_length=30, null=True, verbose_name='Country', blank=True)), +                ('alt_address', models.TextField(null=True, verbose_name='Other address: address', blank=True)), +                ('alt_address_complement', models.TextField(null=True, verbose_name='Other address: address complement', blank=True)), +                ('alt_postal_code', models.CharField(max_length=10, null=True, verbose_name='Other address: postal code', blank=True)), +                ('alt_town', models.CharField(max_length=70, null=True, verbose_name='Other address: town', blank=True)), +                ('alt_country', models.CharField(max_length=30, null=True, verbose_name='Other address: country', blank=True)), +                ('phone', models.CharField(max_length=18, null=True, verbose_name='Phone', blank=True)), +                ('phone_desc', models.CharField(max_length=300, null=True, verbose_name='Phone description', blank=True)), +                ('phone2', models.CharField(max_length=18, null=True, verbose_name='Phone description 2', blank=True)), +                ('phone_desc2', models.CharField(max_length=300, null=True, verbose_name='Phone description 2', blank=True)), +                ('phone3', models.CharField(max_length=18, null=True, verbose_name='Phone 3', blank=True)), +                ('phone_desc3', models.CharField(max_length=300, null=True, verbose_name='Phone description 3', blank=True)), +                ('raw_phone', models.TextField(null=True, verbose_name='Raw phone', blank=True)), +                ('mobile_phone', models.CharField(max_length=18, null=True, verbose_name='Mobile phone', blank=True)), +                ('email', models.EmailField(max_length=300, null=True, verbose_name='Email', blank=True)), +                ('alt_address_is_prefered', models.BooleanField(default=False, verbose_name='Alternative address is prefered')), +                ('name', models.CharField(max_length=200, verbose_name='Name')), +                ('comment', models.TextField(null=True, verbose_name='Comment', 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')), +            ], +            options={ +                'verbose_name': 'Warehouse', +                'verbose_name_plural': 'Warehouses', +                'permissions': (('view_warehouse', 'Peut voir tous les D\xe9p\xf4ts'), ('view_own_warehouse', 'Peut voir son propre D\xe9p\xf4t'), ('add_own_warehouse', 'Peut ajouter son propre D\xe9p\xf4t'), ('change_own_warehouse', 'Peut modifier son propre D\xe9p\xf4t'), ('delete_own_warehouse', 'Peut supprimer son propre D\xe9p\xf4t')), +            }, +            bases=(models.Model, ishtar_common.models.DashboardFormItem, ishtar_common.models.OwnPerms), +        ), +        migrations.CreateModel( +            name='WarehouseDivision', +            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={ +                'verbose_name': 'Warehouse division type', +                'verbose_name_plural': 'Warehouse division types', +            }, +            bases=(ishtar_common.models.Cached, models.Model), +        ), +        migrations.CreateModel( +            name='WarehouseDivisionLink', +            fields=[ +                ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), +                ('order', models.IntegerField(default=10, verbose_name='Order')), +                ('division', models.ForeignKey(to='archaeological_warehouse.WarehouseDivision')), +                ('warehouse', models.ForeignKey(to='archaeological_warehouse.Warehouse')), +            ], +            options={ +                'ordering': ('warehouse', 'order'), +            }, +        ), +        migrations.CreateModel( +            name='WarehouseType', +            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': 'Warehouse type', +                'verbose_name_plural': 'Warehouse types', +            }, +            bases=(ishtar_common.models.Cached, models.Model), +        ), +        migrations.AddField( +            model_name='warehouse', +            name='associated_divisions', +            field=models.ManyToManyField(to='archaeological_warehouse.WarehouseDivision', verbose_name='Divisions', through='archaeological_warehouse.WarehouseDivisionLink', blank=True), +        ), +        migrations.AddField( +            model_name='warehouse', +            name='history_creator', +            field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.SET_NULL, verbose_name='Creator', blank=True, to=settings.AUTH_USER_MODEL, null=True), +        ), +        migrations.AddField( +            model_name='warehouse', +            name='history_modifier', +            field=models.ForeignKey(related_name='+', on_delete=django.db.models.deletion.SET_NULL, verbose_name='Last editor', blank=True, to=settings.AUTH_USER_MODEL, null=True), +        ), +    ] | 
