merge branch master
This commit is contained in:
commit
fd2d9794a5
10 changed files with 88 additions and 38 deletions
|
@ -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)
|
||||
|
|
|
@ -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'" />
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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" /> </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>
|
||||
|
|
|
@ -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'
|
||||
|
|
|
@ -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']
|
||||
|
|
|
@ -443,7 +443,7 @@ img.notselected {
|
|||
/* lobo layout-specific classes */
|
||||
|
||||
.legend {
|
||||
margin-top: 3px;
|
||||
margin-top: 1px;
|
||||
}
|
||||
|
||||
/* comments */
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
Loading…
Add table
Reference in a new issue