--- OSAS/OSA_system/OSAS_addfiles.py 2003/10/05 18:15:06 1.2 +++ OSAS/OSA_system/OSAS_addfiles.py 2003/10/06 22:19:47 1.5 @@ -1,6 +1,9 @@ # Methoden und Classen zum Hinzufuegen von Dokumenten +from Products.ECHO_content import ECHO_collection +import urllib import OSAS_add +import string from OFS.Folder import Folder from AccessControl import ClassSecurityInfo from Globals import InitializeClass @@ -140,6 +143,122 @@ def manage_AddOSAS_add_Text(self,id,RESP InitializeClass(OSAS_add_Text) +class OSAS_add_contextData(Folder): + """Einfuegen eines Documentes in eine Collection""" + + security=ClassSecurityInfo() + + + meta_type='OSAS_add_contextData' + + def __init__(self,id,collection): + self.id=id + self.collection=collection + + def getChilds(self,id,depth,items): + list=[] + for object in items: + if (depth==object[2])&(id==object[0]): + list.append(object) + return list + + def printChilds(self,startItem,depth,items,enddepth): + + def spaces(depth): + tmp="" + k=0 + while k<2*depth: + k+=1 + tmp=tmp+" "+" " + return tmp + + def retLink(object): + return "%s"% (string.join(object.getPhysicalPath(),"."),object.title) + + depth+=1 + childs=self.getChilds(startItem,depth,items) + tmp="" + for child in childs: + if depth < enddepth: + tmp=tmp+spaces(depth) + + tmp= tmp+retLink(child[1])+"
"+self.printChilds(child[1],depth,items,enddepth)+"
" + else: + tmp=tmp+spaces(2*depth) + tmp = tmp+retLink(child[1])+"
" + + return tmp + + def generateTree(self,depth=3): + """Erzeugt HTML-Tree der Collection""" + + exec("items=self.getPhysicalRoot()."+self.collection+".getCollectionTree()") + #print items[0][0] + + childs=self.printChilds(items[0][0],0,items,3) + + return childs + + def getPartners(self): + """Zeige Partnerliste""" + exec("items=self.getPhysicalRoot()."+self.collection+".partners.getPartners()") + return items + def addContextData(self,path): + """Hinzufügen zu einer Sammlung""" + pt=PageTemplateFile('products/OSA_system/contextDataMain.zpt').__of__(self) + return pt() + + + + def addContextData2(self,path,collection,context,science,practice,source_type,period,label,description,content_type,responsible,credits): + """Hinzufuegen der Resource""" + splitted=path.split("/") + + id=splitted[len(splitted)-1] + title=splitted[len(splitted)-1] + metalink="http://"+path + link="TOBEDONE" + """Hinzufügen der Ressource""" + + + exec("collection_object=self"+collection) + + ECHO_collection.manage_AddECHO_resource(collection_object,context,science,practice,source_type,period,id,title,label,description,content_type,responsible,link,metalink,credits,RESPONSE=None) + + return self.REQUEST.RESPONSE.redirect(self.REQUEST['URL2']+'?path='+path) + + manage_options = Folder.manage_options+( + {'label':'Main Config','action':'add_contextData_config'}, + ) + + + def add_contextData_config(self): + """Main configuration""" + pt=PageTemplateFile('products/OSA_system/ChangeOSAS_add_contextData.zpt').__of__(self) + return pt() + + + def change_OSAS_add_contextData(self,collection,RESPONSE=None): + """Change""" + self.collection=collection + if RESPONSE is not None: + RESPONSE.redirect('manage_main') + +def manage_AddOSAS_add_contextDataForm(self): + """interface for adding the OSAS_add_Metadata""" + pt=PageTemplateFile('products/OSA_system/AddOSAS_contextData.zpt').__of__(self) + return pt() + +def manage_AddOSAS_add_contextData(self,id,collection,RESPONSE=None): + """add the OSAS_root""" + newObj=OSAS_add_contextData(id,collection) + self.Destination()._setObject(id,newObj) + if RESPONSE is not None: + RESPONSE.redirect('manage_main') + + +InitializeClass(OSAS_add_contextData) + class OSAS_add_Presentation(Folder): """Hinzufügen der Presentationsinformationen""" security=ClassSecurityInfo()