diff --git a/imio/dms/mail/adapters.py b/imio/dms/mail/adapters.py
index ac748866..e9844f61 100644
--- a/imio/dms/mail/adapters.py
+++ b/imio/dms/mail/adapters.py
@@ -3,6 +3,7 @@
from AccessControl import getSecurityManager
from collective.classification.folder.interfaces import IServiceInCharge
from collective.classification.folder.interfaces import IServiceInCopy
+from collective.collabora.interfaces import IStoredFile
from collective.contact.core.content.held_position import IHeldPosition
from collective.contact.core.content.organization import IOrganization
from collective.contact.core.indexers import contact_source
@@ -15,6 +16,7 @@
from collective.dms.basecontent.dmsfile import IDmsFile
from collective.dms.mailcontent.indexers import add_parent_organizations
from collective.dms.scanbehavior.behaviors.behaviors import IScanFields
+from collective.documentgenerator.content.pod_template import IPODTemplate
from collective.task.interfaces import ITaskContent
from imio.dms.mail import BACK_OR_AGAIN_ICONS
from imio.dms.mail import IM_READER_SERVICE_FUNCTIONS
@@ -41,6 +43,7 @@
from plone.app.contentmenu.menu import WorkflowMenu as OrigWorkflowMenu
from plone.app.contenttypes.indexers import _unicode_save_string_concat
from plone.indexer import indexer
+from plone.namedfile.file import NamedBlobFile
from plone.registry.interfaces import IRegistry
from plone.rfc822.interfaces import IPrimaryFieldInfo
from Products.ATContentTypes.interfaces.folder import IATFolder
@@ -1043,3 +1046,30 @@ def get(self):
"title": child.title,
"UID": child.UID(),
}
+
+
+@adapter(IPODTemplate)
+@implementer(IStoredFile)
+class StoredPodTemplate(object):
+ """Access the file storage on a PODTemplate content object.
+
+ i.e. the file attribute on the content object.
+ """
+
+ def __init__(self, context):
+ self.context = context
+ self.filename = context.odt_file.filename
+ self.contentType = context.odt_file.contentType
+
+ @property
+ def data(self):
+ return self.context.odt_file.data
+
+ @data.setter
+ def data(self, data):
+ self.context.odt_file = NamedBlobFile(
+ data=data, filename=self.filename, contentType=self.contentType
+ )
+
+ def getSize(self):
+ return self.context.odt_file.getSize()
diff --git a/imio/dms/mail/browser/configure.zcml b/imio/dms/mail/browser/configure.zcml
index 80666ecf..b723f294 100644
--- a/imio/dms/mail/browser/configure.zcml
+++ b/imio/dms/mail/browser/configure.zcml
@@ -604,6 +604,30 @@
permission="zope2.View"
/>
+
+
+
+
+
+
+
+
""" % (link_title, "%s/%s" % (self.table.portal_url, icon_name))
- return '%s' % (
+ return '%s' % (
link_url,
self.getLinkTarget(item),
self.getLinkCSS(item),