summaryrefslogtreecommitdiff
path: root/ishtar_common/migrations
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2022-03-28 12:24:42 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2022-12-12 12:21:00 +0100
commit69c2ef08e8cb3fb4b23a9bf7764386c95954e002 (patch)
treea3ca2eb5dfac2eba335dbc8569203788a60c515d /ishtar_common/migrations
parentfd5e263585f9f6b9a7ec92f7aa57f63435f5f718 (diff)
downloadIshtar-69c2ef08e8cb3fb4b23a9bf7764386c95954e002.tar.bz2
Ishtar-69c2ef08e8cb3fb4b23a9bf7764386c95954e002.zip
Squash database migrations
Diffstat (limited to 'ishtar_common/migrations')
-rw-r--r--ishtar_common/migrations/0217_auto_20220328_1222.py (renamed from ishtar_common/migrations/0217_auto_20211103_1422.py)197
-rw-r--r--ishtar_common/migrations/0218_apisheetfilter.py26
-rw-r--r--ishtar_common/migrations/0219_auto_20220120_1552.py33
-rw-r--r--ishtar_common/migrations/0220_auto_20220317_1120.py148
4 files changed, 189 insertions, 215 deletions
diff --git a/ishtar_common/migrations/0217_auto_20211103_1422.py b/ishtar_common/migrations/0217_auto_20220328_1222.py
index 103c01840..68135361d 100644
--- a/ishtar_common/migrations/0217_auto_20211103_1422.py
+++ b/ishtar_common/migrations/0217_auto_20220328_1222.py
@@ -1,17 +1,21 @@
-# Generated by Django 2.2.24 on 2021-11-03 14:22
+# Generated by Django 2.2.24 on 2022-03-28 12:22
from django.conf import settings
+import django.contrib.gis.db.models.fields
import django.contrib.postgres.fields
import django.contrib.postgres.fields.jsonb
+import django.core.validators
from django.db import migrations, models
import django.db.models.deletion
+import ishtar_common.models_common
+import re
class Migration(migrations.Migration):
dependencies = [
- ('contenttypes', '0002_remove_content_type_name'),
('auth', '0011_update_proxy_permissions'),
+ ('contenttypes', '0002_remove_content_type_name'),
('ishtar_common', '0216_auto_20210805_1703'),
]
@@ -24,10 +28,24 @@ class Migration(migrations.Migration):
('name', models.CharField(max_length=200, verbose_name='Name')),
('key', models.CharField(max_length=40, verbose_name='Key')),
('match_document', models.FileField(blank=True, help_text='First use the "Update types from source" action. Then use the action "Generate match document" action to create a default match document. Complete it and attach it back to the source to finally use the action "Update association from match document".', null=True, upload_to='', verbose_name='Match document')),
+ ('users', models.ManyToManyField(blank=True, to='ishtar_common.IshtarUser')),
],
options={
'verbose_name': 'API - Search - External source',
'verbose_name_plural': 'API - Search - External sources',
+ 'ordering': ('name',),
+ },
+ ),
+ migrations.CreateModel(
+ name='ApiSearchModel',
+ fields=[
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('limit_query', models.TextField(blank=True, help_text='Search query add to each request', null=True, verbose_name='Limit query')),
+ ('content_type', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='contenttypes.ContentType')),
+ ],
+ options={
+ 'verbose_name': 'API - Remote access - Search model',
+ 'verbose_name_plural': 'API - Remote access - Search models',
},
),
migrations.CreateModel(
@@ -41,6 +59,92 @@ class Migration(migrations.Migration):
'verbose_name_plural': 'API - Remote access - Users',
},
),
+ migrations.CreateModel(
+ name='GeoDataType',
+ 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'), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID')),
+ ('comment', models.TextField(blank=True, default='', verbose_name='Comment')),
+ ('available', models.BooleanField(default=True, verbose_name='Available')),
+ ('order', models.IntegerField(default=10, verbose_name='Order')),
+ ('parent', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='ishtar_common.GeoDataType', verbose_name='Parent')),
+ ],
+ options={
+ 'verbose_name': 'Geographic - Data type',
+ 'verbose_name_plural': 'Geographic - Data types',
+ 'ordering': ('order', 'label'),
+ },
+ bases=(ishtar_common.models_common.Cached, models.Model),
+ ),
+ migrations.CreateModel(
+ name='GeoOriginType',
+ 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'), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID')),
+ ('comment', models.TextField(blank=True, default='', verbose_name='Comment')),
+ ('available', models.BooleanField(default=True, verbose_name='Available')),
+ ('order', models.IntegerField(default=10, verbose_name='Order')),
+ ('parent', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='ishtar_common.GeoOriginType', verbose_name='Parent')),
+ ],
+ options={
+ 'verbose_name': 'Geographic - Origin type',
+ 'verbose_name_plural': 'Geographic - Origin types',
+ 'ordering': ('order', 'label'),
+ },
+ bases=(ishtar_common.models_common.Cached, models.Model),
+ ),
+ migrations.CreateModel(
+ name='GeoProviderType',
+ 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'), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID')),
+ ('comment', models.TextField(blank=True, default='', verbose_name='Comment')),
+ ('available', models.BooleanField(default=True, verbose_name='Available')),
+ ('order', models.IntegerField(default=10, verbose_name='Order')),
+ ('parent', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='ishtar_common.GeoProviderType', verbose_name='Parent')),
+ ],
+ options={
+ 'verbose_name': 'Geographic - Provider type',
+ 'verbose_name_plural': 'Geographic - Provider types',
+ 'ordering': ('order', 'label'),
+ },
+ bases=(ishtar_common.models_common.Cached, models.Model),
+ ),
+ migrations.AlterModelOptions(
+ name='area',
+ options={'ordering': ('label',), 'verbose_name': 'Town - Area', 'verbose_name_plural': 'Town - Areas'},
+ ),
+ migrations.AlterModelOptions(
+ name='person',
+ options={'ordering': ['name', 'surname'], 'permissions': (('view_own_person', 'Can view own Person'), ('add_own_person', 'Can add own Person'), ('change_own_person', 'Can change own Person'), ('delete_own_person', 'Can delete own Person')), 'verbose_name': 'Person', 'verbose_name_plural': 'Persons'},
+ ),
+ migrations.AlterModelOptions(
+ name='spatialreferencesystem',
+ options={'ordering': ('order', 'label'), 'verbose_name': 'Spatial reference system', 'verbose_name_plural': 'Spatial reference systems'},
+ ),
+ migrations.AddField(
+ model_name='importertype',
+ name='is_main_geometry',
+ field=models.BooleanField(default=True, help_text='Only relevant for GIS files', verbose_name='Set to main geometry'),
+ ),
+ migrations.AddField(
+ model_name='importertype',
+ name='layer_name',
+ field=models.CharField(blank=True, help_text='For GIS file with multiple layers', max_length=200, null=True, verbose_name='Layer name'),
+ ),
+ migrations.AddField(
+ model_name='importertype',
+ name='type',
+ field=models.CharField(choices=[('tab', 'Table'), ('gis', 'GIS')], default='tab', max_length=3, verbose_name='Type'),
+ ),
+ migrations.AlterField(
+ model_name='area',
+ name='reference',
+ field=models.TextField(blank=True, default='', verbose_name='Reference'),
+ ),
migrations.AlterField(
model_name='author',
name='author_type',
@@ -63,6 +167,11 @@ class Migration(migrations.Migration):
),
migrations.AlterField(
model_name='document',
+ name='last_modified',
+ field=models.DateTimeField(),
+ ),
+ migrations.AlterField(
+ model_name='document',
name='publisher',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='publish', to='ishtar_common.Organization', verbose_name='Publisher'),
),
@@ -83,6 +192,11 @@ class Migration(migrations.Migration):
),
migrations.AlterField(
model_name='historicalorganization',
+ name='last_modified',
+ field=models.DateTimeField(),
+ ),
+ migrations.AlterField(
+ model_name='historicalorganization',
name='mobile_phone',
field=models.CharField(blank=True, max_length=32, null=True, verbose_name='Mobile phone'),
),
@@ -113,6 +227,11 @@ class Migration(migrations.Migration):
),
migrations.AlterField(
model_name='historicalperson',
+ name='last_modified',
+ field=models.DateTimeField(),
+ ),
+ migrations.AlterField(
+ model_name='historicalperson',
name='mobile_phone',
field=models.CharField(blank=True, max_length=32, null=True, verbose_name='Mobile phone'),
),
@@ -173,6 +292,11 @@ class Migration(migrations.Migration):
),
migrations.AlterField(
model_name='organization',
+ name='last_modified',
+ field=models.DateTimeField(),
+ ),
+ migrations.AlterField(
+ model_name='organization',
name='mobile_phone',
field=models.CharField(blank=True, max_length=32, null=True, verbose_name='Mobile phone'),
),
@@ -213,6 +337,11 @@ class Migration(migrations.Migration):
),
migrations.AlterField(
model_name='person',
+ name='last_modified',
+ field=models.DateTimeField(),
+ ),
+ migrations.AlterField(
+ model_name='person',
name='mobile_phone',
field=models.CharField(blank=True, max_length=32, null=True, verbose_name='Mobile phone'),
),
@@ -262,19 +391,56 @@ class Migration(migrations.Migration):
field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='ishtar_common.ProfileType', verbose_name='Profile type'),
),
migrations.CreateModel(
- name='ApiSearchModel',
+ name='GeoVectorData',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
- ('limit_query', models.TextField(blank=True, help_text='Search query add to each request', null=True, verbose_name='Limit query')),
- ('content_type', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='contenttypes.ContentType')),
- ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='ishtar_common.ApiUser')),
+ ('name', models.TextField(default='Default', verbose_name='Name')),
+ ('source_id', models.PositiveIntegerField()),
+ ('comment', models.TextField(blank=True, default='', verbose_name='Comment')),
+ ('x', models.FloatField(blank=True, help_text='User input', null=True, verbose_name='X')),
+ ('y', models.FloatField(blank=True, help_text='User input', null=True, verbose_name='Y')),
+ ('z', models.FloatField(blank=True, help_text='User input', null=True, verbose_name='Z')),
+ ('cached_x', models.FloatField(blank=True, null=True, verbose_name='X (cached)')),
+ ('cached_y', models.FloatField(blank=True, null=True, verbose_name='Y (cached)')),
+ ('cached_z', models.FloatField(blank=True, null=True, verbose_name='Z (cached)')),
+ ('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_2d', django.contrib.gis.db.models.fields.PointField(blank=True, null=True, srid=4326, verbose_name='Point (2D)')),
+ ('point_3d', django.contrib.gis.db.models.fields.PointField(blank=True, dim=3, null=True, srid=4326, verbose_name='Point (3D)')),
+ ('multi_points', django.contrib.gis.db.models.fields.MultiPointField(blank=True, null=True, srid=4326, verbose_name='Multi points')),
+ ('multi_line', django.contrib.gis.db.models.fields.MultiLineStringField(blank=True, null=True, srid=4326, verbose_name='Multi line')),
+ ('multi_polygon', django.contrib.gis.db.models.fields.MultiPolygonField(blank=True, null=True, srid=4326, verbose_name='Multi polygon')),
+ ('need_update', models.BooleanField(default=False, verbose_name='Need update')),
+ ('data_type', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='ishtar_common.GeoDataType', verbose_name='Data type')),
+ ('origin', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='ishtar_common.GeoOriginType', verbose_name='Origin')),
+ ('provider', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='ishtar_common.GeoProviderType', verbose_name='Provider')),
+ ('source_content_type', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='content_type_geovectordata', to='contenttypes.ContentType')),
+ ('spatial_reference_system', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='ishtar_common.SpatialReferenceSystem', verbose_name='Spatial Reference System')),
],
options={
- 'verbose_name': 'API - Remote access - Search model',
- 'verbose_name_plural': 'API - Remote access - Search models',
+ 'verbose_name': 'Geographic - Vector data',
+ 'verbose_name_plural': 'Geographic - Vector data',
},
),
migrations.CreateModel(
+ name='ApiSheetFilter',
+ fields=[
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('key', models.CharField(max_length=200, verbose_name='Key')),
+ ('api_search_model', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='sheet_filters', to='ishtar_common.ApiSearchModel')),
+ ],
+ options={
+ 'verbose_name': 'API - Remote access - Sheet filter',
+ 'verbose_name_plural': 'API - Remote access - Sheet filters',
+ },
+ ),
+ migrations.AddField(
+ model_name='apisearchmodel',
+ name='user',
+ field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='ishtar_common.ApiUser'),
+ ),
+ migrations.CreateModel(
name='ApiKeyMatch',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
@@ -293,4 +459,19 @@ class Migration(migrations.Migration):
'verbose_name_plural': 'API - Search - Keys matches',
},
),
+ migrations.AddField(
+ model_name='town',
+ name='geodata',
+ field=models.ManyToManyField(blank=True, related_name='related_items_ishtar_common_town', to='ishtar_common.GeoVectorData'),
+ ),
+ migrations.AddField(
+ model_name='town',
+ name='main_geodata',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='main_related_items_ishtar_common_town', to='ishtar_common.GeoVectorData'),
+ ),
+ migrations.AddField(
+ model_name='userprofile',
+ name='external_sources',
+ field=models.ManyToManyField(blank=True, related_name='profiles', to='ishtar_common.ApiExternalSource'),
+ ),
]
diff --git a/ishtar_common/migrations/0218_apisheetfilter.py b/ishtar_common/migrations/0218_apisheetfilter.py
deleted file mode 100644
index cf9d5f594..000000000
--- a/ishtar_common/migrations/0218_apisheetfilter.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# Generated by Django 2.2.24 on 2021-12-20 12:20
-
-from django.db import migrations, models
-import django.db.models.deletion
-
-
-class Migration(migrations.Migration):
-
- dependencies = [
- ('ishtar_common', '0217_auto_20211103_1422'),
- ]
-
- operations = [
- migrations.CreateModel(
- name='ApiSheetFilter',
- fields=[
- ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
- ('key', models.CharField(max_length=200, verbose_name='Key')),
- ('api_search_model', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='ishtar_common.ApiSearchModel')),
- ],
- options={
- 'verbose_name': 'API - Remote access - Sheet filter',
- 'verbose_name_plural': 'API - Remote access - Sheet filters',
- },
- ),
- ]
diff --git a/ishtar_common/migrations/0219_auto_20220120_1552.py b/ishtar_common/migrations/0219_auto_20220120_1552.py
deleted file mode 100644
index 58d5930a9..000000000
--- a/ishtar_common/migrations/0219_auto_20220120_1552.py
+++ /dev/null
@@ -1,33 +0,0 @@
-# Generated by Django 2.2.24 on 2022-01-20 15:52
-
-from django.db import migrations, models
-import django.db.models.deletion
-
-
-class Migration(migrations.Migration):
-
- dependencies = [
- ('ishtar_common', '0218_apisheetfilter'),
- ]
-
- operations = [
- migrations.AlterModelOptions(
- name='apiexternalsource',
- options={'ordering': ('name',), 'verbose_name': 'API - Search - External source', 'verbose_name_plural': 'API - Search - External sources'},
- ),
- migrations.AddField(
- model_name='apiexternalsource',
- name='users',
- field=models.ManyToManyField(blank=True, to='ishtar_common.IshtarUser'),
- ),
- migrations.AddField(
- model_name='userprofile',
- name='external_sources',
- field=models.ManyToManyField(blank=True, related_name='profiles', to='ishtar_common.ApiExternalSource'),
- ),
- migrations.AlterField(
- model_name='apisheetfilter',
- name='api_search_model',
- field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='sheet_filters', to='ishtar_common.ApiSearchModel'),
- ),
- ]
diff --git a/ishtar_common/migrations/0220_auto_20220317_1120.py b/ishtar_common/migrations/0220_auto_20220317_1120.py
deleted file mode 100644
index 5103b6178..000000000
--- a/ishtar_common/migrations/0220_auto_20220317_1120.py
+++ /dev/null
@@ -1,148 +0,0 @@
-# Generated by Django 2.2.24 on 2022-03-17 11:20
-
-import django.contrib.gis.db.models.fields
-import django.core.validators
-from django.db import migrations, models
-import django.db.models.deletion
-import ishtar_common.models_common
-import re
-
-
-class Migration(migrations.Migration):
-
- dependencies = [
- ('contenttypes', '0002_remove_content_type_name'),
- ('ishtar_common', '0219_auto_20220120_1552'),
- ]
-
- operations = [
- migrations.CreateModel(
- name='GeoDataType',
- 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'), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID')),
- ('comment', models.TextField(blank=True, default='', verbose_name='Comment')),
- ('available', models.BooleanField(default=True, verbose_name='Available')),
- ('order', models.IntegerField(default=10, verbose_name='Order')),
- ('parent', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='ishtar_common.GeoDataType', verbose_name='Parent')),
- ],
- options={
- 'verbose_name': 'Geographic - Data type',
- 'verbose_name_plural': 'Geographic - Data types',
- 'ordering': ('order', 'label'),
- },
- bases=(ishtar_common.models_common.Cached, models.Model),
- ),
- migrations.CreateModel(
- name='GeoOriginType',
- 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'), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID')),
- ('comment', models.TextField(blank=True, default='', verbose_name='Comment')),
- ('available', models.BooleanField(default=True, verbose_name='Available')),
- ('order', models.IntegerField(default=10, verbose_name='Order')),
- ('parent', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='ishtar_common.GeoOriginType', verbose_name='Parent')),
- ],
- options={
- 'verbose_name': 'Geographic - Origin type',
- 'verbose_name_plural': 'Geographic - Origin types',
- 'ordering': ('order', 'label'),
- },
- bases=(ishtar_common.models_common.Cached, models.Model),
- ),
- migrations.CreateModel(
- name='GeoProviderType',
- 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'), "Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens.", 'invalid')], verbose_name='Textual ID')),
- ('comment', models.TextField(blank=True, default='', verbose_name='Comment')),
- ('available', models.BooleanField(default=True, verbose_name='Available')),
- ('order', models.IntegerField(default=10, verbose_name='Order')),
- ('parent', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='ishtar_common.GeoProviderType', verbose_name='Parent')),
- ],
- options={
- 'verbose_name': 'Geographic - Provider type',
- 'verbose_name_plural': 'Geographic - Provider types',
- 'ordering': ('order', 'label'),
- },
- bases=(ishtar_common.models_common.Cached, models.Model),
- ),
- migrations.AlterModelOptions(
- name='area',
- options={'ordering': ('label',), 'verbose_name': 'Town - Area', 'verbose_name_plural': 'Town - Areas'},
- ),
- migrations.AlterModelOptions(
- name='person',
- options={'ordering': ['name', 'surname'], 'permissions': (('view_own_person', 'Can view own Person'), ('add_own_person', 'Can add own Person'), ('change_own_person', 'Can change own Person'), ('delete_own_person', 'Can delete own Person')), 'verbose_name': 'Person', 'verbose_name_plural': 'Persons'},
- ),
- migrations.AlterModelOptions(
- name='spatialreferencesystem',
- options={'ordering': ('order', 'label'), 'verbose_name': 'Spatial reference system', 'verbose_name_plural': 'Spatial reference systems'},
- ),
- migrations.AddField(
- model_name='importertype',
- name='is_main_geometry',
- field=models.BooleanField(default=True, help_text='Only relevant for GIS files', verbose_name='Set to main geometry'),
- ),
- migrations.AddField(
- model_name='importertype',
- name='layer_name',
- field=models.CharField(blank=True, help_text='For GIS file with multiple layers', max_length=200, null=True, verbose_name='Layer name'),
- ),
- migrations.AddField(
- model_name='importertype',
- name='type',
- field=models.CharField(choices=[('tab', 'Table'), ('gis', 'GIS')], default='tab', max_length=3, verbose_name='Type'),
- ),
- migrations.AlterField(
- model_name='area',
- name='reference',
- field=models.TextField(blank=True, default='', verbose_name='Reference'),
- ),
- migrations.CreateModel(
- name='GeoVectorData',
- fields=[
- ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
- ('name', models.TextField(default='Default', verbose_name='Name')),
- ('source_id', models.PositiveIntegerField()),
- ('comment', models.TextField(blank=True, default='', verbose_name='Comment')),
- ('x', models.FloatField(blank=True, help_text='User input', null=True, verbose_name='X')),
- ('y', models.FloatField(blank=True, help_text='User input', null=True, verbose_name='Y')),
- ('z', models.FloatField(blank=True, help_text='User input', null=True, verbose_name='Z')),
- ('cached_x', models.FloatField(blank=True, null=True, verbose_name='X (cached)')),
- ('cached_y', models.FloatField(blank=True, null=True, verbose_name='Y (cached)')),
- ('cached_z', models.FloatField(blank=True, null=True, verbose_name='Z (cached)')),
- ('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_2d', django.contrib.gis.db.models.fields.PointField(blank=True, null=True, srid=4326, verbose_name='Point (2D)')),
- ('point_3d', django.contrib.gis.db.models.fields.PointField(blank=True, dim=3, null=True, srid=4326, verbose_name='Point (3D)')),
- ('multi_points', django.contrib.gis.db.models.fields.MultiPointField(blank=True, null=True, srid=4326, verbose_name='Multi points')),
- ('multi_line', django.contrib.gis.db.models.fields.MultiLineStringField(blank=True, null=True, srid=4326, verbose_name='Multi line')),
- ('multi_polygon', django.contrib.gis.db.models.fields.MultiPolygonField(blank=True, null=True, srid=4326, verbose_name='Multi polygon')),
- ('need_update', models.BooleanField(default=False, verbose_name='Need update')),
- ('data_type', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='ishtar_common.GeoDataType', verbose_name='Data type')),
- ('origin', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='ishtar_common.GeoOriginType', verbose_name='Origin')),
- ('provider', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='ishtar_common.GeoProviderType', verbose_name='Provider')),
- ('source_content_type', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='content_type_geovectordata', to='contenttypes.ContentType')),
- ('spatial_reference_system', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='ishtar_common.SpatialReferenceSystem', verbose_name='Spatial Reference System')),
- ],
- options={
- 'verbose_name': 'Geographic - Vector data',
- 'verbose_name_plural': 'Geographic - Vector data',
- },
- ),
- migrations.AddField(
- model_name='town',
- name='geodata',
- field=models.ManyToManyField(blank=True, related_name='related_items_ishtar_common_town', to='ishtar_common.GeoVectorData'),
- ),
- migrations.AddField(
- model_name='town',
- name='main_geodata',
- field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='main_related_items_ishtar_common_town', to='ishtar_common.GeoVectorData'),
- ),
- ]