[Zope3-checkins] CVS: zopeproducts/demo/messageboard/step8/browser
- message.py:1.3 messageboard.py:1.4 thread.py:1.2
Stephan Richter
srichter at cosmos.phy.tufts.edu
Sun Dec 14 23:39:17 EST 2003
Update of /cvs-repository/zopeproducts/demo/messageboard/step8/browser
In directory cvs.zope.org:/tmp/cvs-serv20049/step8/browser
Modified Files:
message.py messageboard.py thread.py
Log Message:
Fixed workflow recipe (step 8).
=== zopeproducts/demo/messageboard/step8/browser/message.py 1.2 => 1.3 ===
--- zopeproducts/demo/messageboard/step8/browser/message.py:1.2 Thu Aug 21 16:16:33 2003
+++ zopeproducts/demo/messageboard/step8/browser/message.py Sun Dec 14 23:38:46 2003
@@ -25,7 +25,7 @@
class MessageDetails:
def author(self):
- """Get user who last modified the Wiki Page."""
+ """Get user who last modified the message."""
creators = zapi.getAdapter(self.context, ICMFDublinCore).creators
if not creators:
return 'unknown'
@@ -58,7 +58,7 @@
def change(self):
if 'ADD' in self.request:
emails = self.request['emails'].split('\n')
- getAdapter(self.context,
+ zapi.getAdapter(self.context,
IMailSubscriptions).addSubscriptions(emails)
elif 'REMOVE' in self.request:
emails = self.request['remails']
=== zopeproducts/demo/messageboard/step8/browser/messageboard.py 1.3 => 1.4 ===
--- zopeproducts/demo/messageboard/step8/browser/messageboard.py:1.3 Thu Aug 21 16:16:33 2003
+++ zopeproducts/demo/messageboard/step8/browser/messageboard.py Sun Dec 14 23:38:46 2003
@@ -16,6 +16,7 @@
$Id$
"""
import os
+from zope.app.interfaces.services.service import ISite
from zope.app.interfaces.services.registration import ActiveStatus
from zope.app.interfaces.workflow import IProcessInstanceContainer
from zope.app.interfaces.workflow import IProcessDefinitionImportExport
@@ -23,8 +24,7 @@
from zopeproducts.messageboard.interfaces import IMessage
from zope.app.browser.container.adding import Adding
-from zope.app.context import ContextWrapper
-from zope.app.services.service import ServiceManager, ServiceRegistration
+from zope.app.services.service import SiteManager, ServiceRegistration
from zope.app.services.servicenames import Workflows
from zope.app.traversing import getPath, getParent, traverse
from zope.app.workflow.service import WorkflowService
@@ -34,6 +34,7 @@
from zope.app.workflow.stateful.definition import \
StatefulProcessDefinition
from zope.component import getAdapter, queryAdapter, getView, getUtility
+from zope.proxy import removeAllProxies
class MessageBoardAdding(Adding):
@@ -48,28 +49,28 @@
content = super(AddMessageBoard, self).createAndAdd(data)
if self.request.get('workflow'):
- site = getParent(content)
- if not site.hasServiceManager():
- site.setServiceManager(ServiceManager())
- sm = traverse(site, '++etc++site')
- default = traverse(sm, 'default')
+ folder = removeAllProxies(getParent(content))
+ if not ISite.isImplementedBy(folder):
+ sm = SiteManager(folder)
+ folder.setSiteManager(sm)
+ sm = folder.getSiteManager()
+ default = sm['default']
rm = default.getRegistrationManager()
# Create Workflow Serivce
- default.setObject('MB-Workflows', WorkflowService())
- workflowservice = traverse(default, 'MB-Workflows')
+ default['MB-Workflows'] = WorkflowService()
+ workflowservice = default['MB-Workflows']
wf_path = "%s/%s" % (getPath(default), 'MB-Workflows')
- registration = ServiceRegistration(Workflows, wf_path, site)
- wf_id = rm.setObject('', registration)
+ registration = ServiceRegistration(Workflows, wf_path, folder)
+ wf_id = rm.addRegistration(registration)
rm[wf_id].status = ActiveStatus
# Create Default Processdefinition
- default.setObject('MB-WFProcesses',
- StatefulProcessDefinition())
- pd_path = getPath(traverse(default, 'MB-WFProcesses'))
+ default['MB-WFProcesses'] = StatefulProcessDefinition()
+ pd_path = getPath(default['MB-WFProcesses'])
registration = ProcessDefinitionRegistration(
'publish-message', pd_path)
- pd_id = rm.setObject('', registration)
+ pd_id = rm.addRegistration(registration)
traverse(rm, pd_id).status = ActiveStatus
# Import Default ProcessReview Workflow
@@ -81,8 +82,8 @@
default['MB-WFProcesses'], open(xml, mode='r'))
# Create Content Workflows Manager
- default.setObject('MB-WFContent', ContentWorkflowsManager())
- content = traverse(default, 'MB-WFContent')
+ default['MB-WFContent'] = ContentWorkflowsManager()
+ content = default['MB-WFContent']
content.subscribe()
content.register(IMessage, 'publish-message')
@@ -97,10 +98,9 @@
msgs = []
for name, msg in wrapped_pmsg.items():
if IMessage.isImplementedBy(msg):
- wrapped_msg = ContextWrapper(msg, wrapped_pmsg, name=name)
if hasMessageStatus(msg, 'pending'):
- msgs.append(ContextWrapper(msg, wrapped_msg, name=name))
- msgs += self.getPendingMessages(wrapped_msg)
+ msgs.append(msg)
+ msgs += self.getPendingMessages(msg)
return msgs
def getPendingMessagesInfo(self):
=== zopeproducts/demo/messageboard/step8/browser/thread.py 1.1 => 1.2 ===
--- zopeproducts/demo/messageboard/step8/browser/thread.py:1.1 Mon Jul 14 20:01:06 2003
+++ zopeproducts/demo/messageboard/step8/browser/thread.py Sun Dec 14 23:38:46 2003
@@ -17,7 +17,6 @@
"""
from messageboard import hasMessageStatus
from zopeproducts.messageboard.interfaces import IMessage
-from zope.app.context import ContextWrapper
from zope.app.pagetemplate.viewpagetemplatefile import ViewPageTemplateFile
class Thread:
@@ -32,12 +31,11 @@
for name, child in self.context.items():
if IMessage.isImplementedBy(child) and \
hasMessageStatus(child, 'published'):
- wrapped = ContextWrapper(child, self.context, name=name)
info = {}
info['title'] = child.title
url = self.base_url + name + '/'
info['url'] = url + '@@thread.html'
- thread = Thread(wrapped, self.request, url)
+ thread = Thread(child, self.request, url)
info['thread'] = thread.subthread()
children.append(info)
return children
More information about the Zope3-Checkins
mailing list