From 29a6f4941a35ee548d49391fe8f7e81a659369e0 Mon Sep 17 00:00:00 2001 From: Helmut Merz Date: Mon, 3 Oct 2011 14:10:41 +0200 Subject: [PATCH 01/10] new branch 'zmi-restrictions': hide management interface from non-administrative users --- browser/configure.zcml | 53 ++++++++++++++++++++++++++++++------------ 1 file changed, 38 insertions(+), 15 deletions(-) diff --git a/browser/configure.zcml b/browser/configure.zcml index 92746a0..ea0441b 100644 --- a/browser/configure.zcml +++ b/browser/configure.zcml @@ -19,6 +19,29 @@ + + + + + + @@ -175,7 +198,7 @@ + permission="loops.ManageSite"> + permission="loops.ManageSite"> @@ -314,7 +337,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 +412,7 @@ @@ -452,13 +475,13 @@ for="loops.interfaces.INode" template="node_target.pt" class="loops.browser.node.ConfigureView" - permission="zope.ManageContent" + permission="loops.ManageSite" /> @@ -690,12 +713,12 @@ schema="loops.interfaces.IViewConfiguratorSchema" for="loops.interfaces.INode" template="edit.pt" - permission="zope.ManageContent" /> + permission="loops.ManageSite" /> From 7c1f7af4a41120419d3b424df76eb68583a0dcdc Mon Sep 17 00:00:00 2001 From: Helmut Merz Date: Thu, 13 Oct 2011 09:59:23 +0200 Subject: [PATCH 02/10] provide h0 layout part (without image); allow for image display in navigatin menu --- browser/concept.py | 15 +++++++++++++-- browser/lobo/configure.zcml | 8 ++++++++ browser/lobo/standard.pt | 26 ++++++++++++++------------ browser/lobo/standard.py | 8 ++++++++ browser/skin/lobo/lobo.css | 2 +- 5 files changed, 44 insertions(+), 15 deletions(-) diff --git a/browser/concept.py b/browser/concept.py index 546a22e..9fa7d5e 100644 --- a/browser/concept.py +++ b/browser/concept.py @@ -350,7 +350,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 @@ -398,10 +403,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/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" /> + +
-
- - - - - -
+ +
+ + + + + +
+
diff --git a/browser/lobo/standard.py b/browser/lobo/standard.py index b6e02ef..b1374cd 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,13 @@ class List2(BasePart): gridPattern = [['span-4 clear', 'span-2 last']] +class Header0(BasePart): + + macroName = 'header' + cssClass = ['span-6 last', 'clear'] + showImage = False + + class Header1(BasePart): macroName = 'header' 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 */ From 7cf460a7de1d88a096770840e788b3e7b6cb0abf Mon Sep 17 00:00:00 2001 From: Helmut Merz Date: Sat, 15 Oct 2011 10:12:50 +0200 Subject: [PATCH 03/10] suppress br tag if image is not shown --- browser/lobo/standard.pt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/browser/lobo/standard.pt b/browser/lobo/standard.pt index 051369d..05cdf3f 100644 --- a/browser/lobo/standard.pt +++ b/browser/lobo/standard.pt @@ -63,7 +63,7 @@
- +
 
From 75ae387e7bb39d74a9fcdceaa84a4f2dc75dd958 Mon Sep 17 00:00:00 2001 From: Helmut Merz Date: Sat, 15 Oct 2011 11:29:34 +0200 Subject: [PATCH 04/10] set CSS classes list correctly for header without imagees --- browser/lobo/standard.py | 1 + 1 file changed, 1 insertion(+) diff --git a/browser/lobo/standard.py b/browser/lobo/standard.py index b1374cd..fb847cd 100644 --- a/browser/lobo/standard.py +++ b/browser/lobo/standard.py @@ -212,6 +212,7 @@ class Header0(BasePart): macroName = 'header' cssClass = ['span-6 last', 'clear'] showImage = False + cssClass = ['', 'span-6 last', 'clear'] class Header1(BasePart): From 8bd8a5ca8818d134d414a13423f3d5890fa25c61 Mon Sep 17 00:00:00 2001 From: Helmut Merz Date: Sun, 16 Oct 2011 13:17:57 +0200 Subject: [PATCH 05/10] do not show object actions for anonymous users --- media/browser/asset.pt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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


Date: Sun, 16 Oct 2011 13:22:56 +0200 Subject: [PATCH 06/10] show cell title instead of description as link title; use cell (or image) title also for the alt attribute of image elements --- browser/lobo/standard.pt | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/browser/lobo/standard.pt b/browser/lobo/standard.pt index 05cdf3f..6c4c2ba 100644 --- a/browser/lobo/standard.pt +++ b/browser/lobo/standard.pt @@ -110,13 +110,15 @@ title cell/img/title"> + class cell/img/cssClass; + alt cell/title" /> + title cell/title"> + class cell/img/cssClass; + alt cell/title" /> From f2497f6ad36b45715742aefe55c856a8809d53cd Mon Sep 17 00:00:00 2001 From: Helmut Merz Date: Thu, 20 Oct 2011 09:42:43 +0200 Subject: [PATCH 07/10] suppress edit resource action if object may not be modified by current user --- browser/resource.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) 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'] From bb8c8353da44f32cbf313551d33edf807d036290 Mon Sep 17 00:00:00 2001 From: Helmut Merz Date: Thu, 20 Oct 2011 10:05:32 +0200 Subject: [PATCH 08/10] allow loops site manager to edit metadata --- security.zcml | 1 + 1 file changed, 1 insertion(+) diff --git a/security.zcml b/security.zcml index c31ae8a..f2882a8 100644 --- a/security.zcml +++ b/security.zcml @@ -49,6 +49,7 @@ + Date: Thu, 20 Oct 2011 10:54:30 +0200 Subject: [PATCH 09/10] restrict access to contents listing (with options to rename or delete objects) to loops site managers --- browser/configure.zcml | 29 ++++++----------------------- organize/tracking/configure.zcml | 8 ++++++++ 2 files changed, 14 insertions(+), 23 deletions(-) diff --git a/browser/configure.zcml b/browser/configure.zcml index 8466f45..1bc2f89 100644 --- a/browser/configure.zcml +++ b/browser/configure.zcml @@ -19,29 +19,6 @@ - - - - - - + + + + Date: Tue, 25 Oct 2011 08:10:10 +0200 Subject: [PATCH 10/10] image listings: show description in normal font, not italics --- browser/lobo/standard.pt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/browser/lobo/standard.pt b/browser/lobo/standard.pt index 6c4c2ba..e54cc55 100644 --- a/browser/lobo/standard.pt +++ b/browser/lobo/standard.pt @@ -36,7 +36,7 @@
- +