diff --git a/browser/concept.py b/browser/concept.py index 7d77447..2ffc5ea 100644 --- a/browser/concept.py +++ b/browser/concept.py @@ -351,7 +351,12 @@ class ConceptView(BaseView): #IOptions(adapted(pr.predicate))('hide_parents_for', [])): IOptions(pr.predicate)('hide_parents_for', [])): return True - hideRoles = IOptions(adapted(pr.first.conceptType))('hide_for', None) + 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 if (IUnauthenticatedPrincipal.providedBy(principal) and @@ -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) diff --git a/browser/configure.zcml b/browser/configure.zcml index 315ef71..3ebe833 100644 --- a/browser/configure.zcml +++ b/browser/configure.zcml @@ -26,6 +26,12 @@ class="loops.browser.node.NodeView" permission="zope.Public" /> + + @@ -175,7 +181,7 @@ + permission="loops.ManageSite"> + permission="loops.ManageSite"> @@ -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" /> + permission="loops.ManageSite" /> + add="loops.ManageSite" /> @@ -389,7 +395,7 @@ @@ -452,13 +458,13 @@ for="loops.interfaces.INode" template="node_target.pt" class="loops.browser.node.ConfigureView" - permission="zope.ManageContent" + permission="loops.ManageSite" /> @@ -704,12 +710,12 @@ schema="loops.interfaces.IViewConfiguratorSchema" for="loops.interfaces.INode" template="edit.pt" - permission="zope.ManageContent" /> + permission="loops.ManageSite" /> diff --git a/browser/lobo/configure.zcml b/browser/lobo/configure.zcml index db3b254..0be24a7 100644 --- a/browser/lobo/configure.zcml +++ b/browser/lobo/configure.zcml @@ -39,6 +39,14 @@ factory="loops.browser.lobo.standard.List2" permission="zope.View" /> + +
- +
@@ -46,22 +46,24 @@
-
- - - - - -
+ +
+ + + + + +
+
- +
 
@@ -108,13 +110,15 @@ title cell/img/title"> + class cell/img/cssClass; + alt cell/title" /> + title cell/title"> + class cell/img/cssClass; + alt cell/title" /> diff --git a/browser/lobo/standard.py b/browser/lobo/standard.py index b6e02ef..fb847cd 100644 --- a/browser/lobo/standard.py +++ b/browser/lobo/standard.py @@ -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' diff --git a/browser/resource.py b/browser/resource.py index 88125da..251ca49 100644 --- a/browser/resource.py +++ b/browser/resource.py @@ -243,8 +243,10 @@ class ResourceView(BaseView): # actions def getPortletActions(self, page=None, target=None): - return actions.get('portlet', ['edit_object'], view=self, page=page, - target=target) + 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'] diff --git a/browser/skin/lobo/lobo.css b/browser/skin/lobo/lobo.css index b088587..fd323c7 100644 --- a/browser/skin/lobo/lobo.css +++ b/browser/skin/lobo/lobo.css @@ -443,7 +443,7 @@ img.notselected { /* lobo layout-specific classes */ .legend { - margin-top: 3px; + margin-top: 1px; } /* comments */ diff --git a/media/browser/asset.pt b/media/browser/asset.pt index 18936c3..9f28f1d 100644 --- a/media/browser/asset.pt +++ b/media/browser/asset.pt @@ -1,6 +1,7 @@
-
+ +

Title


+ + +