62 lines
4.4 KiB
Python
62 lines
4.4 KiB
Python
# Generated by Django 5.0.8 on 2024-11-21 10:43
|
|
|
|
import c3nav.mapdata.fields
|
|
import django.core.serializers.json
|
|
import django.db.models.deletion
|
|
import django_pydantic_field.compat.django
|
|
import django_pydantic_field.fields
|
|
import types
|
|
import typing
|
|
from django.db import migrations, models
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
|
|
dependencies = [
|
|
('mapdata', '0110_theme_icon_path_theme_leaflet_marker_config'),
|
|
]
|
|
|
|
operations = [
|
|
migrations.CreateModel(
|
|
name='DataOverlay',
|
|
fields=[
|
|
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
('title', c3nav.mapdata.fields.I18nField(blank=True, fallback_any=True, fallback_value='{model} {pk}', plural_name='titles', verbose_name='Title')),
|
|
('description', models.TextField(blank=True, verbose_name='Description')),
|
|
('stroke_color', models.TextField(blank=True, null=True, verbose_name='default stroke color')),
|
|
('stroke_width', models.FloatField(blank=True, null=True, verbose_name='default stroke width')),
|
|
('fill_color', models.TextField(blank=True, null=True, verbose_name='default fill color')),
|
|
('pull_url', models.URLField(blank=True, null=True, verbose_name='pull URL')),
|
|
('pull_headers', django_pydantic_field.fields.PydanticSchemaField(config=None, encoder=django.core.serializers.json.DjangoJSONEncoder, null=True, schema=django_pydantic_field.compat.django.GenericContainer(typing.Union, (django_pydantic_field.compat.django.GenericContainer(dict, (str, str)), types.NoneType)), verbose_name='headers for pull http request (JSON object)')),
|
|
('pull_interval', models.DurationField(blank=True, null=True, verbose_name='pull interval')),
|
|
],
|
|
options={
|
|
'verbose_name': 'Data Overlay',
|
|
'verbose_name_plural': 'Data Overlays',
|
|
'default_related_name': 'data_overlays',
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='DataOverlayFeature',
|
|
fields=[
|
|
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
('title', c3nav.mapdata.fields.I18nField(blank=True, fallback_any=True, fallback_value='{model} {pk}', plural_name='titles', verbose_name='Title')),
|
|
('import_tag', models.CharField(blank=True, max_length=64, null=True, verbose_name='import tag')),
|
|
('geometry', c3nav.mapdata.fields.GeometryField(default=None, help_text=None)),
|
|
('external_url', models.URLField(blank=True, null=True, verbose_name='external URL')),
|
|
('stroke_color', models.CharField(blank=True, max_length=255, null=True, verbose_name='stroke color')),
|
|
('stroke_width', models.FloatField(blank=True, null=True, verbose_name='stroke width')),
|
|
('fill_color', models.CharField(blank=True, max_length=255, null=True, verbose_name='fill color')),
|
|
('show_label', models.BooleanField(default=False, verbose_name='show label')),
|
|
('show_geometry', models.BooleanField(default=True, verbose_name='show geometry')),
|
|
('interactive', models.BooleanField(default=True, help_text='disable to make this feature click-through', verbose_name='interactive')),
|
|
('point_icon', models.CharField(blank=True, help_text='use this material icon to display points, instead of drawing a small circle (only makes sense if the geometry is a point)', max_length=255, null=True, verbose_name='point icon')),
|
|
('extra_data', django_pydantic_field.fields.PydanticSchemaField(blank=True, config=None, default=None, encoder=django.core.serializers.json.DjangoJSONEncoder, null=True, schema=django_pydantic_field.compat.django.GenericContainer(typing.Union, (django_pydantic_field.compat.django.GenericContainer(dict, (str, str)), types.NoneType)), verbose_name='extra data (JSON object)')),
|
|
('level', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='data_overlay_features', to='mapdata.level', verbose_name='level')),
|
|
('overlay', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='features', to='mapdata.dataoverlay', verbose_name='Overlay')),
|
|
],
|
|
options={
|
|
'abstract': False,
|
|
},
|
|
),
|
|
]
|