--- ECHO_content/ECHO_helpers.py 2005/06/09 21:57:30 1.54
+++ ECHO_content/ECHO_helpers.py 2005/06/13 10:35:04 1.56
@@ -178,8 +178,19 @@ class ECHO_basis:
def getMapAreas(self):
"""returns the list of MapAreas"""
+ forcetypes = self.REQUEST.get('map_force_types', None)
+ if forcetypes:
+ typelist = forcetypes.split(',')
+ else:
+ typelist = None
+ areas = []
# get all contained MapAreas
- areas = [res[1] for res in self.ZopeFind(self, obj_metatypes=('MapArea'))]
+ for res in self.ZopeFind(self, obj_metatypes=('MapArea')):
+ area = res[1]
+ # check the allowed types
+ if typelist is not None and area.getType() not in typelist:
+ continue
+ areas.append(area)
return areas
def addMapArea(self, newarea):
@@ -235,7 +246,7 @@ class ECHO_basis:
area.setAngle(angle)
area.setType(type)
area.setPermanent(permanent)
- # add new area
+ # add the "new" area
if self.REQUEST.has_key('add'):
coordstring = self.REQUEST.get('coords.new', '')
coords = string.split(coordstring, ',')
@@ -252,9 +263,15 @@ class ECHO_basis:
def createJSAreas(self, areas):
"""create area calls for JavaScript"""
+ forceperm = self.REQUEST.get('map_force_permanent', None)
js="\n"
for ob in areas:
- js+="""addArea('%s', 'overview', %s, '%s', '%s');\n"""%(ob.getFullId(),ob.getCoordString(),ob.getType(),ob.isPermanent())
+ # check for force-permanent
+ if forceperm is not None:
+ perm = forceperm
+ else:
+ perm = ob.isPermanent()
+ js+="""addArea('%s', 'overview', %s, '%s', '%s');\n"""%(ob.getFullId(),ob.getCoordString(),ob.getType(),perm)
return js
def createMapHead(self):
@@ -292,11 +309,11 @@ class ECHO_basis:
tag = ""
if bt.isN4:
# N4 needs layer for highlighting
- tag += '