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 17, 2024
1 parent ac7be79 commit 6891fa1
Show file tree
Hide file tree
Showing 5 changed files with 113 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-17 12:42

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 component background. To ensure correct functionality of the map, EPSG 28992 projection should be used. 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",
]
36 changes: 36 additions & 0 deletions src/openforms/config/models/map.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
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 component "
"background. To ensure correct functionality of the map, "
"EPSG 28992 projection should be used. "
"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
4 changes: 4 additions & 0 deletions src/openforms/fixtures/default_admin_index.json
Original file line number Diff line number Diff line change
Expand Up @@ -162,6 +162,10 @@
"config",
"globalconfiguration"
],
[
"config",
"maptilelayer"
],
[
"config",
"theme"
Expand Down

0 comments on commit 6891fa1

Please sign in to comment.