allow overriding of version view class by controller

This commit is contained in:
Helmut Merz 2015-04-16 08:02:38 +02:00
parent 6a96d72b22
commit 7ba0bec7f7
2 changed files with 7 additions and 5 deletions

View file

@ -370,7 +370,8 @@
</metal:actions> </metal:actions>
<metal:sortable define-macro="sortable_column_header"> <metal:sortable define-macro="sortable_column_header"
tal:define="tableName tableName|nothing">
<a title="tooltip_sort_column" <a title="tooltip_sort_column"
tal:define="colName col/name" tal:define="colName col/name"
tal:omit-tag="python:not item.isSortableColumn(tableName, colName)" tal:omit-tag="python:not item.isSortableColumn(tableName, colName)"

View file

@ -1,5 +1,5 @@
# #
# Copyright (c) 2007 Helmut Merz helmutm@cy55.de # Copyright (c) 2015 Helmut Merz helmutm@cy55.de
# #
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
@ -18,8 +18,6 @@
""" """
View classes for versioning. View classes for versioning.
$Id$
""" """
from zope import interface, component from zope import interface, component
@ -51,8 +49,11 @@ class ListVersions(BaseView):
def versions(self): def versions(self):
versionable = IVersionable(self.context) versionable = IVersionable(self.context)
versions = versionable.versions versions = versionable.versions
cls = getattr(self.controller, 'versionViewClass', None)
for v in sorted(versions): for v in sorted(versions):
if isinstance(versions[v], Resource): if cls is not None:
yield(cls(versions[v], self.request))
elif isinstance(versions[v], Resource):
from loops.browser.resource import ResourceView from loops.browser.resource import ResourceView
yield ResourceView(versions[v], self.request) yield ResourceView(versions[v], self.request)
else: else: