Skip to content

Commit

Permalink
✨ [#2173] Add map tile layer admin configuration
Browse files Browse the repository at this point in the history
  • Loading branch information
robinmolen committed Dec 16, 2024
1 parent 753691c commit ebe149b
Show file tree
Hide file tree
Showing 5 changed files with 109 additions and 1 deletion.
16 changes: 15 additions & 1 deletion src/openforms/config/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

from .admin_views import ThemePreviewView
from .forms import GlobalConfigurationAdminForm, ThemeAdminForm
from .models import CSPSetting, GlobalConfiguration, RichTextColor, Theme
from .models import CSPSetting, GlobalConfiguration, MapTileLayer, RichTextColor, Theme


@admin.register(GlobalConfiguration)
Expand Down Expand Up @@ -221,6 +221,20 @@ class RichTextColorAdmin(admin.ModelAdmin):
]


@admin.register(MapTileLayer)
class MapTileLayerAdmin(admin.ModelAdmin):
fields = [
"label",
"identifier",
"url",
]
list_display = [
"label",
"identifier",
"url",
]


@admin.register(CSPSetting)
class CSPSettingAdmin(admin.ModelAdmin):
readonly_fields = ("content_type_link",)
Expand Down
56 changes: 56 additions & 0 deletions src/openforms/config/migrations/0069_maptilelayer.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
# Generated by Django 4.2.17 on 2024-12-10 09:02

from django.db import migrations, models


class Migration(migrations.Migration):

dependencies = [
("config", "0068_update_summary_tags"),
]

operations = [
migrations.CreateModel(
name="MapTileLayer",
fields=[
(
"id",
models.AutoField(
auto_created=True,
primary_key=True,
serialize=False,
verbose_name="ID",
),
),
(
"identifier",
models.SlugField(
help_text="A unique identifier for the tile layer",
unique=True,
verbose_name="identifier",
),
),
(
"url",
models.URLField(
help_text="URL to the tile layer image. Used to define the map style/background the form map components. Example value: https://service.pdok.nl/brt/achtergrondkaart/wmts/v2_0/standaard/EPSG:28992/{z}/{x}/{y}.png",
max_length=255,
verbose_name="tile layer url",
),
),
(
"label",
models.CharField(
help_text="An easily recognizable name for the tile layer, used to identify it.",
max_length=100,
verbose_name="label",
),
),
],
options={
"verbose_name": "map tile layer",
"verbose_name_plural": "map tile layers",
"ordering": ("label",),
},
),
]
2 changes: 2 additions & 0 deletions src/openforms/config/models/__init__.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
from .color import RichTextColor
from .config import GlobalConfiguration
from .csp import CSPSetting
from .map import MapTileLayer
from .theme import Theme

__all__ = [
"CSPSetting",
"GlobalConfiguration",
"RichTextColor",
"MapTileLayer",
"Theme",
]
35 changes: 35 additions & 0 deletions src/openforms/config/models/map.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
from django.db import models
from django.utils.translation import gettext_lazy as _


class MapTileLayer(models.Model):
identifier = models.SlugField(
_("identifier"),
unique=True,
max_length=50,
help_text=_("A unique identifier for the tile layer"),
)
url = models.URLField(
_("tile layer url"),
max_length=255,
help_text=_(
"URL to the tile layer image. "
"Used to define the map style/background the form map components. "
"Example value: https://service.pdok.nl/brt/achtergrondkaart/wmts/v2_0/standaard/EPSG:28992/{z}/{x}/{y}.png"
),
)
label = models.CharField(
_("label"),
max_length=100,
help_text=_(
"An easily recognizable name for the tile layer, used to identify it."
),
)

class Meta:
verbose_name = _("map tile layer")
verbose_name_plural = _("map tile layers")
ordering = ("label",)

def __str__(self):
return self.label
1 change: 1 addition & 0 deletions src/openforms/fixtures/admin_index_unlisted.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
[
"config.RichTextColor",
"config.MapTileLayer",
"forms.FormLogic",
"forms.FormDefinition",
"forms.FormsExport",
Expand Down

0 comments on commit ebe149b

Please sign in to comment.