--- ECHO_content/ECHO_collection.py 2004/07/21 16:36:18 1.150
+++ ECHO_content/ECHO_collection.py 2004/07/30 16:46:04 1.153
@@ -30,6 +30,7 @@ from Globals import Persistent, package_
from Acquisition import Implicit
from ECHO_helpers import displayTypes
import urllib
+import time
try:
from psycopg import libpq
@@ -46,6 +47,49 @@ import xml.dom.minidom
from ECHO_graphicalOverview import javaHandler,javaScriptMain
import ECHO_helpers
+def ECHO_rerenderLinksMD(self,obj=None,types=['title','label']):
+ """Rerender all Links"""
+ ret=""
+
+ if not obj:
+ obj = self
+
+ entries=obj.ZopeFind(obj,obj_metatypes=['ECHO_resource'],search_sub=1)
+
+ for entry in entries:
+ if entry[1].meta_type == 'ECHO_resource':
+ try:
+ entry[1].ECHO_getResourceMD(template="no")
+ if "title" in types:
+ entry[1].generate_title()
+ if "label" in types:
+ entry[1].generate_label()
+ ret+="OK:"+entry[0]+"-- "+entry[1].getTitle().decode('utf-8')+"-- "+entry[1].getTitle().decode('utf-8')+"
"
+ except:
+ ret+="Error:"+entry[0]+"
"
+
+
+
+
+ return "
"+ret+"Rerenderd all links to resources in: "+self.title+""
+
+def reloadMetaDataFromStorage(self,RESPONSE=None):
+ """copy metadata from the storage to ECHO"""
+ ret=""
+ resources=self.ZopeFind(self,obj_metatypes=['ECHO_resource'],search_sub=1)
+
+ for resource in resources:
+ x=str(resource[1].copyIndex_meta2echo_resource())+"
"
+ ret+=x
+ #print x
+
+
+ if RESPONSE is not None:
+ #RESPONSE.redirect('./manage_main')
+ return ""+ret+""
+
+ return ret
+
def getRDFDescription(self,linkURL,urn=None,nameDef=None,typeName=None):
"""rdf"""
@@ -921,14 +965,19 @@ class ECHO_resource(Folder,Persistent):
return "ERROR"
ret=[]
- for copyright in obj.getCopyrights():
+ for copyright in obj.getCopyrights(): #copyright - media / partner / copyrightID
- link="copyrightTypes/"+copyright[2]+'/copyright.html'
try:
- copyrightTypeObj=getattr(self.copyrightTypes,copyright[2])
+ if hasattr(self.copyrightTypes,copyright[2]):
+ copyrightTypeObj=getattr(self.copyrightTypes,copyright[2])
+ link="copyrightTypes/"+copyright[2]+'/copyright.html'
+ else:
+ copyrightTypeObj=getattr(obj,copyright[2])
+ link="copyrightModel/"+copyright[2]+'/copyright.html'
+
label=copyrightTypeObj.label
- url=copyrightTypeObj.url
+ url=getattr(copyrightTypeObj, 'url', '')
if url!='':
ret.append((url,copyright[0],copyright[1],copyright[2],label))
@@ -1360,7 +1409,7 @@ class ECHO_resource(Folder,Persistent):
self.metaDataHash={}
if not error=="": #Fehler beim Auslesen des Metafiles
- return "ERROR:",error
+ return "ERROR:",error,self.absolute_url()
self.contentType=metadict['bib_type'][0:]
fields=self.findTagsFromMapping(self.contentType)
@@ -1797,7 +1846,7 @@ class ECHO_collection(Folder, Persistent
def changeViewerTemplateSets(self,project,xslt,thumbtemplate,topbar,digiLibTemplate,RESPONSE=None):
"""change the templates"""
- resources=self.ZopeFind(self,obj_metatypes=['ECHO_resource'])
+ resources=self.ZopeFind(self,obj_metatypes=['ECHO_resource'],search_sub=1)
for resource in resources:
@@ -1807,6 +1856,28 @@ class ECHO_collection(Folder, Persistent
RESPONSE.redirect('manage_main')
+ def setStartpageFolderForm(self):
+ """Form for changing the startpage"""
+
+
+ pt=PageTemplateFile('Products/ECHO_content/zpt/ChangeECHO_resourceStartPageFolder.zpt').__of__(self)
+ 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 copySearchFields(self,RESPONSE=None):
"""copys import metadatafields to the object"""
resources=self.ZopeFind(self,obj_metatypes=['ECHO_resource'])
@@ -1817,21 +1888,19 @@ class ECHO_collection(Folder, Persistent
if RESPONSE is not None:
RESPONSE.redirect('manage_main')
+
+ def reloadMetaDataFromStorageWarning(self,RESPONSE=None):
+ """warning"""
+ pt=PageTemplateFile('Products/ECHO_content/zpt/reloadMetaDataFromStorageWarning.zpt').__of__(self)
+ pt.content_type="text/html"
+ return pt()
def reloadMetaDataFromStorage(self,RESPONSE=None):
"""copy metadata from the storage to ECHO"""
- ret=""
- resources=self.ZopeFind(self,obj_metatypes=['ECHO_resource'])
-
- for resource in resources:
-
- ret+=str(resource[1].copyIndex_meta2echo_resource())+"
"
+ return reloadMetaDataFromStorage(self,RESPONSE=None)
- if RESPONSE is not None:
- # RESPONSE.redirect('manage_main')
- return ret
-
+
def getPartnerCopyright(self,name,sonst="generic"):
"""gibt generisches copyright eines partners aus, sonst behalte jetzige einsteillung"""
#print "hi",name,sonst
@@ -2079,34 +2148,20 @@ class ECHO_collection(Folder, Persistent
security.declarePublic('ECHO_rerenderLinksMD')
- def ECHO_rerenderLinksMD(self,obj=None,types=['title','label']):
- """Rerender all Links"""
- ret=""
-
- if not obj:
- obj = self
-
- entries=obj.ZopeFind(obj,obj_metatypes=['ECHO_resource','ECHO_collection'])
- for entry in entries:
- if entry[1].meta_type == 'ECHO_resource':
- try:
- entry[1].ECHO_getResourceMD(template="no")
- if "title" in types:
- entry[1].generate_title()
- if "label" in types:
- entry[1].generate_label()
- ret+="OK:"+entry[0]+"-- "+entry[1].getTitle().decode('utf-8')+"-- "+entry[1].getTitle().decode('utf-8')+"
"
- except:
- ret+="Error:"+entry[0]+"
"
+ def ECHO_rerenderLinksMDWarning(self):
+ """change form"""
+ pt=PageTemplateFile('Products/ECHO_content/zpt/rerenderLinksWarning').__of__(self)
+ pt.content_type="text/html"
+ return pt()
- else:
- self.ECHO_rerenderLinksMD(entry[1])
-
-
- return ret+"Rerenderd all links to resources in: "+self.title
+
+ def ECHO_rerenderLinksMD(self,obj=None,types=['title','label']):
+ """Rerender all Links"""
+ return ECHO_rerenderLinksMD(self,obj,types)
+
security.declarePublic('ECHO_newViewerLink')
@@ -2145,11 +2200,12 @@ class ECHO_collection(Folder, Persistent
{'label':'Main Config','action':'ECHO_collection_config'},
{'label':'Change Labels','action':'changeLabels'},
{'label':'Change Titles','action':'changeTitles'},
- {'label':'Rerender Labels and Titles','action':'ECHO_rerenderLinksMD'},
+ {'label':'Rerender Labels and Titles','action':'ECHO_rerenderLinksMDWarning'},
{'label':'Graphics','action':'ECHO_graphicEntry'},
{'label':'create resources from XML','action':'createRessourcesFromXMLForm'},
+ {'label':'Set Startpage','action':'setStartpageFolderForm'},
{'label':'Change Viewer Templates','action':'changeViewerTemplateSetsForm'},
- {'label':'Reload Metadata','action':'reloadMetaDataFromStorage'},
+ {'label':'Reload Metadata','action':'reloadMetaDataFromStorageWarning'},
{'label':'ImportCollection','action':'updateCollection'},
{'label':'Copy MD for indexing and search','action':'copySearchFields'},
)
@@ -2355,7 +2411,7 @@ class ECHO_group(ECHO_collection):
manage_options = Folder.manage_options+(
{'label':'Main Config','action':'ECHO_group_config'},
- {'label':'Rerender Links','action':'ECHO_rerenderLinksMD'},
+ {'label':'Rerender Links','action':'ECHO_rerenderLinksMDWarning'},
{'label':'Graphics','action':'ECHO_graphicEntry'},
)
@@ -2607,6 +2663,13 @@ class ECHO_root(Folder,Persistent,Implic
security=ClassSecurityInfo()
meta_type="ECHO_root"
+
+
+ manage_options=Folder.manage_options+(
+ {'label':'Main Config','action':'ECHO_copyright_configForm'},
+ {'label':'Reload Metadata','action':'reloadMetaDataFromStorageWarning'},
+ )
+
def showRDF(self):
"""showrdf"""
@@ -2617,6 +2680,18 @@ class ECHO_root(Folder,Persistent,Implic
ret+=""""""
return ret
+
+ def reloadMetaDataFromStorageWarning(self,RESPONSE=None):
+ """warning"""
+ pt=PageTemplateFile('Products/ECHO_content/zpt/reloadMetaDataFromStorageWarning.zpt').__of__(self)
+ 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"""
@@ -2737,7 +2812,7 @@ class ECHO_root(Folder,Persistent,Implic
return retStr
- def copyrightTypeSelector_HTML(self,selected=None,first=None):
+ def copyrightTypeSelector_HTML(self, object=None, selected=None,first=None):
"""give type selector"""
if not first:
@@ -2758,8 +2833,16 @@ class ECHO_root(Folder,Persistent,Implic
retStr+="""