From 9ff86dd745229a24bfff5858d6f659a549f633c5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Tue, 23 Oct 2007 16:24:16 +0000
Subject: [PATCH] Document_checkConversionFormatPermission: make sure Owner can
 get his own document in original format Document_convert: honor
 getSourceReference to set the returned filename

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@17137 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../erp5_dms/Document_checkConversionFormatPermission.xml | 2 +-
 .../portal_skins/erp5_dms/Document_convert.xml            | 8 +++++++-
 bt5/erp5_dms/bt/revision                                  | 2 +-
 3 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms/Document_checkConversionFormatPermission.xml b/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms/Document_checkConversionFormatPermission.xml
index 6c50e5f084..0fa07da083 100644
--- a/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms/Document_checkConversionFormatPermission.xml
+++ b/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms/Document_checkConversionFormatPermission.xml
@@ -76,7 +76,7 @@ role_list = user.getRolesInContext(context)\n
 \n
 # Users involved in the document may view it in editable mode\n
 if "Associate" in role_list or "Assignee" in role_list or\\\n
-   "Assignor" in role_list or "Manager" in role_list:\n
+   "Assignor" in role_list or "Manager" in role_list or "Owner" in role_list:\n
   return 1\n
 \n
 # Reject original format\n
diff --git a/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms/Document_convert.xml b/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms/Document_convert.xml
index c9e1ee8f64..2ccfc0b2f0 100644
--- a/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms/Document_convert.xml
+++ b/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms/Document_convert.xml
@@ -79,7 +79,13 @@ response = request.RESPONSE\n
 data = context.index_html(request, response, format=format, force=force)\n
 typ = response.headers.get(\'content-type\')\n
 \n
-filename = \'%s.%s\' % ((filename or context.title_or_id(), format))\n
+if not filename:\n
+  filename = context.getSourceReference()\n
+  if filename and \'.\' in filename:\n
+    filename = filename[:filename.rindex(\'.\')]\n
+  else:\n
+    filename = context.title_or_id()\n
+filename = \'%s.%s\' % ((filename, format))\n
 if typ == \'application/zip\':\n
   filename += \'.zip\'\n
 \n
diff --git a/bt5/erp5_dms/bt/revision b/bt5/erp5_dms/bt/revision
index 02d9616fbc..0e46c90894 100644
--- a/bt5/erp5_dms/bt/revision
+++ b/bt5/erp5_dms/bt/revision
@@ -1 +1 @@
-697
\ No newline at end of file
+698
\ No newline at end of file
-- 
2.30.9