Exemple #1
0
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
Exemple #3
0
 def pt_getContext(self, args=(), options={}, **kw):
     rval = PageTemplate.pt_getContext(self, args=args)
     options.update(rval)
     return options
Exemple #4
0
 def pt_getContext(self, args=(), options={}, **kw):
     rval = PageTemplate.pt_getContext(self, args=args)
     options.update(rval)
     return options