From 73c33a108ee38d069038d1dfd8eff1b56b519cdf Mon Sep 17 00:00:00 2001 From: helmutm Date: Sat, 4 Mar 2006 19:10:38 +0000 Subject: [PATCH] Assignment of resources to concepts and vice versa git-svn-id: svn://svn.cy55.de/Zope3/src/loops/trunk@1111 fd906abe-77d9-0310-91a1-e0d9ade77398 --- browser/concept.py | 2 ++ browser/configure.zcml | 8 ++--- browser/node.py | 16 +++++++--- browser/node_target.pt | 2 +- browser/resource.py | 5 +++ ...urce_concepts.pt => resource_configure.pt} | 32 ++++++++++++++++--- 6 files changed, 52 insertions(+), 13 deletions(-) rename browser/{resource_concepts.pt => resource_configure.pt} (69%) diff --git a/browser/concept.py b/browser/concept.py index c1992fb..3e003d1 100644 --- a/browser/concept.py +++ b/browser/concept.py @@ -99,6 +99,8 @@ class ConceptConfigureView(ConceptView): self.context.deassignChild(concept, [predicate]) elif qualifier == 'resources': self.context.deassignResource(concept, [predicate]) + elif qualifier == 'concepts': + self.context.deassignConcept(concept, [predicate]) else: raise(BadRequest, 'Illegal qualifier: %s.' % qualifier) else: diff --git a/browser/configure.zcml b/browser/configure.zcml index 49b10a3..bb3c7bb 100644 --- a/browser/configure.zcml +++ b/browser/configure.zcml @@ -177,8 +177,8 @@ permission="zope.ManageContent"> @@ -373,14 +373,14 @@ diff --git a/browser/node.py b/browser/node.py index 4e970c8..3c21bf8 100644 --- a/browser/node.py +++ b/browser/node.py @@ -49,6 +49,18 @@ class NodeView(object): self.context = context self.request = request + @Lazy + def title(self): + return self.context.title + + @Lazy + def nodeType(self): + return self.context.nodeType + + @Lazy + def url(self): + return zapi.absoluteURL(self.context, self.request) + def render(self, text=None): if text is None: text = self.context.body @@ -111,10 +123,6 @@ class NodeView(object): return 'imagebody' return 'filebody' - @Lazy - def url(self): - return zapi.absoluteURL(self.context, self.request) - @Lazy def editable(self): return canWrite(self.context, 'body') diff --git a/browser/node_target.pt b/browser/node_target.pt index 6b2065b..7aa055e 100644 --- a/browser/node_target.pt +++ b/browser/node_target.pt @@ -14,7 +14,7 @@ Currently assigned target: Document xy diff --git a/browser/resource.py b/browser/resource.py index aa6a3c6..e7e5a6e 100644 --- a/browser/resource.py +++ b/browser/resource.py @@ -33,6 +33,7 @@ from zope.security.proxy import removeSecurityProxy from loops.interfaces import IDocument, IMediaAsset from loops.browser.common import BaseView from loops.browser.concept import ConceptRelationView, ConceptConfigureView +from loops.browser.node import NodeView renderingFactories = { 'text/plain': 'zope.source.plaintext', @@ -49,6 +50,10 @@ class ResourceView(BaseView): for r in self.context.getConceptRelations(): yield ConceptRelationView(r, self.request) + def clients(self): + for node in self.context.getClients(): + yield NodeView(node, self.request) + class ResourceConfigureView(ResourceView, ConceptConfigureView): diff --git a/browser/resource_concepts.pt b/browser/resource_configure.pt similarity index 69% rename from browser/resource_concepts.pt rename to browser/resource_configure.pt index 14edff1..c6383e3 100644 --- a/browser/resource_concepts.pt +++ b/browser/resource_configure.pt @@ -9,15 +9,39 @@
+ buttonText string:Remove Concepts;" + style="float:left; padding-right:20px">
+
+
+ Clients + + + + + + + + + + + + + +
TitleType
+ TitleType
+
+
+