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.

Reply via email to