version 1.65, 2005/11/25 18:46:40
|
version 1.68, 2005/12/04 09:10:55
|
Line 14 from AccessControl import ClassSecurityI
|
Line 14 from AccessControl import ClassSecurityI
|
import os.path |
import os.path |
from OFS.Folder import Folder |
from OFS.Folder import Folder |
import ECHO_collection |
import ECHO_collection |
|
import base64 |
|
import bz2 |
|
import xmlrpclib |
|
|
displayTypes = ['ZSQLExtendFolder','ZSQLBibliography','ECHO_group','ECHO_collection','ECHO_resource','ECHO_link','ECHO_sqlElement','ECHO_pageTemplate','ECHO_externalLink','ImageCollectionIFrame','VLP_resource','VLP_essay','ECHO_ZCatalogElement','ImageCollection','versionedFileFolder','ECHO_movie'] |
displayTypes = ['ZSQLExtendFolder','ZSQLBibliography','ECHO_group','ECHO_collection','ECHO_resource','ECHO_link','ECHO_sqlElement','ECHO_pageTemplate','ECHO_externalLink','ImageCollectionIFrame','VLP_resource','VLP_essay','ECHO_ZCatalogElement','ImageCollection','versionedFileFolder','ECHO_movie'] |
|
|
|
|
|
#decode and compress for xmlrpc communication with OSAS_server |
|
|
|
def encodeRPC(string): |
|
return base64.encodestring(bz2.compress(string)) |
|
def decodeRPC(string): |
|
return bz2.decompress(base64.decodestring(string)) |
|
|
def content_html(self,type): |
def content_html(self,type): |
"""template fuer content""" |
"""template fuer content""" |
#templates = self.ZopeFind(self.aq_parent,obj_ids=[type+"_template"]) |
#templates = self.ZopeFind(self.aq_parent,obj_ids=[type+"_template"]) |
Line 115 class ECHO_basis:
|
Line 126 class ECHO_basis:
|
|
|
return ret |
return ret |
|
|
|
def content_html_XMLRpc(self): |
|
"""xml_rpc_version""" |
|
return encodeRPC(self.content_html()) |
|
|
def content_html(self,type="collection"): |
def content_html(self,type="collection"): |
"""template fuer content bei einbau und ECHO_Umgebung""" |
"""template fuer content bei einbau und ECHO_Umgebung""" |
|
|
Line 531 def checkOnlyOneInGroup(object):
|
Line 546 def checkOnlyOneInGroup(object):
|
return displayedObjects[0][1] |
return displayedObjects[0][1] |
else: return object |
else: return object |
|
|
|
|
def getSubCols(self, sortfield=None, subColTypes=displayTypes, sortFieldMD=None,searchMD=None,searchSimple=None,generic="yes"): |
def getSubCols(self, sortfield=None, subColTypes=displayTypes, sortFieldMD=None,searchMD=None,searchSimple=None,generic="yes"): |
|
|
def sort(x,y): |
def sort(x,y): |
Line 550 def getSubCols(self, sortfield=None, sub
|
Line 566 def getSubCols(self, sortfield=None, sub
|
sortWithMD = lambda sortfield : (lambda x,y : sortfnc(sortfield,x,y)) |
sortWithMD = lambda sortfield : (lambda x,y : sortfnc(sortfield,x,y)) |
ids=[] |
ids=[] |
displayedObjects=self.ZopeFind(self,obj_metatypes=subColTypes) |
displayedObjects=self.ZopeFind(self,obj_metatypes=subColTypes) |
|
|
|
|
if searchSimple and (not (searchSimple==""))and hasattr(self,'resourceCatalog'): |
if searchSimple and (not (searchSimple==""))and hasattr(self,'resourceCatalog'): |
searchString=" AND ".join(searchSimple.split()) |
searchString=" AND ".join(searchSimple.split()) |
ids=[x.getObject() for x in self.resourceCatalog({'getMDValueSimpleSearchField':searchString})] |
ids=[x.getObject() for x in self.resourceCatalog({'getMDValueSimpleSearchField':searchString})] |
|
|
else: |
else: |
for entry in displayedObjects: |
for entry in displayedObjects: |
|
|
|
|
object=entry[1] |
object=entry[1] |
if searchMD and hasattr(object,'getMDValue'): |
if searchMD and hasattr(object,'getMDValue'): |
flag=0 |
flag=0 |
Line 572 def getSubCols(self, sortfield=None, sub
|
Line 583 def getSubCols(self, sortfield=None, sub
|
break |
break |
if flag==1: |
if flag==1: |
ids.append(object) |
ids.append(object) |
|
|
|
|
else: |
else: |
ids.append(object) |
ids.append(object) |
|
|
if not sortfield: |
if not sortfield: |
sortfield=getattr(self,'sortfield','weight') |
sortfield=getattr(self,'sortfield','weight') |
|
|
|
|
tmplist=[] |
tmplist=[] |
|
|
for x in ids: |
for x in ids: |
|
|
if hasattr(x,sortfield): |
if hasattr(x,sortfield): |
try: |
try: |
tmp=int(getattr(x,sortfield)) |
tmp=int(getattr(x,sortfield)) |
Line 601 def getSubCols(self, sortfield=None, sub
|
Line 605 def getSubCols(self, sortfield=None, sub
|
else: |
else: |
tmplist.sort(sortWithMD(sortFieldMD)) |
tmplist.sort(sortWithMD(sortFieldMD)) |
|
|
return [x for (key,x) in tmplist] |
ret=[x for (key,x) in tmplist] |
|
|
|
return ret |
|
|
def ECHO_rerenderLinksMD(self,obj=None,types=['title','label']): |
def ECHO_rerenderLinksMD(self,obj=None,types=['title','label']): |
"""Rerender all Links""" |
"""Rerender all Links""" |