From 3960c2f7be6764da9cde45835f1fb76ffecf904a Mon Sep 17 00:00:00 2001 From: Romain Courteaud <romain@nexedi.com> Date: Fri, 27 Mar 2020 14:22:06 +0000 Subject: [PATCH] erp5_discussion: allow to download attachment --- .../DiscussionPost_getSuccessorDownloadUrl.py | 4 + ...DiscussionPost_getSuccessorDownloadUrl.xml | 62 ++++++++ ...iscussionThread_viewDiscussionPostList.xml | 1 + .../listbox.xml | 16 ++ .../listbox_download.xml | 148 ++++++++++++++++++ 5 files changed, 231 insertions(+) create mode 100644 bt5/erp5_discussion/SkinTemplateItem/portal_skins/erp5_discussion/DiscussionPost_getSuccessorDownloadUrl.py create mode 100644 bt5/erp5_discussion/SkinTemplateItem/portal_skins/erp5_discussion/DiscussionPost_getSuccessorDownloadUrl.xml create mode 100644 bt5/erp5_discussion/SkinTemplateItem/portal_skins/erp5_discussion/DiscussionThread_viewDiscussionPostList/listbox_download.xml diff --git a/bt5/erp5_discussion/SkinTemplateItem/portal_skins/erp5_discussion/DiscussionPost_getSuccessorDownloadUrl.py b/bt5/erp5_discussion/SkinTemplateItem/portal_skins/erp5_discussion/DiscussionPost_getSuccessorDownloadUrl.py new file mode 100644 index 0000000000..7c3f6e5ef7 --- /dev/null +++ b/bt5/erp5_discussion/SkinTemplateItem/portal_skins/erp5_discussion/DiscussionPost_getSuccessorDownloadUrl.py @@ -0,0 +1,4 @@ +if brain is None: + brain = context + +return brain.getSuccessorValue().File_getDownloadUrl(**kw) diff --git a/bt5/erp5_discussion/SkinTemplateItem/portal_skins/erp5_discussion/DiscussionPost_getSuccessorDownloadUrl.xml b/bt5/erp5_discussion/SkinTemplateItem/portal_skins/erp5_discussion/DiscussionPost_getSuccessorDownloadUrl.xml new file mode 100644 index 0000000000..155e1adda6 --- /dev/null +++ b/bt5/erp5_discussion/SkinTemplateItem/portal_skins/erp5_discussion/DiscussionPost_getSuccessorDownloadUrl.xml @@ -0,0 +1,62 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="PythonScript" module="Products.PythonScripts.PythonScript"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>Script_magic</string> </key> + <value> <int>3</int> </value> + </item> + <item> + <key> <string>_bind_names</string> </key> + <value> + <object> + <klass> + <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/> + </klass> + <tuple/> + <state> + <dictionary> + <item> + <key> <string>_asgns</string> </key> + <value> + <dictionary> + <item> + <key> <string>name_container</string> </key> + <value> <string>container</string> </value> + </item> + <item> + <key> <string>name_context</string> </key> + <value> <string>context</string> </value> + </item> + <item> + <key> <string>name_m_self</string> </key> + <value> <string>script</string> </value> + </item> + <item> + <key> <string>name_subpath</string> </key> + <value> <string>traverse_subpath</string> </value> + </item> + </dictionary> + </value> + </item> + </dictionary> + </state> + </object> + </value> + </item> + <item> + <key> <string>_params</string> </key> + <value> <string>brain=None, **kw</string> </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>DiscussionPost_getSuccessorDownloadUrl</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> diff --git a/bt5/erp5_discussion/SkinTemplateItem/portal_skins/erp5_discussion/DiscussionThread_viewDiscussionPostList.xml b/bt5/erp5_discussion/SkinTemplateItem/portal_skins/erp5_discussion/DiscussionThread_viewDiscussionPostList.xml index ee1df0be99..d29f76f55a 100644 --- a/bt5/erp5_discussion/SkinTemplateItem/portal_skins/erp5_discussion/DiscussionThread_viewDiscussionPostList.xml +++ b/bt5/erp5_discussion/SkinTemplateItem/portal_skins/erp5_discussion/DiscussionThread_viewDiscussionPostList.xml @@ -96,6 +96,7 @@ <value> <list> <string>listbox_text_content</string> + <string>listbox_download</string> </list> </value> </item> diff --git a/bt5/erp5_discussion/SkinTemplateItem/portal_skins/erp5_discussion/DiscussionThread_viewDiscussionPostList/listbox.xml b/bt5/erp5_discussion/SkinTemplateItem/portal_skins/erp5_discussion/DiscussionThread_viewDiscussionPostList/listbox.xml index 90c3631d40..f07eb45947 100644 --- a/bt5/erp5_discussion/SkinTemplateItem/portal_skins/erp5_discussion/DiscussionThread_viewDiscussionPostList/listbox.xml +++ b/bt5/erp5_discussion/SkinTemplateItem/portal_skins/erp5_discussion/DiscussionThread_viewDiscussionPostList/listbox.xml @@ -17,6 +17,7 @@ <string>selection_name</string> <string>sort</string> <string>title</string> + <string>url_columns</string> </list> </value> </item> @@ -93,6 +94,10 @@ <string>text_content</string> <string>Content</string> </tuple> + <tuple> + <string>download</string> + <string>Download</string> + </tuple> </list> </value> </item> @@ -148,6 +153,17 @@ <key> <string>title</string> </key> <value> <string>Discussion Posts</string> </value> </item> + <item> + <key> <string>url_columns</string> </key> + <value> + <list> + <tuple> + <string>download</string> + <string>DiscussionPost_getSuccessorDownloadUrl</string> + </tuple> + </list> + </value> + </item> </dictionary> </value> </item> diff --git a/bt5/erp5_discussion/SkinTemplateItem/portal_skins/erp5_discussion/DiscussionThread_viewDiscussionPostList/listbox_download.xml b/bt5/erp5_discussion/SkinTemplateItem/portal_skins/erp5_discussion/DiscussionThread_viewDiscussionPostList/listbox_download.xml new file mode 100644 index 0000000000..f67c32b7b0 --- /dev/null +++ b/bt5/erp5_discussion/SkinTemplateItem/portal_skins/erp5_discussion/DiscussionThread_viewDiscussionPostList/listbox_download.xml @@ -0,0 +1,148 @@ +<?xml version="1.0"?> +<ZopeData> + <record id="1" aka="AAAAAAAAAAE="> + <pickle> + <global name="ProxyField" module="Products.ERP5Form.ProxyField"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>delegated_list</string> </key> + <value> + <list> + <string>default</string> + <string>editable</string> + <string>enabled</string> + </list> + </value> + </item> + <item> + <key> <string>id</string> </key> + <value> <string>listbox_download</string> </value> + </item> + <item> + <key> <string>message_values</string> </key> + <value> + <dictionary> + <item> + <key> <string>external_validator_failed</string> </key> + <value> <string>The input failed the external validator.</string> </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>overrides</string> </key> + <value> + <dictionary> + <item> + <key> <string>field_id</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>form_id</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>target</string> </key> + <value> <string></string> </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>tales</string> </key> + <value> + <dictionary> + <item> + <key> <string>default</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent> + </value> + </item> + <item> + <key> <string>editable</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>enabled</string> </key> + <value> + <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent> + </value> + </item> + <item> + <key> <string>field_id</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>form_id</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>target</string> </key> + <value> <string></string> </value> + </item> + </dictionary> + </value> + </item> + <item> + <key> <string>values</string> </key> + <value> + <dictionary> + <item> + <key> <string>default</string> </key> + <value> <string></string> </value> + </item> + <item> + <key> <string>editable</string> </key> + <value> <int>0</int> </value> + </item> + <item> + <key> <string>enabled</string> </key> + <value> <int>1</int> </value> + </item> + <item> + <key> <string>field_id</string> </key> + <value> <string>my_thumbnail</string> </value> + </item> + <item> + <key> <string>form_id</string> </key> + <value> <string>File_viewFieldLibrary</string> </value> + </item> + <item> + <key> <string>target</string> </key> + <value> <string>Click to edit the target</string> </value> + </item> + </dictionary> + </value> + </item> + </dictionary> + </pickle> + </record> + <record id="2" aka="AAAAAAAAAAI="> + <pickle> + <global name="TALESMethod" module="Products.Formulator.TALESField"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>_text</string> </key> + <value> <string>python: cell.getSuccessorValue().getIconURL()</string> </value> + </item> + </dictionary> + </pickle> + </record> + <record id="3" aka="AAAAAAAAAAM="> + <pickle> + <global name="TALESMethod" module="Products.Formulator.TALESField"/> + </pickle> + <pickle> + <dictionary> + <item> + <key> <string>_text</string> </key> + <value> <string>cell/hasSuccessor</string> </value> + </item> + </dictionary> + </pickle> + </record> +</ZopeData> -- 2.30.9