Follow up #3543 - Translate link text of link template in organisation sidebar in ticket zoom.
This commit is contained in:
parent
bd10f8d134
commit
7de5ec9037
2 changed files with 24 additions and 5 deletions
|
@ -115,8 +115,8 @@ class App extends Spine.Controller
|
||||||
isHtmlEscape = true
|
isHtmlEscape = true
|
||||||
resultLocal = App.i18n.translateDate(resultLocal)
|
resultLocal = App.i18n.translateDate(resultLocal)
|
||||||
|
|
||||||
linktemplate = @_placeholderReplacement(object, attributeConfig, resultLocal)
|
linktemplate = @_placeholderReplacement(object, attributeConfig, resultLocal, isHtmlEscape)
|
||||||
if linktemplate && isHtmlEscape is false
|
if linktemplate
|
||||||
resultLocal = linktemplate
|
resultLocal = linktemplate
|
||||||
isHtmlEscape = true
|
isHtmlEscape = true
|
||||||
|
|
||||||
|
@ -152,7 +152,7 @@ class App extends Spine.Controller
|
||||||
|
|
||||||
result
|
result
|
||||||
|
|
||||||
@_placeholderReplacement: (object, attributeConfig, resultLocal) ->
|
@_placeholderReplacement: (object, attributeConfig, resultLocal, isHtmlEscape) ->
|
||||||
return if !object
|
return if !object
|
||||||
return if !attributeConfig
|
return if !attributeConfig
|
||||||
return if _.isEmpty(attributeConfig.linktemplate)
|
return if _.isEmpty(attributeConfig.linktemplate)
|
||||||
|
@ -161,7 +161,12 @@ class App extends Spine.Controller
|
||||||
return if _.isEmpty(object[attributeConfig.name])
|
return if _.isEmpty(object[attributeConfig.name])
|
||||||
placeholderObjects = { attribute: attributeConfig, session: App.Session.get(), config: App.Config.all() }
|
placeholderObjects = { attribute: attributeConfig, session: App.Session.get(), config: App.Config.all() }
|
||||||
placeholderObjects[object.constructor.className.toLowerCase()] = object
|
placeholderObjects[object.constructor.className.toLowerCase()] = object
|
||||||
"<a href=\"#{App.Utils.replaceTags(attributeConfig.linktemplate, placeholderObjects, true)}\" target=\"blank\">#{App.i18n.translateInline(resultLocal)}</a>"
|
|
||||||
|
value = resultLocal
|
||||||
|
if !isHtmlEscape
|
||||||
|
value = App.Utils.htmlEscape(value)
|
||||||
|
|
||||||
|
"<a href=\"#{App.Utils.replaceTags(attributeConfig.linktemplate, placeholderObjects, true)}\" target=\"blank\">#{value}</a>"
|
||||||
|
|
||||||
@view: (name) ->
|
@view: (name) ->
|
||||||
template = (params = {}) ->
|
template = (params = {}) ->
|
||||||
|
|
|
@ -27,6 +27,14 @@ test( "model ui basic tests", function() {
|
||||||
name: 'textarea', display: 'textarea 1', tag: 'textarea', null: true
|
name: 'textarea', display: 'textarea 1', tag: 'textarea', null: true
|
||||||
};
|
};
|
||||||
App.Ticket.configure_attributes.push( attribute2 )
|
App.Ticket.configure_attributes.push( attribute2 )
|
||||||
|
var attribute3 = {
|
||||||
|
name: 'link1', display: 'link 1', linktemplate: 'http://zammad.com', tag: 'input', null: true, translate: true
|
||||||
|
};
|
||||||
|
App.Ticket.configure_attributes.push( attribute3 )
|
||||||
|
var attribute4 = {
|
||||||
|
name: 'link2', display: 'link 1', linktemplate: 'http://zammad.com', tag: 'input', null: true
|
||||||
|
};
|
||||||
|
App.Ticket.configure_attributes.push( attribute4 )
|
||||||
|
|
||||||
var ticket = new App.Ticket()
|
var ticket = new App.Ticket()
|
||||||
ticket.load({
|
ticket.load({
|
||||||
|
@ -35,7 +43,9 @@ test( "model ui basic tests", function() {
|
||||||
state_id: 2,
|
state_id: 2,
|
||||||
updated_at: '2014-11-07T23:43:08.000Z',
|
updated_at: '2014-11-07T23:43:08.000Z',
|
||||||
date: '2015-02-07',
|
date: '2015-02-07',
|
||||||
textarea: "some new\nline"
|
textarea: "some new\nline",
|
||||||
|
link1: 'closed',
|
||||||
|
link2: 'closed',
|
||||||
})
|
})
|
||||||
|
|
||||||
App.i18n.set('en-us')
|
App.i18n.set('en-us')
|
||||||
|
@ -47,6 +57,8 @@ test( "model ui basic tests", function() {
|
||||||
equal( App.viewPrint( ticket, 'updated_at' ), '<time class="humanTimeFromNow " datetime="2014-11-07T23:43:08.000Z" title="11/07/2014 23:43">11/07/2014</time>')
|
equal( App.viewPrint( ticket, 'updated_at' ), '<time class="humanTimeFromNow " datetime="2014-11-07T23:43:08.000Z" title="11/07/2014 23:43">11/07/2014</time>')
|
||||||
equal( App.viewPrint( ticket, 'date' ), '02/07/2015')
|
equal( App.viewPrint( ticket, 'date' ), '02/07/2015')
|
||||||
equal( App.viewPrint( ticket, 'textarea' ), '<div>some new</div><div>line</div>')
|
equal( App.viewPrint( ticket, 'textarea' ), '<div>some new</div><div>line</div>')
|
||||||
|
equal( App.viewPrint( ticket, 'link1' ), '<a href="http://zammad.com" target="blank">closed</a>')
|
||||||
|
equal( App.viewPrint( ticket, 'link2' ), '<a href="http://zammad.com" target="blank">closed</a>')
|
||||||
|
|
||||||
|
|
||||||
App.i18n.set('de-de')
|
App.i18n.set('de-de')
|
||||||
|
@ -58,6 +70,8 @@ test( "model ui basic tests", function() {
|
||||||
equal( App.viewPrint( ticket, 'updated_at' ), '<time class="humanTimeFromNow " datetime="2014-11-07T23:43:08.000Z" title="07.11.2014 23:43">07.11.2014</time>')
|
equal( App.viewPrint( ticket, 'updated_at' ), '<time class="humanTimeFromNow " datetime="2014-11-07T23:43:08.000Z" title="07.11.2014 23:43">07.11.2014</time>')
|
||||||
equal( App.viewPrint( ticket, 'date' ), '07.02.2015')
|
equal( App.viewPrint( ticket, 'date' ), '07.02.2015')
|
||||||
equal( App.viewPrint( ticket, 'textarea' ), '<div>some new</div><div>line</div>')
|
equal( App.viewPrint( ticket, 'textarea' ), '<div>some new</div><div>line</div>')
|
||||||
|
equal( App.viewPrint( ticket, 'link1' ), '<a href="http://zammad.com" target="blank">geschlossen</a>')
|
||||||
|
equal( App.viewPrint( ticket, 'link2' ), '<a href="http://zammad.com" target="blank">closed</a>')
|
||||||
|
|
||||||
|
|
||||||
App.i18n.set('en-us')
|
App.i18n.set('en-us')
|
||||||
|
|
Loading…
Reference in a new issue