diff --git a/browser/common.py b/browser/common.py new file mode 100644 index 0000000..8b3c84a --- /dev/null +++ b/browser/common.py @@ -0,0 +1,60 @@ +# +# Copyright (c) 2006 Helmut Merz helmutm@cy55.de +# +# 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 +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# + +""" +Common base class for loops browser view classes. + +$Id$ +""" + +from zope.app import zapi +from zope.app.dublincore.interfaces import ICMFDublinCore +from zope.cachedescriptors.property import Lazy +from zope.security.proxy import removeSecurityProxy + +class BaseView(object): + + def __init__(self, context, request): + self.context = context + #self.context = removeSecurityProxy(context) + self.request = request + + @Lazy + def modified(self): + """ get date/time of last modification + """ + dc = ICMFDublinCore(self.context) + d = dc.modified or dc.created + return d and d.strftime('%Y-%m-%d %H:%M') or '' + + @Lazy + def loopsRoot(self): + return self.context.getLoopsRoot() + + @Lazy + def url(self): + return zapi.absoluteURL(self.context, self.request) + + @Lazy + def token(self): + return self.loopsRoot.getLoopsUri(self.context) + + @Lazy + def title(self): + return self.context.title + diff --git a/browser/relation_macros.pt b/browser/relation_macros.pt new file mode 100644 index 0000000..38a3335 --- /dev/null +++ b/browser/relation_macros.pt @@ -0,0 +1,40 @@ + + + + +
+
+ + + + + + + + + + + + + +
 Title
+ + + Title +
+
+ +
+
+
+
+ + +