--- ECHO_content/ECHO_collection.py 2012/09/03 13:11:09 1.310.2.9 +++ ECHO_content/ECHO_collection.py 2011/11/03 11:05:25 1.311 @@ -9,7 +9,11 @@ class ECHO_externalLink contains informa """ - +try: + from reportlab.pdfgen import canvas + from reportlab.lib.pagesizes import A4 +except: + print "PDF generation will not work" import urlparse import string @@ -36,8 +40,6 @@ from Globals import Persistent, package_ from Acquisition import Implicit from Products.ZCatalog.CatalogPathAwareness import CatalogAware from Products.ZCTextIndex.ZCTextIndex import manage_addLexicon -import ECHO_helpers -from Acquisition import aq_parent try: from Products.MetaDataProvider.MetaDataClient import MetaDataClient except: @@ -47,11 +49,11 @@ import urllib2 import cgi import smtplib import time -#from Ft.Xml.Domlette import NonvalidatingReader -#from Ft.Xml.Domlette import PrettyPrint, Print -#from Ft.Xml import EMPTY_NAMESPACE -# -#import Ft.Xml.XPath +from Ft.Xml.Domlette import NonvalidatingReader +from Ft.Xml.Domlette import PrettyPrint, Print +from Ft.Xml import EMPTY_NAMESPACE + +import Ft.Xml.XPath import cStringIO import sys @@ -81,13 +83,11 @@ except: pass from ECHO_movie import * -#import vlp_xmlhelpers #TODO: vlp elemente aus echo herausnehmen +import vlp_xmlhelpers #TODO: vlp elemente aus echo herausnehmen import xmlrpclib import logging -from ECHO_root import ECHO_root - #ersetzt logging.info def logger(txt,method,txt2): """logging""" @@ -697,8 +697,6 @@ class ECHO_collection(CatalogAware, Fold meta_type='ECHO_collection' default_catalog='resourceCatalog' - rootMetaTypes = ['ECHO_root', 'ECHO_main', 'ECHO_nav'] - # viewClassificationList=viewClassificationListMaster displayTypes=displayTypes @@ -711,11 +709,12 @@ class ECHO_collection(CatalogAware, Fold return crumbs[0][2].getId() p = self + sec = None # descend parents to the root (and remember the last id) - while p is not None and p.meta_type not in self.rootMetaTypes: + while p is not None and p.meta_type != 'ECHO_root' and p.meta_type!='ECHO_main' and p.meta_type!='ECHO_nav': sec = p.getId() - p = aq_parent(p.context) + p = p.aq_parent return sec @@ -729,21 +728,12 @@ class ECHO_collection(CatalogAware, Fold sec = None subsec = None # descend parents to the root (and remember the last id) - while p is not None and p.meta_type not in self.rootMetaTypes: + while p is not None and p.meta_type != 'ECHO_root' and p.meta_type!='ECHO_main' and p.meta_type!='ECHO_nav': subsec = sec sec = p.getId() - p = aq_parent(p.context) + p = p.aq_parent return subsec - - - def getCrumb(self): - """returns breadcrumb for this object""" - return ECHO_helpers.getCrumb(self) - - def getHierCrumbs(self): - """returns a list of hierarchical breadcrumbs from self to the ECHO_root""" - return ECHO_helpers.getHierCrumbs(self) def exportImportObjects_html(self,RESPONSE): @@ -1088,18 +1078,39 @@ class ECHO_collection(CatalogAware, Fold if RESPONSE is not None: RESPONSE.redirect('manage_main') - - def changeViewerForm(self): + def changeViewerTemplateSetsForm(self): """change the viewer template set""" - pt=zptFile(self, 'zpt/changeECHOViewer') + pt=zptFile(self, 'zpt/changeViewerTemplateSet') return pt() - + + def getViewerTemplateSets(self,obj_ids=None,RESPONSE=None): + """Get the ViewerTemplateSet title for configuration""" + ret=[] + + try: + viewerTemplateSets=self.ZopeFind(self.viewerTemplateSets,obj_metatypes=['OSAS_viewerTemplateSet'],obj_ids=obj_ids)#assumes viewerTemplateSets folder somewhere in the hierarchie. + + for viewerTemplateSet in viewerTemplateSets: + ret.append((viewerTemplateSet[1].title,viewerTemplateSet[0],viewerTemplateSet[1])) + + return ret + + except: + return [('no ViewerTemplateSetfolders','')] + def getTextToolsField(self,name,default=''): - """Lese text tool field der Collection not implemented yet!""" + """Lese viewerTemplateSet der Collection not implemented yet!""" return default + def isSelectedViewerTemplateSet(self,obj,id): + """is ausgewaehlt""" + + if self.REQUEST['viewerTemplateSet']==id: + return 1 + else: + return None def changeViewer(self,newViewer,REQUEST=None,RESPONSE=None): """changes all ressources to the newViewer""" @@ -1123,7 +1134,38 @@ class ECHO_collection(CatalogAware, Fold if RESPONSE is not None: RESPONSE.write("
Done