a couple of minor improvements like using DC titles, ...
git-svn-id: svn://svn.cy55.de/Zope3/src/loops/trunk@1176 fd906abe-77d9-0310-91a1-e0d9ade77398
This commit is contained in:
parent
17a9a55b07
commit
6800f2e356
6 changed files with 89 additions and 18 deletions
|
@ -23,7 +23,7 @@ $Id$
|
|||
"""
|
||||
|
||||
from zope.app import zapi
|
||||
from zope.app.dublincore.interfaces import ICMFDublinCore
|
||||
from zope.app.dublincore.interfaces import IZopeDublinCore
|
||||
from zope.app.form.browser.interfaces import ITerms
|
||||
from zope.app.intid.interfaces import IIntIds
|
||||
from zope.cachedescriptors.property import Lazy
|
||||
|
@ -67,7 +67,7 @@ class BaseView(object):
|
|||
def modified(self):
|
||||
""" get date/time of last modification
|
||||
"""
|
||||
dc = ICMFDublinCore(self.context)
|
||||
dc = IZopeDublinCore(self.context)
|
||||
d = dc.modified or dc.created
|
||||
return d and d.strftime('%Y-%m-%d %H:%M') or ''
|
||||
|
||||
|
@ -87,6 +87,14 @@ class BaseView(object):
|
|||
def title(self):
|
||||
return self.context.title or zapi.getName(self.context)
|
||||
|
||||
@Lazy
|
||||
def dcTitle(self):
|
||||
return IZopeDublinCore(self.context).title or self.title
|
||||
|
||||
@Lazy
|
||||
def headTitle(self):
|
||||
return self.dcTitle
|
||||
|
||||
@Lazy
|
||||
def value(self):
|
||||
return self.context
|
||||
|
|
|
@ -24,7 +24,6 @@ $Id$
|
|||
|
||||
from zope.app import zapi
|
||||
from zope.app.catalog.interfaces import ICatalog
|
||||
from zope.app.dublincore.interfaces import ICMFDublinCore
|
||||
from zope.app.event.objectevent import ObjectCreatedEvent, ObjectModifiedEvent
|
||||
from zope.app.form.browser.interfaces import ITerms
|
||||
from zope.app.pagetemplate import ViewPageTemplateFile
|
||||
|
|
|
@ -48,6 +48,13 @@
|
|||
permission="zope.View"
|
||||
/>
|
||||
|
||||
<page
|
||||
for="*"
|
||||
name="resource_macros"
|
||||
template="resource_macros.pt"
|
||||
permission="zope.View"
|
||||
/>
|
||||
|
||||
<!-- loops top-level container -->
|
||||
|
||||
<addform
|
||||
|
@ -261,6 +268,20 @@
|
|||
permission="zope.ManageContent"
|
||||
menu="zmi_views" title="Edit" />
|
||||
|
||||
<page
|
||||
for="loops.interfaces.IDocument"
|
||||
name="document.html"
|
||||
permission="zope.View"
|
||||
template="document.pt"
|
||||
class=".resource.DocumentView" />
|
||||
|
||||
<menuItem
|
||||
for="loops.interfaces.IDocument"
|
||||
action="document.html"
|
||||
permission="zope.View"
|
||||
menu="zmi_views" title="View"
|
||||
/>
|
||||
|
||||
<zope:adapter
|
||||
for="loops.interfaces.IDocument
|
||||
zope.publisher.interfaces.browser.IBrowserRequest"
|
||||
|
@ -362,6 +383,18 @@
|
|||
|
||||
<!-- node -->
|
||||
|
||||
<menuItem
|
||||
for="loops.interfaces.INode"
|
||||
action="@@contents.html"
|
||||
permission="zope.ManageContent"
|
||||
menu="zmi_views" title="Contents"
|
||||
/>
|
||||
|
||||
<containerViews
|
||||
for="loops.interfaces.INode"
|
||||
index="zope.ManageContent"
|
||||
/>
|
||||
|
||||
<addform
|
||||
label="Add Node"
|
||||
name="AddLoopsNode.html"
|
||||
|
@ -419,11 +452,6 @@
|
|||
<page name="action.html" attribute="action" />
|
||||
</view>
|
||||
|
||||
<containerViews
|
||||
for="loops.interfaces.INode"
|
||||
index="zope.ManageContent"
|
||||
/>
|
||||
|
||||
<page
|
||||
name="configure.html"
|
||||
for="loops.interfaces.INode"
|
||||
|
@ -439,13 +467,6 @@
|
|||
menu="zmi_views" title="Configure"
|
||||
/>
|
||||
|
||||
<menuItem
|
||||
for="loops.interfaces.INode"
|
||||
action="@@contents.html"
|
||||
permission="zope.ManageContent"
|
||||
menu="zmi_views" title="Contents"
|
||||
/>
|
||||
|
||||
<editform
|
||||
label="Edit Media Asset"
|
||||
name="edit_target.html"
|
||||
|
@ -468,7 +489,7 @@
|
|||
menu="zmi_views" title="Edit Document"
|
||||
/>
|
||||
|
||||
<editform
|
||||
<!--<editform
|
||||
label="Edit Concept"
|
||||
name="edit_target.html"
|
||||
schema="loops.interfaces.IConcept"
|
||||
|
@ -477,7 +498,7 @@
|
|||
template="edit.pt"
|
||||
permission="zope.ManageContent"
|
||||
menu="zmi_views" title="Edit Concept"
|
||||
/>
|
||||
/>-->
|
||||
|
||||
<page
|
||||
name="node.html"
|
||||
|
|
|
@ -126,11 +126,24 @@ class NodeView(BaseView):
|
|||
def editable(self):
|
||||
return canWrite(self.context, 'body')
|
||||
|
||||
@Lazy
|
||||
def menuObject(self):
|
||||
return self.context.getMenu()
|
||||
|
||||
@Lazy
|
||||
def menu(self):
|
||||
menu = self.context.getMenu()
|
||||
menu = self.menuObject
|
||||
return menu is not None and NodeView(menu, self.request) or None
|
||||
|
||||
@Lazy
|
||||
def headTitle(self):
|
||||
menuObject = self.menuObject
|
||||
if menuObject is not None and menuObject != self.context:
|
||||
prefix = super(NodeView, self.menu).headTitle + ' - '
|
||||
else:
|
||||
prefix = ''
|
||||
return prefix + super(NodeView, self).headTitle
|
||||
|
||||
@Lazy
|
||||
def menuItems(self):
|
||||
return [NodeView(child, self.request)
|
||||
|
|
|
@ -217,6 +217,9 @@
|
|||
|
||||
<content class=".view.Node">
|
||||
|
||||
<!--<implements
|
||||
interface="loops.interfaces.ILoopsObject" />-->
|
||||
|
||||
<implements
|
||||
interface="zope.app.annotation.interfaces.IAttributeAnnotatable" />
|
||||
|
||||
|
@ -240,6 +243,30 @@
|
|||
|
||||
<!-- adapters -->
|
||||
|
||||
<adapter factory="loops.common.LoopsDCAdapter"
|
||||
for="loops.interfaces.INode"
|
||||
provides="zope.app.dublincore.interfaces.IZopeDublinCore"
|
||||
trusted="True" />
|
||||
|
||||
<adapter factory="loops.common.LoopsDCAdapter"
|
||||
for="loops.interfaces.IConcept"
|
||||
provides="zope.app.dublincore.interfaces.IZopeDublinCore"
|
||||
trusted="True" />
|
||||
|
||||
<adapter factory="loops.common.LoopsDCAdapter"
|
||||
for="loops.interfaces.IDocument"
|
||||
provides="zope.app.dublincore.interfaces.IZopeDublinCore"
|
||||
trusted="True" />
|
||||
|
||||
<adapter factory="loops.common.LoopsDCAdapter"
|
||||
for="loops.interfaces.IMediaAsset"
|
||||
provides="zope.app.dublincore.interfaces.IZopeDublinCore"
|
||||
trusted="True" />
|
||||
|
||||
<class class="loops.common.LoopsDCAdapter">
|
||||
<require like_class="zope.app.dublincore.annotatableadapter.ZDCAnnotatableAdapter" />
|
||||
</class>
|
||||
|
||||
<adapter factory="loops.concept.IndexAttributes" />
|
||||
<adapter factory="loops.resource.IndexAttributes" />
|
||||
<adapter factory="loops.resource.IndexableResource" />
|
||||
|
|
|
@ -46,6 +46,9 @@ class ILoopsObject(Interface):
|
|||
""" Return the loops root object.
|
||||
"""
|
||||
|
||||
title = Attribute(u'A short line of information about an object to be '
|
||||
'used e.g. for menu items or listing entries.')
|
||||
|
||||
|
||||
class IPotentialTarget(Interface):
|
||||
""" For objects that may be used as target objects for views/nodes.
|
||||
|
|
Loading…
Add table
Reference in a new issue