mirror of https://github.com/django/django.git
Refs #33924 -- Removed BaseGeometryWidget.map_height/map_width attributes per deprecation timeline.
This commit is contained in:
parent
04eb1b4567
commit
7433237664
|
@ -1,5 +1,4 @@
|
||||||
import logging
|
import logging
|
||||||
import warnings
|
|
||||||
|
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
from django.contrib.gis import gdal
|
from django.contrib.gis import gdal
|
||||||
|
@ -7,7 +6,6 @@ from django.contrib.gis.geometry import json_regex
|
||||||
from django.contrib.gis.geos import GEOSException, GEOSGeometry
|
from django.contrib.gis.geos import GEOSException, GEOSGeometry
|
||||||
from django.forms.widgets import Widget
|
from django.forms.widgets import Widget
|
||||||
from django.utils import translation
|
from django.utils import translation
|
||||||
from django.utils.deprecation import RemovedInDjango51Warning
|
|
||||||
|
|
||||||
logger = logging.getLogger("django.contrib.gis")
|
logger = logging.getLogger("django.contrib.gis")
|
||||||
|
|
||||||
|
@ -20,8 +18,6 @@ class BaseGeometryWidget(Widget):
|
||||||
|
|
||||||
geom_type = "GEOMETRY"
|
geom_type = "GEOMETRY"
|
||||||
map_srid = 4326
|
map_srid = 4326
|
||||||
map_width = 600 # RemovedInDjango51Warning
|
|
||||||
map_height = 400 # RemovedInDjango51Warning
|
|
||||||
display_raw = False
|
display_raw = False
|
||||||
|
|
||||||
supports_3d = False
|
supports_3d = False
|
||||||
|
@ -29,19 +25,8 @@ class BaseGeometryWidget(Widget):
|
||||||
|
|
||||||
def __init__(self, attrs=None):
|
def __init__(self, attrs=None):
|
||||||
self.attrs = {}
|
self.attrs = {}
|
||||||
for key in ("geom_type", "map_srid", "map_width", "map_height", "display_raw"):
|
for key in ("geom_type", "map_srid", "display_raw"):
|
||||||
self.attrs[key] = getattr(self, key)
|
self.attrs[key] = getattr(self, key)
|
||||||
if (
|
|
||||||
(attrs and ("map_width" in attrs or "map_height" in attrs))
|
|
||||||
or self.map_width != 600
|
|
||||||
or self.map_height != 400
|
|
||||||
):
|
|
||||||
warnings.warn(
|
|
||||||
"The map_height and map_width widget attributes are deprecated. Please "
|
|
||||||
"use CSS to size map widgets.",
|
|
||||||
category=RemovedInDjango51Warning,
|
|
||||||
stacklevel=2,
|
|
||||||
)
|
|
||||||
if attrs:
|
if attrs:
|
||||||
self.attrs.update(attrs)
|
self.attrs.update(attrs)
|
||||||
|
|
||||||
|
|
|
@ -62,11 +62,6 @@ class MapWidget {
|
||||||
this.options.base_layer = new ol.layer.Tile({source: new ol.source.OSM()});
|
this.options.base_layer = new ol.layer.Tile({source: new ol.source.OSM()});
|
||||||
}
|
}
|
||||||
|
|
||||||
// RemovedInDjango51Warning: when the deprecation ends, remove setting
|
|
||||||
// width/height (3 lines below).
|
|
||||||
const mapContainer = document.getElementById(this.options.map_id);
|
|
||||||
mapContainer.style.width = `${mapContainer.dataset.width}px`;
|
|
||||||
mapContainer.style.height = `${mapContainer.dataset.height}px`;
|
|
||||||
this.map = this.createMap();
|
this.map = this.createMap();
|
||||||
this.featureCollection = new ol.Collection();
|
this.featureCollection = new ol.Collection();
|
||||||
this.featureOverlay = new ol.layer.Vector({
|
this.featureOverlay = new ol.layer.Vector({
|
||||||
|
|
|
@ -1,8 +1,7 @@
|
||||||
{% load i18n l10n %}
|
{% load i18n l10n %}
|
||||||
|
|
||||||
<div id="{{ id }}_div_map" class="dj_map_wrapper">
|
<div id="{{ id }}_div_map" class="dj_map_wrapper">
|
||||||
{# RemovedInDjango51Warning: when the deprecation ends, remove data-width and data-height attributes. #}
|
<div id="{{ id }}_map" class="dj_map"></div>
|
||||||
<div id="{{ id }}_map" class="dj_map" data-width="{{ map_width }}" data-height="{{ map_height }}"></div>
|
|
||||||
{% if not disabled %}<span class="clear_features"><a href="">{% translate "Delete all Features" %}</a></span>{% endif %}
|
{% if not disabled %}<span class="clear_features"><a href="">{% translate "Delete all Features" %}</a></span>{% endif %}
|
||||||
{% if display_raw %}<p>{% translate "Debugging window (serialized value)" %}</p>{% endif %}
|
{% if display_raw %}<p>{% translate "Debugging window (serialized value)" %}</p>{% endif %}
|
||||||
<textarea id="{{ id }}" class="vSerializedField required" cols="150" rows="10" name="{{ name }}"
|
<textarea id="{{ id }}" class="vSerializedField required" cols="150" rows="10" name="{{ name }}"
|
||||||
|
|
|
@ -101,16 +101,6 @@ from other Django widget attributes.
|
||||||
|
|
||||||
The OpenGIS geometry type, generally set by the form field.
|
The OpenGIS geometry type, generally set by the form field.
|
||||||
|
|
||||||
.. attribute:: BaseGeometryWidget.map_height
|
|
||||||
.. attribute:: BaseGeometryWidget.map_width
|
|
||||||
|
|
||||||
Height and width of the widget map (default is 400x600).
|
|
||||||
|
|
||||||
.. deprecated:: 4.2
|
|
||||||
|
|
||||||
``map_height`` and ``map_width`` attributes are deprecated, use CSS to
|
|
||||||
size map widgets instead.
|
|
||||||
|
|
||||||
.. attribute:: BaseGeometryWidget.map_srid
|
.. attribute:: BaseGeometryWidget.map_srid
|
||||||
|
|
||||||
SRID code used by the map (default is 4326).
|
SRID code used by the map (default is 4326).
|
||||||
|
|
|
@ -267,3 +267,6 @@ to remove usage of these features.
|
||||||
support in historical migrations.
|
support in historical migrations.
|
||||||
|
|
||||||
* The ``django.contrib.postgres.fields.CIText`` mixin is removed.
|
* The ``django.contrib.postgres.fields.CIText`` mixin is removed.
|
||||||
|
|
||||||
|
* The ``map_width`` and ``map_height`` attributes of ``BaseGeometryWidget`` are
|
||||||
|
removed.
|
||||||
|
|
|
@ -5,7 +5,6 @@ from django.contrib.gis.forms import BaseGeometryWidget, OpenLayersWidget
|
||||||
from django.contrib.gis.geos import GEOSGeometry
|
from django.contrib.gis.geos import GEOSGeometry
|
||||||
from django.core.exceptions import ValidationError
|
from django.core.exceptions import ValidationError
|
||||||
from django.test import SimpleTestCase, override_settings
|
from django.test import SimpleTestCase, override_settings
|
||||||
from django.utils.deprecation import RemovedInDjango51Warning
|
|
||||||
from django.utils.html import escape
|
from django.utils.html import escape
|
||||||
|
|
||||||
|
|
||||||
|
@ -445,9 +444,7 @@ class GeometryWidgetTests(SimpleTestCase):
|
||||||
"is_hidden": False,
|
"is_hidden": False,
|
||||||
"attrs": {
|
"attrs": {
|
||||||
"map_srid": 4326,
|
"map_srid": 4326,
|
||||||
"map_width": 600,
|
|
||||||
"geom_type": "GEOMETRY",
|
"geom_type": "GEOMETRY",
|
||||||
"map_height": 400,
|
|
||||||
"display_raw": False,
|
"display_raw": False,
|
||||||
},
|
},
|
||||||
"name": "name",
|
"name": "name",
|
||||||
|
@ -486,19 +483,3 @@ class GeometryWidgetTests(SimpleTestCase):
|
||||||
form = PointForm(data={"p": point.json})
|
form = PointForm(data={"p": point.json})
|
||||||
self.assertTrue(form.is_valid())
|
self.assertTrue(form.is_valid())
|
||||||
self.assertEqual(form.cleaned_data["p"].srid, 4326)
|
self.assertEqual(form.cleaned_data["p"].srid, 4326)
|
||||||
|
|
||||||
def test_deprecated_width_and_height(self):
|
|
||||||
class CustomGeometryWidget(forms.BaseGeometryWidget):
|
|
||||||
map_height = 300
|
|
||||||
map_width = 550
|
|
||||||
|
|
||||||
msg = (
|
|
||||||
"The map_height and map_width widget attributes are deprecated. Please use "
|
|
||||||
"CSS to size map widgets."
|
|
||||||
)
|
|
||||||
with self.assertRaisesMessage(RemovedInDjango51Warning, msg):
|
|
||||||
CustomGeometryWidget()
|
|
||||||
with self.assertRaisesMessage(RemovedInDjango51Warning, msg):
|
|
||||||
forms.BaseGeometryWidget({"map_width": 400})
|
|
||||||
with self.assertRaisesMessage(RemovedInDjango51Warning, msg):
|
|
||||||
forms.BaseGeometryWidget({"map_height": 600})
|
|
||||||
|
|
Loading…
Reference in New Issue