def listed_objects_info(self, skey='sortorder', rkey=0, sort_on='title', sort_order=0): sorted_objects = self.utSortObjsListByAttr(self.contained_objects(), sort_on, sort_order) sorted_objects = self.utSortObjsListByAttr(sorted_objects, skey, rkey) ret = [] for o in sorted_objects: o_view = IObjectView(o) versionable, editable = o_view.version_status() info = { 'view_permission': o.checkPermissionView(), 'del_permission': o.checkPermissionDeleteObject(), 'copy_permission': o.checkPermissionCopyObject(), 'edit_permission': o.checkPermissionEditObject(), 'approved': o.approved, 'versionable': versionable, 'editable': editable, 'self': o, 'view': o_view, } if info['view_permission'] and (info['approved'] or info['del_permission'] or info['copy_permission'] or info['edit_permission']): ret.append(info) return ret
def modif_date_getter(info): return IObjectView(info['self']).get_modification_date()