version 1.63, 2005/10/28 17:49:45
|
version 1.67, 2005/12/01 12:11:51
|
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 531 def checkOnlyOneInGroup(object):
|
Line 542 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,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): |
return cmp(x[0],y[0]) |
return cmp(x[0],y[0]) |
Line 552 def getSubCols(self, sortfield=None, sub
|
Line 563 def getSubCols(self, sortfield=None, sub
|
displayedObjects=self.ZopeFind(self,obj_metatypes=subColTypes) |
displayedObjects=self.ZopeFind(self,obj_metatypes=subColTypes) |
|
|
|
|
|
if searchSimple and (not (searchSimple==""))and hasattr(self,'resourceCatalog'): |
|
|
|
searchString=" AND ".join(searchSimple.split()) |
|
|
|
ids=[x.getObject() for x in self.resourceCatalog({'getMDValueSimpleSearchField':searchString})] |
|
|
|
else: |
for entry in displayedObjects: |
for entry in displayedObjects: |
|
|
|
|
Line 560 def getSubCols(self, sortfield=None, sub
|
Line 577 def getSubCols(self, sortfield=None, sub
|
if searchMD and hasattr(object,'getMDValue'): |
if searchMD and hasattr(object,'getMDValue'): |
flag=0 |
flag=0 |
for field in searchMD.keys(): |
for field in searchMD.keys(): |
if object.getMDValue(field,generic=generic)==searchMD[field]: |
#if object.getMDValue(field,generic=generic)==searchMD[field]: |
|
if re.match(searchMD[field],object.getMDValue(field,generic=generic)): |
flag=1 |
flag=1 |
else: |
else: |
flag=0 |
flag=0 |
break |
break |
if flag==1: |
if flag==1: |
ids.append(object) |
ids.append(object) |
|
|
|
|
else: |
else: |
ids.append(object) |
ids.append(object) |
|
|
Line 594 def getSubCols(self, sortfield=None, sub
|
Line 614 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""" |
Line 608 def ECHO_rerenderLinksMD(self,obj=None,t
|
Line 630 def ECHO_rerenderLinksMD(self,obj=None,t
|
for entry in entries: |
for entry in entries: |
if entry[1].meta_type == 'ECHO_resource': |
if entry[1].meta_type == 'ECHO_resource': |
try: |
try: |
entry[1].ECHO_getResourceMD(template="no") |
entry[1].ECHO_getResourceMD(template="no",overwrite="yes") |
if "title" in types: |
if "title" in types: |
entry[1].generate_title() |
entry[1].generate_title() |
if "label" in types: |
if "label" in types: |