From 77376f1c04e284bda3bea893106708ccae6afba1 Mon Sep 17 00:00:00 2001 From: helmutm Date: Mon, 12 Jan 2009 12:40:57 +0000 Subject: [PATCH] work in progress: personal info query/view - starting with link to 'change password'; define 'editTask' as a separately definable action git-svn-id: svn://svn.cy55.de/Zope3/src/loops/trunk@3144 fd906abe-77d9-0310-91a1-e0d9ade77398 --- browser/concept_macros.pt | 2 +- browser/node.py | 18 ++++++++++++------ organize/README.txt | 9 ++++++++- organize/browser/configure.zcml | 4 ++-- organize/browser/member.py | 2 +- organize/browser/task.py | 14 +++++++++++++- organize/browser/view_macros.pt | 11 ++++++++++- 7 files changed, 47 insertions(+), 13 deletions(-) diff --git a/browser/concept_macros.pt b/browser/concept_macros.pt index c201d19..6386372 100644 --- a/browser/concept_macros.pt +++ b/browser/concept_macros.pt @@ -206,7 +206,7 @@ -
+
Concept diff --git a/browser/node.py b/browser/node.py index bf4a542..df2180f 100644 --- a/browser/node.py +++ b/browser/node.py @@ -118,12 +118,18 @@ class NodeView(BaseView): mi = self.controller.memberInfo title = mi.title.value or _(u'Personal Informations') obj = mi.get('object') - url = obj is not None and self.getUrlForTarget(obj.value) or None - cm.register('portlet_right', 'personal', title=title, - subMacro=node_macros.macros['personal'], - icon='cybertools.icons/user.png', - url=url, - priority=10) + if obj is not None: + query = self.conceptManager.get('personal_info') + if query is None: + #url = self.url + '/personal_info.html' + url = self.getUrlForTarget(obj.value) + else: + url = self.getUrlForTarget(query) + cm.register('portlet_right', 'personal', title=title, + subMacro=node_macros.macros['personal'], + icon='cybertools.icons/user.png', + url=url, + priority=10) # force early portlet registrations by target by setting up target view self.virtualTarget diff --git a/organize/README.txt b/organize/README.txt index 4c86ee4..31b3955 100644 --- a/organize/README.txt +++ b/organize/README.txt @@ -335,7 +335,14 @@ Task view with edit action >>> from loops.organize.browser.task import TaskView >>> view = TaskView(task01, TestRequest()) - >>> view.getActions('portlet') + >>> list(view.getActions('portlet')) + [] + +OK, the action is not provided automatically any more by the TaskView +but has to be entered as a type option. + + >>> adapted(task).options = ['action.portlet:editTask'] + >>> list(view.getActions('portlet')) [] Events listing diff --git a/organize/browser/configure.zcml b/organize/browser/configure.zcml index e0f0ff5..90ad3c2 100644 --- a/organize/browser/configure.zcml +++ b/organize/browser/configure.zcml @@ -6,11 +6,11 @@ i18n_domain="loops"> diff --git a/organize/browser/member.py b/organize/browser/member.py index 5c74730..4875298 100644 --- a/organize/browser/member.py +++ b/organize/browser/member.py @@ -51,7 +51,7 @@ from loops.util import _ organize_macros = ViewPageTemplateFile('view_macros.pt') -class MyStuff(ConceptView): +class PersonalInfo(ConceptView): def __init__(self, context, request): self.context = context diff --git a/organize/browser/task.py b/organize/browser/task.py index ece62d7..749be7c 100644 --- a/organize/browser/task.py +++ b/organize/browser/task.py @@ -26,17 +26,29 @@ from zope import interface, component from zope.app.pagetemplate import ViewPageTemplateFile from zope.cachedescriptors.property import Lazy +from cybertools.browser.action import actions from loops.browser.action import DialogAction from loops.browser.concept import ConceptView from loops.util import _ +actions.register('editTask', 'portlet', DialogAction, + title=_(u'Edit Task...'), + description=_(u'Modify task.'), + viewName='edit_concept.html', + dialogName='editTask', + prerequisites=['registerDojoDateWidget'], +) + + organize_macros = ViewPageTemplateFile('view_macros.pt') class TaskView(ConceptView): - def getActions(self, category='object', page=None, target=None): + pass + + def xx_getActions(self, category='object', page=None, target=None): actions = [] if category == 'portlet': actions.append(DialogAction(self, title=_(u'Edit Task...'), diff --git a/organize/browser/view_macros.pt b/organize/browser/view_macros.pt index e8b338c..b4d6382 100644 --- a/organize/browser/view_macros.pt +++ b/organize/browser/view_macros.pt @@ -3,7 +3,16 @@ - + + + +

Actions

+
+ +