merge branch master

This commit is contained in:
Helmut Merz 2011-10-28 17:48:20 +02:00
commit fd2d9794a5
10 changed files with 88 additions and 38 deletions

View file

@ -351,6 +351,11 @@ class ConceptView(BaseView):
#IOptions(adapted(pr.predicate))('hide_parents_for', [])):
IOptions(pr.predicate)('hide_parents_for', [])):
return True
hideRoles = None
options = component.queryAdapter(adapted(pr.first), IOptions)
if options is not None:
hideRoles = options('hide_for', None)
if not hideRoles:
hideRoles = IOptions(adapted(pr.first.conceptType))('hide_for', None)
if hideRoles is not None:
principal = self.request.principal
@ -399,10 +404,16 @@ class ConceptView(BaseView):
if fv.check(r.first):
yield ResourceRelationView(r, self.request, contextIsSecond=True)
@Lazy
def resourcesList(self):
from loops.browser.resource import ResourceRelationView
return [ResourceRelationView(r, self.request, contextIsSecond=True)
for r in self.context.getResourceRelations()]
@Lazy
def resourcesByType(self):
result = dict(texts=[], images=[], files=[])
for rv in self.resources():
for rv in self.resourcesList:
r = rv.context
if r.contentType.startswith('text/'):
result['texts'].append(r)

View file

@ -26,6 +26,12 @@
class="loops.browser.node.NodeView"
permission="zope.Public" />
<page for="loops.interfaces.INode"
name="contents.html"
template="contents.pt"
class="cybertools.container.ordered.ContainerView"
permission="loops.ManageSite" />
<!-- login/logout -->
<page for="loops.interfaces.INode"
@ -125,7 +131,7 @@
name="edit.html"
for="loops.interfaces.ILoops"
class="loops.browser.manager.LoopsEditForm"
permission="zope.ManageSite"
permission="loops.ManageSite"
menu="zmi_views" title="Edit"
/>
@ -175,7 +181,7 @@
<pages
for="loops.interfaces.IConcept"
class=".concept.ConceptConfigureView"
permission="zope.ManageContent">
permission="loops.ManageSite">
<page
name="configure.html"
@ -193,7 +199,7 @@
name="edit.html"
for="loops.interfaces.IConcept"
class="loops.browser.concept.ConceptEditForm"
permission="zope.ManageContent"
permission="loops.ManageSite"
menu="zmi_views" title="Edit" />
<page
@ -279,7 +285,7 @@
<pages
for="loops.interfaces.IResource"
class=".resource.ResourceConfigureView"
permission="zope.ManageContent">
permission="loops.ManageSite">
<page
name="configure.html"
@ -292,7 +298,7 @@
name="edit.html"
for="loops.interfaces.IResource"
class="loops.browser.resource.ResourceEditForm"
permission="zope.ManageContent"
permission="loops.ManageSite"
menu="zmi_views" title="Edit" />
<!-- suppress the upload menu item: -->
@ -314,7 +320,7 @@
name="edit.html"
for="loops.interfaces.IDocument"
class="loops.browser.resource.DocumentEditForm"
permission="zope.ManageContent"
permission="loops.ManageSite"
menu="zmi_views" title="Edit" />
<page
@ -353,17 +359,17 @@
schema="loops.interfaces.IViewManager"
content_factory="loops.view.ViewManager"
template="add.pt"
permission="zope.ManageContent" />
permission="loops.ManageSite" />
<containerViews
for="loops.interfaces.IViewManager"
index="zope.View"
add="zope.ManageContent" />
add="loops.ManageSite" />
<menuItem
for="loops.interfaces.IViewManager"
action="contents.html"
permission="zope.ManageContent"
permission="loops.ManageSite"
menu="zmi_views" title="Contents" />
<!-- record manager -->
@ -389,7 +395,7 @@
<menuItem
for="loops.interfaces.INode"
action="contents.html"
permission="zope.ManageContent"
permission="loops.ManageSite"
menu="zmi_views" title="Contents" />
<addform
@ -418,7 +424,7 @@
fields="title description nodeType viewName body"
for="loops.interfaces.INode"
template="edit.pt"
permission="zope.ManageContent"
permission="loops.ManageSite"
menu="zmi_views" title="Edit">
<widget field="description" height="2" />
@ -452,13 +458,13 @@
for="loops.interfaces.INode"
template="node_target.pt"
class="loops.browser.node.ConfigureView"
permission="zope.ManageContent"
permission="loops.ManageSite"
/>
<menuItem
for="loops.interfaces.INode"
action="@@configure.html"
permission="zope.ManageContent"
permission="loops.ManageSite"
menu="zmi_views" title="Configure"
/>
@ -704,12 +710,12 @@
schema="loops.interfaces.IViewConfiguratorSchema"
for="loops.interfaces.INode"
template="edit.pt"
permission="zope.ManageContent" />
permission="loops.ManageSite" />
<menuItem
for="loops.interfaces.INode"
action="viewconfigure.html"
permission="zope.ManageContent"
permission="loops.ManageSite"
menu="zmi_views" title="View Properties"
filter="python: context.nodeType == 'menu'" />

View file

@ -39,6 +39,14 @@
factory="loops.browser.lobo.standard.List2"
permission="zope.View" />
<zope:adapter
name="lobo_h0"
for="loops.interfaces.IConcept
loops.browser.skin.Lobo"
provides="zope.interface.Interface"
factory="loops.browser.lobo.standard.Header0"
permission="zope.View" />
<zope:adapter
name="lobo_h1"
for="loops.interfaces.IConcept

View file

@ -36,7 +36,7 @@
<a tal:attributes="href cell/targetUrl">
<b tal:content="cell/title" /></a><br />
<tal:desc condition="cell/description">
<i tal:content="structure cell/renderedDescription" /></tal:desc>
<span tal:content="structure cell/renderedDescription" /></tal:desc>
<br />
</div>
</tal:cell>
@ -46,6 +46,7 @@
<metal:block define-macro="header">
<div tal:define="cell part/getView">
<metal:headline use-macro="item/macros/headline" />
<tal:image condition="part/showImage">
<div tal:define="showImageLink python:True"
tal:attributes="class python:part.cssClass[0]">
<metal:image use-macro="item/macros/image" />
@ -58,10 +59,11 @@
string:${controller/resourceBase}/cybertools.icons/info.png" />
</a></span>
</div>
</tal:image>
<div tal:attributes="class python:part.cssClass[1]">
<span tal:content="structure cell/renderedTextDescription" />
</div>
<tal:break condition="cell/img">
<tal:break condition="python:part.showImage and cell.img">
<br style="clear: both" />&nbsp;</tal:break>
<div tal:condition="cell/renderedText"
tal:attributes="class python:part.cssClass[2]">
@ -108,13 +110,15 @@
title cell/img/title">
<img tal:condition="showImageLink|python:False"
tal:attributes="src cell/img/src;
class cell/img/cssClass" />
class cell/img/cssClass;
alt cell/title" />
</a>
<a tal:condition="not:showImageLink|python:False"
tal:attributes="href cell/targetUrl;
title cell/description">
title cell/title">
<img tal:attributes="src cell/img/src;
class cell/img/cssClass" />
class cell/img/cssClass;
alt cell/title" />
</a>
</tal:img>
</metal:image>

View file

@ -157,6 +157,7 @@ class BasePart(Base):
imageCssClass = ''
height = 260
gridPattern = []
showImage = True
def getChildren(self):
subtypeNames = (self.params.get('subtypes') or [''])[0].split(',')
@ -206,6 +207,14 @@ class List2(BasePart):
gridPattern = [['span-4 clear', 'span-2 last']]
class Header0(BasePart):
macroName = 'header'
cssClass = ['span-6 last', 'clear']
showImage = False
cssClass = ['', 'span-6 last', 'clear']
class Header1(BasePart):
macroName = 'header'

View file

@ -243,8 +243,10 @@ class ResourceView(BaseView):
# actions
def getPortletActions(self, page=None, target=None):
if canWrite(target.context, 'data'):
return actions.get('portlet', ['edit_object'], view=self, page=page,
target=target)
return []
def getObjectActions(self, page=None, target=None):
acts = ['info']

View file

@ -443,7 +443,7 @@ img.notselected {
/* lobo layout-specific classes */
.legend {
margin-top: 3px;
margin-top: 1px;
}
/* comments */

View file

@ -1,6 +1,7 @@
<metal:block define-macro="asset">
<div tal:attributes="ondblclick python: item.openEditWindow('edit.html')">
<div metal:use-macro="views/node_macros/object_actions" />
<tal:actions condition="view/showObjectActions">
<div metal:use-macro="views/node_macros/object_actions" /></tal:actions>
<h1 tal:content="item/title">Title</h1><br />
<p tal:define="url python: view.getUrlForTarget(item)">
<a tal:omit-tag="view/isAnonymous"

View file

@ -49,6 +49,14 @@
<!-- ZMI views -->
<browser:page
for="cybertools.tracking.interfaces.ITrackingStorage"
name="contents.html"
template="../../browser/contents.pt"
class="cybertools.container.ordered.ContainerView"
menu="zmi_views" title="Contents"
permission="loops.ManageSite" />
<browser:page
for="cybertools.tracking.interfaces.ITrackingStorage"
name="index.html"

View file

@ -49,6 +49,7 @@
<grant role="loops.SiteManager" permission="loops.AssignAsParent" />
<grant role="loops.SiteManager" permission="loops.xmlrpc.ManageConcepts" />
<grant role="loops.SiteManager" permission="zope.ManageContent" />
<grant role="loops.SiteManager" permission="zope.app.dublincore.change" />
<grant role="loops.SiteManager" permission="zope.View" />
<role id="loops.xmlrpc.ConceptManager"