Changeset 2206 in products


Ignore:
Timestamp:
Apr 26, 2010 7:16:19 PM (14 years ago)
Author:
mylan
Message:

Fix correct JS added when portlet rendering on non IMapsEnabled adaptable context

File:
1 edited

Legend:

Unmodified
Added
Removed
  • quintagroup.portlet.map/trunk/quintagroup/portlet/map/qgmapportlet.py

    r2197 r2206  
     1import string 
    12from zope.interface import implements 
    23from zope.component import queryMultiAdapter, getMultiAdapter 
     
    6162 
    6263 
     64JS_TEMPLATE = string.Template(""" 
     65   <script src="${portal_url}/maps-config.js" type="text/javascript"></script> 
     66   <script src="${portal_url}/maps-googlemaps.js" type="text/javascript"></script> 
     67""") 
     68 
    6369class Renderer(base.Renderer): 
    6470    """Portlet renderer. 
     
    7682        portal_state = getMultiAdapter((context, self.request), name=u'plone_portal_state') 
    7783        self.portal = portal_state.portal() 
     84        self.portal_url = portal_state.portal_url() 
    7885        self.gmapEnView = queryMultiAdapter((self.collection, self.request), 
    7986                                          name='maps_googlemaps_enabled_view') 
     
    8188                                          name='maps_googlemaps_view') 
    8289 
     90    def render(self): 
     91        return self.render_js() + self.render_html() 
     92 
    8393    @ram.cache(render_cachekey) 
    84     def render(self): 
     94    def render_html(self): 
    8595        return xhtml_compress(self._template()) 
    8696 
     
    102112        collection_url = self.collection and self.collection.absolute_url() 
    103113        return collection_url and collection_url + '/maps_map' or '' 
     114 
     115    @memoize 
     116    def render_js(self): 
     117        #  JS block included only if it's not already present in html-header block: 
     118        #  for check use maps_googlemaps_enabled_view view 
     119        contxtEnView = queryMultiAdapter((self.context, self.request), 
     120                                         name='maps_googlemaps_enabled_view') 
     121        if not (contxtEnView and contxtEnView.enabled): 
     122            return JS_TEMPLATE.substitute({'portal_url':self.portal_url}) 
     123        return "" 
    104124 
    105125    @memoize 
Note: See TracChangeset for help on using the changeset viewer.