From 947bdf851fb70a2f1ccbc476f2b7a64aa6917f75 Mon Sep 17 00:00:00 2001 From: helmutm Date: Mon, 19 Feb 2007 13:00:31 +0000 Subject: [PATCH] provide external editor usage for files, e.g. word documents git-svn-id: svn://svn.cy55.de/Zope3/src/cybertools/trunk@1590 fd906abe-77d9-0310-91a1-e0d9ade77398 --- xedit/browser.py | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/xedit/browser.py b/xedit/browser.py index 96068ad..2309129 100644 --- a/xedit/browser.py +++ b/xedit/browser.py @@ -23,21 +23,27 @@ $Id$ """ from zope.app import zapi -from zope.event import notify -from zope.app.event.objectevent import ObjectModifiedEvent +from zope.app.pagetemplate import ViewPageTemplateFile from zope.cachedescriptors.property import Lazy +from zope.event import notify +from zope.lifecycleevent import ObjectModifiedEvent from zope.security.proxy import removeSecurityProxy class ExternalEditorView(object): + def __init__(self, context, request): + self.context = context + self.request = request + # TODO: don't access context.data directly but via an IReadFile adapter - def load(self): + def load(self, url=None): context = removeSecurityProxy(self.context) data = context.data r = [] - r.append('url:' + zapi.absoluteURL(context, self.request)) + r.append('url:' + (url or zapi.absoluteURL(context, self.request))) + r.append('content_type:' + str(context.contentType)) r.append('meta_type:' + '.'.join((context.__module__, context.__class__.__name__))) auth = self.request.get('_auth') if auth: @@ -59,7 +65,7 @@ class ExternalEditorView(object): if data: self.context.data = data notify(ObjectModifiedEvent) - + def lock(self): pass