--- ECHO_content/ECHO_collection.py 2011/10/13 07:48:27 1.310.2.1 +++ 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 @@ -45,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 @@ -1143,7 +1147,25 @@ class ECHO_collection(CatalogAware, Fold RESPONSE.redirect('manage_main') + def setStartpageFolderForm(self): + """Form for changing the startpage""" + + + pt=zptFile(self, 'zpt/ChangeECHO_resourceStartPageFolder.zpt') + pt.content_type="text/html" + return pt() + + def setStartpageFolder(self,startpage=None,RESPONSE=None): + """change the templates""" + + resources=self.ZopeFind(self,obj_metatypes=['ECHO_resource'],search_sub=1) + + for resource in resources: + + resource[1].setStartPage(startpage) + if RESPONSE is not None: + RESPONSE.redirect('manage_main') def copyTitleToInfoXMLFolder(self,RESPONSE=None): """copy title into the title field of info.xml @@ -1178,7 +1200,17 @@ class ECHO_collection(CatalogAware, Fold if RESPONSE is not None: RESPONSE.redirect('manage_main') - + def reloadMetaDataFromStorageWarning(self,RESPONSE=None): + """warning""" + pt=zptFile(self, 'zpt/reloadMetaDataFromStorageWarning.zpt') + pt.content_type="text/html" + return pt() + + def reloadMetaDataFromStorage(self,RESPONSE=None): + """copy metadata from the storage to ECHO""" + + return reloadMetaDataFromStorage(self,RESPONSE) + def getPartnerCopyright(self,name,sonst="generic"): """gibt generisches copyright eines partners aus, sonst behalte jetzige einsteillung""" @@ -1411,8 +1443,11 @@ class ECHO_collection(CatalogAware, Fold {'label':'Export/Import Objects','action':'exportImportObjects_html'}, {'label':'Graphic Coords','action':'ECHO_graphicEntry'}, {'label':'create resources from XML','action':'createRessourcesFromXMLForm'}, + {'label':'Set Startpage','action':'setStartpageFolderForm'}, {'label':'Change Viewer Templates and Image Viewer','action':'changeViewerTemplateSetsForm'}, + {'label':'Reload Metadata','action':'reloadMetaDataFromStorageWarning'}, {'label':'ImportCollection','action':'importCollection'}, + {'label':'Copy MD for indexing and search','action':'copySearchFields'}, {'label':'Change access rights', 'action':'changeAccessRightsCollectionForm'}, ) @@ -1471,8 +1506,15 @@ class ECHO_collection(CatalogAware, Fold def showOverview(self): """overview""" + # ECHO_overview.html template for this instance if 'ECHO_overview.html' in self.__dict__.keys(): return getattr(self,'ECHO_overview.html')() + + # ECHO_overview_main template in path + if hasattr(self, 'ECHO_overview_main'): + return getattr(self, 'ECHO_overview_main')() + + # template from product pt=zptFile(self, 'zpt/ECHO_content_overview.zpt') return pt() @@ -1887,10 +1929,12 @@ class ECHO_root(Folder,Persistent,Implic manage_options=Folder.manage_options+( {'label':'Main Config','action':'ECHO_copyright_configForm'}, + {'label':'Reload Metadata','action':'reloadMetaDataFromStorageWarning'}, {'label':'Change Weights','action':'changeWeights'}, {'label':'Generate from RDF','action':'generateFromRDFForm'}, {'label':'update Resource Catalog','action':'updateResourceCatalog'}, - ) + {'label':'Copy MD for indexing and search','action':'copySearchFields'}, +) @@ -1901,7 +1945,16 @@ class ECHO_root(Folder,Persistent,Implic def getECHORoot(self): return self + def copySearchFields(self,RESPONSE=None): + """copys < metadatafields to the object""" + resources=self.ZopeFind(self,obj_metatypes=['ECHO_resource'],search_sub=1) + + for resource in resources: + resource[1].copySearchFields() + + if RESPONSE is not None: + RESPONSE.redirect('manage_main') def mod_re_sub(self,pattern,replace,string): """re.sub aus mod re zur Verfuegung stellen""" @@ -2146,6 +2199,17 @@ class ECHO_root(Folder,Persistent,Implic pt.content_type="text/html" return pt() + + def reloadMetaDataFromStorageWarning(self,RESPONSE=None): + """warning""" + pt=zptFile(self, 'zpt/reloadMetaDataFromStorageWarning.zpt') + pt.content_type="text/html" + return pt() + + def reloadMetaDataFromStorage(self,RESPONSE=None): + """reload MD from Storage""" + + return reloadMetaDataFromStorage(self,RESPONSE) def getRDF(self,urn=None): """rdf of the collection""" @@ -3195,6 +3259,7 @@ class ECHO_main(ECHO_root,ECHO_navigatio {'label':'Main Config','action':'ECHO_navigationConfigForm'}, {'label':'Cache','action':'ECHO_cacheManageForm'}, {'label':'Main Config','action':'ECHO_copyright_configForm'}, + {'label':'Reload Metadata','action':'reloadMetaDataFromStorageWarning'}, {'label':'Change Weights','action':'changeWeights'}, {'label':'Generate from RDF','action':'generateFromRDFForm'}, {'label':'update Resource Catalog','action':'updateResourceCatalog'},