summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--archaeological_context_records/admin.py6
-rw-r--r--archaeological_context_records/migrations/0028_auto_20180619_0853.py26
-rw-r--r--archaeological_context_records/migrations/0029_polygon_to_multi_polygon.py31
-rw-r--r--archaeological_context_records/migrations/0030_auto_20180619_0911.py23
-rw-r--r--archaeological_context_records/models.py3
-rw-r--r--archaeological_finds/admin.py6
-rw-r--r--archaeological_finds/migrations/0030_auto_20180619_0853.py26
-rw-r--r--archaeological_finds/migrations/0031_polygon_to_multi_polygon.py29
-rw-r--r--archaeological_finds/migrations/0032_auto_20180619_0911.py23
-rw-r--r--archaeological_finds/models_finds.py3
10 files changed, 168 insertions, 8 deletions
diff --git a/archaeological_context_records/admin.py b/archaeological_context_records/admin.py
index 1f08bc505..493302363 100644
--- a/archaeological_context_records/admin.py
+++ b/archaeological_context_records/admin.py
@@ -22,7 +22,7 @@ from ajax_select.fields import AutoCompleteSelectField
from django import forms
from django.contrib import admin
-from django.contrib.gis.forms import PointField, PolygonField, OSMWidget
+from django.contrib.gis.forms import PointField, MultiPolygonField, OSMWidget
from django.utils.translation import ugettext_lazy as _
from ishtar_common.apps import admin_site
@@ -48,8 +48,8 @@ class AdminContextRecordForm(forms.ModelForm):
exclude = []
point_2d = PointField(label=_(u"Point"), required=False,
widget=OSMWidget)
- polygon = PolygonField(label=_(u"Polygon"), required=False,
- widget=OSMWidget)
+ multi_polygon = MultiPolygonField(label=_(u"Multi polygon"), required=False,
+ widget=OSMWidget)
operation = AutoCompleteSelectField('operation')
parcel = AutoCompleteSelectField('parcel')
diff --git a/archaeological_context_records/migrations/0028_auto_20180619_0853.py b/archaeological_context_records/migrations/0028_auto_20180619_0853.py
new file mode 100644
index 000000000..61d7698a5
--- /dev/null
+++ b/archaeological_context_records/migrations/0028_auto_20180619_0853.py
@@ -0,0 +1,26 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.10 on 2018-06-19 08:53
+from __future__ import unicode_literals
+
+import django.contrib.gis.db.models.fields
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('archaeological_context_records', '0027_auto_20180601_1555'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='contextrecord',
+ name='multi_polygon',
+ field=django.contrib.gis.db.models.fields.MultiPolygonField(blank=True, null=True, srid=4326, verbose_name='Multi polygon'),
+ ),
+ migrations.AddField(
+ model_name='historicalcontextrecord',
+ name='multi_polygon',
+ field=django.contrib.gis.db.models.fields.MultiPolygonField(blank=True, null=True, srid=4326, verbose_name='Multi polygon'),
+ ),
+ ]
diff --git a/archaeological_context_records/migrations/0029_polygon_to_multi_polygon.py b/archaeological_context_records/migrations/0029_polygon_to_multi_polygon.py
new file mode 100644
index 000000000..0a7c92df6
--- /dev/null
+++ b/archaeological_context_records/migrations/0029_polygon_to_multi_polygon.py
@@ -0,0 +1,31 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.10 on 2018-06-19 08:55
+from __future__ import unicode_literals
+
+from django.db import migrations
+from django.contrib.gis.geos import MultiPolygon, fromstr
+
+
+def polygon_to_multipolygon(apps, schema):
+ ContextRecord = apps.get_model('archaeological_context_records',
+ 'contextrecord')
+ HistoricalContextRecord = apps.get_model('archaeological_context_records',
+ 'historicalcontextrecord')
+ for cr in ContextRecord.objects.filter(polygon__isnull=False).all():
+ cr.multi_polygon = MultiPolygon(fromstr(cr.polygon),)
+ cr.save()
+ for cr in HistoricalContextRecord.objects.filter(
+ polygon__isnull=False).all():
+ cr.multi_polygon = MultiPolygon(fromstr(cr.polygon),)
+ cr.save()
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('archaeological_context_records', '0028_auto_20180619_0853'),
+ ]
+
+ operations = [
+ migrations.RunPython(polygon_to_multipolygon)
+ ]
diff --git a/archaeological_context_records/migrations/0030_auto_20180619_0911.py b/archaeological_context_records/migrations/0030_auto_20180619_0911.py
new file mode 100644
index 000000000..aa1880243
--- /dev/null
+++ b/archaeological_context_records/migrations/0030_auto_20180619_0911.py
@@ -0,0 +1,23 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.10 on 2018-06-19 09:11
+from __future__ import unicode_literals
+
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('archaeological_context_records', '0029_polygon_to_multi_polygon'),
+ ]
+
+ operations = [
+ migrations.RemoveField(
+ model_name='contextrecord',
+ name='polygon',
+ ),
+ migrations.RemoveField(
+ model_name='historicalcontextrecord',
+ name='polygon',
+ ),
+ ]
diff --git a/archaeological_context_records/models.py b/archaeological_context_records/models.py
index 8395fb8fe..211be9ade 100644
--- a/archaeological_context_records/models.py
+++ b/archaeological_context_records/models.py
@@ -325,7 +325,8 @@ class ContextRecord(BulkUpdatedItem, BaseHistorizedItem,
'ContextRecord', through='RecordRelations', blank=True)
point_2d = models.PointField(_(u"Point (2D)"), blank=True, null=True)
point = models.PointField(_(u"Point (3D)"), blank=True, null=True, dim=3)
- polygon = models.PolygonField(_(u"Polygon"), blank=True, null=True)
+ multi_polygon = models.MultiPolygonField(_(u"Multi polygon"), blank=True,
+ null=True)
documents = models.ManyToManyField(
Document, related_name='context_records', verbose_name=_(u"Documents"),
blank=True)
diff --git a/archaeological_finds/admin.py b/archaeological_finds/admin.py
index 0e2b31b20..c85ac2425 100644
--- a/archaeological_finds/admin.py
+++ b/archaeological_finds/admin.py
@@ -22,7 +22,7 @@ from ajax_select.fields import AutoCompleteSelectField
from django import forms
from django.contrib import admin
-from django.contrib.gis.forms import PointField, PolygonField, \
+from django.contrib.gis.forms import PointField, MultiPolygonField, \
LineStringField, OSMWidget
from django.utils.translation import ugettext_lazy as _
@@ -40,8 +40,8 @@ class AdminBaseFindForm(forms.ModelForm):
widget=OSMWidget)
line = LineStringField(label=_(u"Line"), required=False,
widget=OSMWidget)
- polygon = PolygonField(label=_(u"Polygon"), required=False,
- widget=OSMWidget)
+ multi_polygon = MultiPolygonField(label=_(u"Multi polygon"), required=False,
+ widget=OSMWidget)
context_record = AutoCompleteSelectField('context_record')
diff --git a/archaeological_finds/migrations/0030_auto_20180619_0853.py b/archaeological_finds/migrations/0030_auto_20180619_0853.py
new file mode 100644
index 000000000..3e198a313
--- /dev/null
+++ b/archaeological_finds/migrations/0030_auto_20180619_0853.py
@@ -0,0 +1,26 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.10 on 2018-06-19 08:53
+from __future__ import unicode_literals
+
+import django.contrib.gis.db.models.fields
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('archaeological_finds', '0029_auto_20180601_1555'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='basefind',
+ name='multi_polygon',
+ field=django.contrib.gis.db.models.fields.MultiPolygonField(blank=True, null=True, srid=4326, verbose_name='Multi polygon'),
+ ),
+ migrations.AddField(
+ model_name='historicalbasefind',
+ name='multi_polygon',
+ field=django.contrib.gis.db.models.fields.MultiPolygonField(blank=True, null=True, srid=4326, verbose_name='Multi polygon'),
+ ),
+ ]
diff --git a/archaeological_finds/migrations/0031_polygon_to_multi_polygon.py b/archaeological_finds/migrations/0031_polygon_to_multi_polygon.py
new file mode 100644
index 000000000..85252e9a5
--- /dev/null
+++ b/archaeological_finds/migrations/0031_polygon_to_multi_polygon.py
@@ -0,0 +1,29 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.10 on 2018-06-19 08:55
+from __future__ import unicode_literals
+
+from django.db import migrations
+from django.contrib.gis.geos import MultiPolygon, fromstr
+
+
+def polygon_to_multipolygon(apps, schema):
+ BaseFind = apps.get_model('archaeological_finds', 'basefind')
+ HistoricalBaseFind = apps.get_model(
+ 'archaeological_finds', 'historicalbasefind')
+ for bf in BaseFind.objects.filter(polygon__isnull=False).all():
+ bf.multi_polygon = MultiPolygon(fromstr(bf.polygon),)
+ bf.save()
+ for bf in HistoricalBaseFind.objects.filter(polygon__isnull=False).all():
+ bf.multi_polygon = MultiPolygon(fromstr(bf.polygon),)
+ bf.save()
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('archaeological_finds', '0030_auto_20180619_0853'),
+ ]
+
+ operations = [
+ migrations.RunPython(polygon_to_multipolygon)
+ ]
diff --git a/archaeological_finds/migrations/0032_auto_20180619_0911.py b/archaeological_finds/migrations/0032_auto_20180619_0911.py
new file mode 100644
index 000000000..65b104079
--- /dev/null
+++ b/archaeological_finds/migrations/0032_auto_20180619_0911.py
@@ -0,0 +1,23 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.10 on 2018-06-19 09:11
+from __future__ import unicode_literals
+
+from django.db import migrations
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('archaeological_finds', '0031_polygon_to_multi_polygon'),
+ ]
+
+ operations = [
+ migrations.RemoveField(
+ model_name='basefind',
+ name='polygon',
+ ),
+ migrations.RemoveField(
+ model_name='historicalbasefind',
+ name='polygon',
+ ),
+ ]
diff --git a/archaeological_finds/models_finds.py b/archaeological_finds/models_finds.py
index 90df95530..1ebfb6a15 100644
--- a/archaeological_finds/models_finds.py
+++ b/archaeological_finds/models_finds.py
@@ -272,7 +272,8 @@ class BaseFind(BulkUpdatedItem, BaseHistorizedItem, OwnPerms):
point_2d = models.PointField(_(u"Point (2D)"), blank=True, null=True)
point = models.PointField(_(u"Point (3D)"), blank=True, null=True, dim=3)
line = models.LineStringField(_(u"Line"), blank=True, null=True)
- polygon = models.PolygonField(_(u"Polygon"), blank=True, null=True)
+ multi_polygon = models.MultiPolygonField(_(u"Multi polygon"), blank=True,
+ null=True)
cache_short_id = models.TextField(
_(u"Short ID"), blank=True, null=True, db_index=True,
help_text=_(u"Cached value - do not edit"))