diff --git a/bt5/erp5_dms/WorkflowTemplateItem/portal_workflow/document_interaction_workflow/scripts/OOoDocument_updateMetadata.xml b/bt5/erp5_dms/WorkflowTemplateItem/portal_workflow/document_interaction_workflow/scripts/OOoDocument_updateMetadata.xml index ec861a1a38ed9b920b71644591801599a2c4c560..7ed49bcaa84bffddfc154e32f180e1a1935f4e13 100644 --- a/bt5/erp5_dms/WorkflowTemplateItem/portal_workflow/document_interaction_workflow/scripts/OOoDocument_updateMetadata.xml +++ b/bt5/erp5_dms/WorkflowTemplateItem/portal_workflow/document_interaction_workflow/scripts/OOoDocument_updateMetadata.xml @@ -74,12 +74,21 @@ XXX - This script must be verified, written with clean syntax\n """\n document = state_change[\'object\']\n kw = state_change[\'kwargs\']\n -metadata_field_list = (\'title\', \'subject\', \'description\', \'reference\', \'version\', \'language\') # XXX hardcoded?\n +\n +# XXX hardcoded?\n +# key is a name of erp5 field.\n +# value is a name of document metadata.\n +metadata_field_mapping_dict = {\'title\':\'title\',\n + \'subject\':\'keyword\',\n + \'description\':\'description\',\n + \'reference\':\'reference\',\n + \'version\':\'version\',\n + \'language\':\'language\'}\n \n # edit metadata (only if we have OOo file)\n if document.hasBaseData():\n new_metadata = {}\n - for field in metadata_field_list:\n + for field in metadata_field_mapping_dict.keys():\n value = kw.get(field, None)\n if value is None:\n value_list = kw.get(\'%s_list\' % field, None)\n @@ -89,7 +98,8 @@ if document.hasBaseData():\n else:\n value = \'\'\n if value is not None:\n - new_metadata[field] = value \n + metadata_key = metadata_field_mapping_dict[field]\n + new_metadata[metadata_key] = value\n if new_metadata:\n # edit metadata via server\n document.activate().updateBaseMetadata(**new_metadata)\n @@ -147,7 +157,7 @@ if document.hasBaseData():\n <string>_getitem_</string> <string>document</string> <string>kw</string> - <string>metadata_field_list</string> + <string>metadata_field_mapping_dict</string> <string>_getattr_</string> <string>new_metadata</string> <string>_getiter_</string> @@ -158,6 +168,7 @@ if document.hasBaseData():\n <string>len</string> <string>map</string> <string>str</string> + <string>metadata_key</string> <string>_write_</string> <string>_apply_</string> </tuple> diff --git a/bt5/erp5_dms/bt/revision b/bt5/erp5_dms/bt/revision index 7392849d545f436d49f23d990ee934d86b847763..5c1d4541ae1282041c7a670a25b9a2901703f63e 100644 --- a/bt5/erp5_dms/bt/revision +++ b/bt5/erp5_dms/bt/revision @@ -1 +1 @@ -775 \ No newline at end of file +777 \ No newline at end of file