Author: jbronn Date: 2009-01-12 20:08:26 -0600 (Mon, 12 Jan 2009) New Revision: 9733
Modified: django/trunk/django/contrib/gis/admin/options.py django/trunk/django/contrib/gis/admin/widgets.py django/trunk/django/contrib/gis/templates/gis/admin/openlayers.html Log: Fixed #9278, #9694 -- Geographic overlays now display in admin with right to left langauges; simplified transformation process in `OpenLayersWidget` to fix Ubuntu 8.10/Apache 2.2.9 crash; updated OpenLayers version to 2.7. Modified: django/trunk/django/contrib/gis/admin/options.py =================================================================== --- django/trunk/django/contrib/gis/admin/options.py 2009-01-12 17:31:40 UTC (rev 9732) +++ django/trunk/django/contrib/gis/admin/options.py 2009-01-13 02:08:26 UTC (rev 9733) @@ -28,12 +28,11 @@ scale_text = True layerswitcher = True scrollable = True - admin_media_prefix = settings.ADMIN_MEDIA_PREFIX map_width = 600 map_height = 400 map_srid = 4326 map_template = 'gis/admin/openlayers.html' - openlayers_url = 'http://openlayers.org/api/2.6/OpenLayers.js' + openlayers_url = 'http://openlayers.org/api/2.7/OpenLayers.js' wms_url = 'http://labs.metacarta.com/wms/vmap0' wms_layer = 'basic' wms_name = 'OpenLayers WMS' @@ -76,8 +75,7 @@ class OLMap(self.widget): template = self.map_template geom_type = db_field._geom - params = {'admin_media_prefix' : self.admin_media_prefix, - 'default_lon' : self.default_lon, + params = {'default_lon' : self.default_lon, 'default_lat' : self.default_lat, 'default_zoom' : self.default_zoom, 'display_wkt' : self.debug or self.display_wkt, Modified: django/trunk/django/contrib/gis/admin/widgets.py =================================================================== --- django/trunk/django/contrib/gis/admin/widgets.py 2009-01-12 17:31:40 UTC (rev 9732) +++ django/trunk/django/contrib/gis/admin/widgets.py 2009-01-13 02:08:26 UTC (rev 9733) @@ -1,8 +1,16 @@ +from django.conf import settings from django.contrib.gis.gdal import OGRException from django.contrib.gis.geos import GEOSGeometry, GEOSException from django.forms.widgets import Textarea -from django.template.loader import render_to_string +from django.template import loader, Context +from django.utils import translation +# Creating a template context that contains Django settings +# values needed by admin map templates. +geo_context = Context({'ADMIN_MEDIA_PREFIX' : settings.ADMIN_MEDIA_PREFIX, + 'LANGUAGE_BIDI' : translation.get_language_bidi(), + }) + class OpenLayersWidget(Textarea): """ Renders an OpenLayers map using the WKT of the geometry. @@ -40,8 +48,9 @@ srid = self.params['srid'] if value.srid != srid: try: - value.transform(srid) - wkt = value.wkt + ogr = value.ogr + ogr.transform(srid) + wkt = ogr.wkt except OGRException: wkt = '' else: @@ -51,7 +60,8 @@ # geometry. self.params['wkt'] = wkt - return render_to_string(self.template, self.params) + return loader.render_to_string(self.template, self.params, + context_instance=geo_context) def map_options(self): "Builds the map options hash for the OpenLayers template." Modified: django/trunk/django/contrib/gis/templates/gis/admin/openlayers.html =================================================================== --- django/trunk/django/contrib/gis/templates/gis/admin/openlayers.html 2009-01-12 17:31:40 UTC (rev 9732) +++ django/trunk/django/contrib/gis/templates/gis/admin/openlayers.html 2009-01-13 02:08:26 UTC (rev 9733) @@ -2,14 +2,14 @@ <style type="text/css"> #{{ id }}_map { width: {{ map_width }}px; height: {{ map_height }}px; } #{{ id }}_map .aligned label { float:inherit; } - #{{ id }}_admin_map { position: relative; vertical-align: top; float: left; } + #{{ id }}_admin_map { position: relative; vertical-align: top; float: {{ LANGUAGE_BIDI|yesno:"right,left" }}; } {% if not display_wkt %}#{{ id }} { display: none; }{% endif %} .olControlEditingToolbar .olControlModifyFeatureItemActive { - background-image: url("{{ admin_media_prefix }}img/gis/move_vertex_on.png"); + background-image: url("{{ ADMIN_MEDIA_PREFIX }}img/gis/move_vertex_on.png"); background-repeat: no-repeat; } .olControlEditingToolbar .olControlModifyFeatureItemInactive { - background-image: url("{{ admin_media_prefix }}img/gis/move_vertex_off.png"); + background-image: url("{{ ADMIN_MEDIA_PREFIX }}img/gis/move_vertex_off.png"); background-repeat: no-repeat; } </style> @@ -29,7 +29,7 @@ {% block openlayers %}{% include "gis/admin/openlayers.js" %}{% endblock %} //]]> </script> -<div id="{{ id }}_map"></div> +<div id="{{ id }}_map"{% if LANGUAGE_BIDI %} dir="ltr"{% endif %}></div> <a href="javascript:{{ module }}.clearFeatures()">Delete all Features</a> {% if display_wkt %}<p> WKT debugging window:</p>{% endif %} <textarea id="{{ id }}" class="vWKTField required" cols="150" rows="10" name="{{ field_name }}">{{ wkt }}</textarea> --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Django updates" group. To post to this group, send email to django-updates@googlegroups.com To unsubscribe from this group, send email to django-updates+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/django-updates?hl=en -~----------~----~----~----~------~----~------~--~---