diff --git a/src/c3nav/mapdata/api/map.py b/src/c3nav/mapdata/api/map.py index 4fbe7cc1..b7ea7813 100644 --- a/src/c3nav/mapdata/api/map.py +++ b/src/c3nav/mapdata/api/map.py @@ -50,7 +50,7 @@ def map_settings(request): return MapSettingsSchema( initial_bounds=initial_bounds, initial_level=settings.INITIAL_LEVEL or None, - grid=grid.serialize().model_dump() if grid else None, + grid=grid if grid else None, tile_server=settings.TILE_CACHE_SERVER, ) diff --git a/src/c3nav/mapdata/grid.py b/src/c3nav/mapdata/grid.py index 8cd449b1..7971c114 100644 --- a/src/c3nav/mapdata/grid.py +++ b/src/c3nav/mapdata/grid.py @@ -50,14 +50,6 @@ class Grid(AbstractGrid): else: raise ValueError('column coordinates are not ordered') - def serialize(self) -> GridSchema: - return GridSchema( - rows=self.rows, - cols=self.cols, - invert_x=self.invert_y, - invert_y=self.invert_y, - ) - def get_square_for_point(self, x, y): x = bisect.bisect(self.cols, x) if x <= 0 or x >= len(self.cols): diff --git a/src/c3nav/site/views.py b/src/c3nav/site/views.py index e715e11d..696664e3 100644 --- a/src/c3nav/site/views.py +++ b/src/c3nav/site/views.py @@ -31,7 +31,7 @@ from django.views.i18n import LANGUAGE_QUERY_PARAMETER, set_language from c3nav import __version__ as c3nav_version from c3nav.api.models import Secret from c3nav.control.forms import AccessPermissionForm, SignedPermissionDataError -from c3nav.mapdata.grid import grid +from c3nav.mapdata.grid import grid, GridSchema from c3nav.mapdata.models import Location, Source from c3nav.mapdata.models.access import AccessPermission, AccessPermissionToken from c3nav.mapdata.models.locations import (LocationGroup, LocationRedirect, Position, SpecificLocation, @@ -217,7 +217,7 @@ def map_index(request, mode=None, slug=None, slug2=None, details=None, options=N } if grid.enabled: - ctx['grid'] = json.dumps(grid.serialize().model_dump(), separators=(',', ':'), cls=DjangoJSONEncoder) + ctx['grid'] = json.dumps(GridSchema.model_validate(grid).model_dump(), separators=(',', ':'), cls=DjangoJSONEncoder) csrf.get_token(request)