Commit 9f48e8bd authored by Cédric Le Ninivin's avatar Cédric Le Ninivin

Translation: Add portal_type translation customization on transition title

parent f40c5db1
......@@ -1420,7 +1420,8 @@ def calculateHateoas(is_portal=None, is_site_root=None, traversed_document=None,
'href': '%s' % view_action['url'],
'name': view_action['id'],
'icon': view_action['icon'],
'title': Base_translateString(view_action['title']),
'title': Base_translateString(view_action['title']) \
if erp5_action_key != "workflow" else view_action['title'],
})
global_action_type = ("view", "workflow", "object_new_content_action",
......
......@@ -386,6 +386,20 @@ def getTranslatedWorkflowStateWithPortalType(localizer, workflow_id, lang,
if translated_message:
return translated_message, msg_id
def getWorkflowTransitionTranslatedTitle(localizer, workflow_id, lang,
portal_type, transition_title):
for msg_id, default in [
(getMessageIdWithContext(transition_title, 'transition', portal_type), ''),
(getMessageIdWithContext(transition_title, 'transition', workflow_id), ''),
(transition_title.decode('utf-8'), None),
]:
translated_message = localizer.erp5_ui.gettext(
msg_id,
default=default,
lang=lang
).encode('utf-8')
if translated_message:
return translated_message, msg_id
#Get translation of msg id
def getTranslationStringWithContext(self, msg_id, context, context_id):
......
......@@ -172,7 +172,7 @@ ModuleSecurityInfo('Products.ERP5Type.Utils').declarePublic(
'sortValueList', 'convertToUpperCase', 'UpperCase',
'convertToMixedCase', 'cartesianProduct', 'sleep', 'getCommonTimeZoneList',
'int2letter', 'getMessageIdWithContext', 'getTranslationStringWithContext',
'getTranslatedWorkflowStateWithPortalType',
'getTranslatedWorkflowStateWithPortalType', 'getWorkflowTransitionTranslatedTitle',
'Email_parseAddressHeader', 'guessEncodingFromText',
'isValidTALESExpression')
......
......@@ -33,7 +33,7 @@ from Products.CMFCore.utils import _getAuthenticatedUser
from DocumentTemplate.DT_Util import TemplateDict
from DateTime import DateTime
from Products.ERP5Type.Cache import CachingMethod
from Products.ERP5Type.Utils import convertToMixedCase
from Products.ERP5Type.Utils import convertToMixedCase, getWorkflowTransitionTranslatedTitle
import sys
from Acquisition import aq_base
from copy import deepcopy
......@@ -243,9 +243,17 @@ def DCWorkflowDefinition_listObjectActions(self, info):
fmt_data = TemplateDict()
fmt_data._push(info)
fmt_data._push({'transition_id': transition_id})
localizer = ob.getPortalObject().Localizer
selected_language = localizer.get_selected_language()
transition_title = getWorkflowTransitionTranslatedTitle(
localizer, self.id, selected_language, ob.getPortalType(),
tdef.actbox_name % fmt_data,
)[0]
result.append({
'id': transition_id,
'name': tdef.actbox_name % fmt_data,
'name': transition_title,
'url': tdef.actbox_url % fmt_data,
'icon': tdef.actbox_icon % fmt_data,
'permissions': (), # Predetermined.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment