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