Author: jbronn
Date: 2011-09-09 20:04:30 -0700 (Fri, 09 Sep 2011)
New Revision: 16775
Added:
django/trunk/django/contrib/gis/tests/geoadmin/
django/trunk/django/contrib/gis/tests/geoadmin/__init__.py
django/trunk/django/contrib/gis/tests/geoadmin/models.py
django/trunk/django/contrib/gis/tests/geoadmin/tests.py
django/trunk/django/contrib/gis/tests/geoadmin/urls.py
Modified:
django/trunk/django/contrib/gis/admin/options.py
django/trunk/django/contrib/gis/tests/__init__.py
Log:
Fixed #16790 -- Modified the geographic admin to work after r16594. Thanks,
jdiego, for the bug report and patch.
Modified: django/trunk/django/contrib/gis/admin/options.py
===================================================================
--- django/trunk/django/contrib/gis/admin/options.py 2011-09-10 02:52:37 UTC
(rev 16774)
+++ django/trunk/django/contrib/gis/admin/options.py 2011-09-10 03:04:30 UTC
(rev 16775)
@@ -39,13 +39,13 @@
debug = False
widget = OpenLayersWidget
- def _media(self):
+ @property
+ def media(self):
"Injects OpenLayers JavaScript into the admin."
- media = super(GeoModelAdmin, self)._media()
+ media = super(GeoModelAdmin, self).media
media.add_js([self.openlayers_url])
media.add_js(self.extra_js)
return media
- media = property(_media)
def formfield_for_dbfield(self, db_field, **kwargs):
"""
Modified: django/trunk/django/contrib/gis/tests/__init__.py
===================================================================
--- django/trunk/django/contrib/gis/tests/__init__.py 2011-09-10 02:52:37 UTC
(rev 16774)
+++ django/trunk/django/contrib/gis/tests/__init__.py 2011-09-10 03:04:30 UTC
(rev 16775)
@@ -29,6 +29,9 @@
# The following GeoDjango test apps depend on GDAL support.
if HAS_GDAL:
+ # Geographic admin requires GDAL
+ apps.append('geoadmin')
+
# 3D apps use LayerMapping, which uses GDAL.
if connection.ops.postgis and GEOS_PREPARE:
apps.append('geo3d')
Added: django/trunk/django/contrib/gis/tests/geoadmin/__init__.py
===================================================================
Added: django/trunk/django/contrib/gis/tests/geoadmin/models.py
===================================================================
--- django/trunk/django/contrib/gis/tests/geoadmin/models.py
(rev 0)
+++ django/trunk/django/contrib/gis/tests/geoadmin/models.py 2011-09-10
03:04:30 UTC (rev 16775)
@@ -0,0 +1,10 @@
+from django.contrib.gis.db import models
+from django.contrib.gis import admin
+
+class City(models.Model):
+ name = models.CharField(max_length=30)
+ point = models.PointField()
+ objects = models.GeoManager()
+ def __unicode__(self): return self.name
+
+admin.site.register(City, admin.OSMGeoAdmin)
Added: django/trunk/django/contrib/gis/tests/geoadmin/tests.py
===================================================================
--- django/trunk/django/contrib/gis/tests/geoadmin/tests.py
(rev 0)
+++ django/trunk/django/contrib/gis/tests/geoadmin/tests.py 2011-09-10
03:04:30 UTC (rev 16775)
@@ -0,0 +1,14 @@
+from django.test import TestCase
+from django.contrib.gis import admin
+from models import City
+
+class GeoAdminTest(TestCase):
+ urls = 'django.contrib.gis.tests.geoadmin.urls'
+
+ def test01_ensure_geographic_media(self):
+ geoadmin = admin.site._registry[City]
+ admin_js = geoadmin.media.render_js()
+ osm_url = geoadmin.extra_js[0]
+ self.assertTrue(any([geoadmin.openlayers_url in js for js in
admin_js]))
+ self.assertTrue(any([osm_url in js for js in admin_js]))
+
Added: django/trunk/django/contrib/gis/tests/geoadmin/urls.py
===================================================================
--- django/trunk/django/contrib/gis/tests/geoadmin/urls.py
(rev 0)
+++ django/trunk/django/contrib/gis/tests/geoadmin/urls.py 2011-09-10
03:04:30 UTC (rev 16775)
@@ -0,0 +1,6 @@
+from django.conf.urls.defaults import *
+from django.contrib import admin
+
+urlpatterns = patterns('',
+ (r'^admin/', include(admin.site.urls)),
+)
--
You received this message because you are subscribed to the Google Groups
"Django updates" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/django-updates?hl=en.