Annotation of ECHO_content/ECHO_helpers.py, revision 1.12
1.12 ! dwinter 1: displayTypes = ['ZSQLExtendFolder','ZSQLBibliography','ECHO_group','ECHO_collection','ECHO_resource','ECHO_link','ECHO_sqlElement','ECHO_pageTemplate','ImageCollectionIFrame','VLP_resource','VLP_collection']
1.11 dwinter 2:
1.6 dwinter 3:
4: def checkOnlyOneInGroup(object):
5: """check if object is a group and if it containt only one element it return this element"""
6: displayedObjects=object.ZopeFind(object,obj_metatypes=displayTypes)
7: if len(displayedObjects)==1: # nur ein Object dann redirect auf dieses Object
1.8 dwinter 8:
1.6 dwinter 9: return displayedObjects[0][1]
10: else:
11: return object
12:
13: def getSubCols(self,sortfield="weight",subColTypes= displayTypes):
1.1 dwinter 14:
1.3 dwinter 15:
1.1 dwinter 16: ids=[]
1.6 dwinter 17: displayedObjects=self.ZopeFind(self,obj_metatypes=subColTypes)
18:
19:
20: for entry in displayedObjects:
1.3 dwinter 21: object=entry[1]
1.1 dwinter 22: try:
23: if object.meta_type in subColTypes:
1.6 dwinter 24: ids.append(object)
1.1 dwinter 25:
26: except:
27: """nothing"""
28: try:
29: sortfield=self.sortfield
30: except:
31: """nothing"""
32:
33: tmplist=[]
34: for x in ids:
35: if hasattr(x,sortfield):
36: try:
1.7 dwinter 37:
1.1 dwinter 38: x=int(x)
39: except:
40: """nothing"""
41: tmp=getattr(x,sortfield)
42: else:
43: tmp=10000000
44: tmplist.append((tmp,x))
45: tmplist.sort()
46: return [x for (key,x) in tmplist]
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>