class RenderEmailSignature(BrowserView): """Render an email signature.""" def __init__(self, context, request): super(RenderEmailSignature, self).__init__(context, request) model = api.portal.get_registry_record( 'imio.dms.mail.browser.settings.IImioDmsMailConfig.' 'omail_email_signature') self.pt = PageTemplate() self.pt.pt_source_file = lambda: 'none' self.pt.write(model) self.namespace = self.pt.pt_getContext() self.namespace.update({ 'request': self.request, 'view': self, 'context': self.context, 'user': getSecurityManager().getUser(), 'modules': SecureModuleImporter }) dg_helper = getMultiAdapter((self.context, self.request), name='document_generation_helper_view') self.namespace['dghv'] = dg_helper self.namespace['sender'] = dg_helper.get_sender() def __call__(self): rendered = self.pt.pt_render(self.namespace) return richtextval(rendered)
def get_context(self, instance, request, **kw): pt = PageTemplate() namespace = pt.pt_getContext() namespace['request'] = request namespace['view'] = instance namespace['context'] = context = instance.context # get the root obj = self.context root = None meth = aq_get(obj, 'getPhysicalRoot', None) if meth is not None: root = meth() namespace.update(here=obj, # philiKON thinks container should be the view, # but BBB is more important than aesthetics. container=obj, root=root, modules=SecureModuleImporter, traverse_subpath=[], # BBB, never really worked user = getSecurityManager().getUser() ) return namespace
def pt_getContext(self, args=(), options={}, **kw): rval = PageTemplate.pt_getContext(self, args=args) options.update(rval) return options
def pt_getContext(self, args=(), options={}, **kw): rval = PageTemplate.pt_getContext(self, args=args) options.update(rval) return options