| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
 | # -*- coding: utf-8 -*-
# Generated by Django 1.11.27 on 2020-04-08 18:23
from django.conf import settings
import django.contrib.gis.db.models.fields
import django.contrib.postgres.fields.jsonb
import django.contrib.postgres.search
from django.db import migrations, models
import django.db.models.deletion
import simple_history.models
import uuid
class Migration(migrations.Migration):
    dependencies = [
        ('ishtar_common', '0203_auto_20200407_1142'),
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
        ('archaeological_warehouse', '0101_squashed'),
    ]
    operations = [
        migrations.CreateModel(
            name='HistoricalWarehouse',
            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)),
                ('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')),
                ('address', models.TextField(blank=True, null=True, verbose_name='Address')),
                ('address_complement', models.TextField(blank=True, null=True, verbose_name='Address complement')),
                ('postal_code', models.CharField(blank=True, max_length=10, null=True, verbose_name='Postal code')),
                ('town', models.CharField(blank=True, max_length=150, null=True, verbose_name='Town (freeform)')),
                ('country', models.CharField(blank=True, max_length=30, null=True, verbose_name='Country')),
                ('alt_address', models.TextField(blank=True, null=True, verbose_name='Other address: address')),
                ('alt_address_complement', models.TextField(blank=True, null=True, verbose_name='Other address: address complement')),
                ('alt_postal_code', models.CharField(blank=True, max_length=10, null=True, verbose_name='Other address: postal code')),
                ('alt_town', models.CharField(blank=True, max_length=70, null=True, verbose_name='Other address: town')),
                ('alt_country', models.CharField(blank=True, max_length=30, null=True, verbose_name='Other address: country')),
                ('phone', models.CharField(blank=True, max_length=18, null=True, verbose_name='Phone')),
                ('phone_desc', models.CharField(blank=True, max_length=300, null=True, verbose_name='Phone description')),
                ('phone2', models.CharField(blank=True, max_length=18, null=True, verbose_name='Phone description 2')),
                ('phone_desc2', models.CharField(blank=True, max_length=300, null=True, verbose_name='Phone description 2')),
                ('phone3', models.CharField(blank=True, max_length=18, null=True, verbose_name='Phone 3')),
                ('phone_desc3', models.CharField(blank=True, max_length=300, null=True, verbose_name='Phone description 3')),
                ('raw_phone', models.TextField(blank=True, null=True, verbose_name='Raw phone')),
                ('mobile_phone', models.CharField(blank=True, max_length=18, null=True, verbose_name='Mobile phone')),
                ('email', models.EmailField(blank=True, max_length=300, null=True, verbose_name='Email')),
                ('alt_address_is_prefered', models.BooleanField(default=False, verbose_name='Alternative address is prefered')),
                ('uuid', models.UUIDField(default=uuid.uuid4)),
                ('name', models.CharField(max_length=200, verbose_name='Name')),
                ('comment', models.TextField(blank=True, null=True, verbose_name='Comment')),
                ('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')),
                ('history_id', models.AutoField(primary_key=True, serialize=False)),
                ('history_date', models.DateTimeField()),
                ('history_change_reason', models.CharField(max_length=100, null=True)),
                ('history_type', models.CharField(choices=[('+', 'Created'), ('~', 'Changed'), ('-', 'Deleted')], max_length=1)),
                ('history_creator', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to=settings.AUTH_USER_MODEL, verbose_name='Creator')),
                ('history_modifier', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to=settings.AUTH_USER_MODEL, verbose_name='Last editor')),
                ('history_user', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to=settings.AUTH_USER_MODEL)),
                ('lock_user', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to=settings.AUTH_USER_MODEL, verbose_name='Locked by')),
                ('main_image', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='ishtar_common.Document', verbose_name='Main image')),
                ('organization', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='ishtar_common.Organization', verbose_name='Organization')),
                ('person_in_charge', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='ishtar_common.Person', verbose_name='Person in charge')),
                ('precise_town', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='ishtar_common.Town', verbose_name='Town (precise)')),
                ('spatial_reference_system', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='ishtar_common.SpatialReferenceSystem', verbose_name='Spatial Reference System')),
                ('warehouse_type', models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='archaeological_warehouse.WarehouseType', verbose_name='Warehouse type')),
            ],
            options={
                'verbose_name': 'historical Warehouse',
                'ordering': ('-history_date', '-history_id'),
                'get_latest_by': 'history_date',
            },
            bases=(simple_history.models.HistoricalChanges, models.Model),
        ),
        migrations.RemoveField(
            model_name='collection',
            name='history_creator',
        ),
        migrations.RemoveField(
            model_name='collection',
            name='history_modifier',
        ),
        migrations.RemoveField(
            model_name='collection',
            name='imports',
        ),
        migrations.RemoveField(
            model_name='collection',
            name='lock_user',
        ),
        migrations.RemoveField(
            model_name='collection',
            name='warehouse',
        ),
        migrations.AddField(
            model_name='container',
            name='archived',
            field=models.NullBooleanField(default=False),
        ),
        migrations.AddField(
            model_name='container',
            name='merge_candidate',
            field=models.ManyToManyField(blank=True, related_name='_container_merge_candidate_+', to='archaeological_warehouse.Container'),
        ),
        migrations.AddField(
            model_name='container',
            name='merge_exclusion',
            field=models.ManyToManyField(blank=True, related_name='_container_merge_exclusion_+', to='archaeological_warehouse.Container'),
        ),
        migrations.AddField(
            model_name='container',
            name='merge_key',
            field=models.TextField(blank=True, null=True, verbose_name='Merge key'),
        ),
        migrations.AddField(
            model_name='container',
            name='parent',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='children', to='archaeological_warehouse.Container', verbose_name='Parent container'),
        ),
        migrations.AddField(
            model_name='containertype',
            name='stationary',
            field=models.BooleanField(default=False, help_text='Container that usually will not be moved. Ex: building, room.', verbose_name='Stationary'),
        ),
        migrations.AlterModelOptions(
            name='containertype',
            options={'ordering': ('order', 'label'), 'verbose_name': 'Container type', 'verbose_name_plural': 'Container types'},
        ),
        migrations.AddField(
            model_name='containertype',
            name='order',
            field=models.IntegerField(default=10, verbose_name='Order'),
        ),
        migrations.AddField(
            model_name='warehousedivisionlink',
            name='container_type',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='archaeological_warehouse.ContainerType'),
        ),
        migrations.AlterField(
            model_name='container',
            name='responsible',
            field=models.ForeignKey(blank=True, help_text='Deprecated - do not use', null=True, on_delete=django.db.models.deletion.CASCADE, related_name='owned_containers', to='archaeological_warehouse.Warehouse', verbose_name='Responsible warehouse'),
        ),
        migrations.AlterField(
            model_name='warehousedivisionlink',
            name='division',
            field=models.ForeignKey(blank=True, help_text='Deprecated - do not use', null=True, on_delete=django.db.models.deletion.CASCADE, to='archaeological_warehouse.WarehouseDivision'),
        ),
        migrations.AlterUniqueTogether(
            name='container',
            unique_together=set([('location', 'container_type', 'parent', 'reference'), ('index', 'responsible')]),
        ),
        migrations.DeleteModel(
            name='Collection',
        ),
    ]
 |