Added html quoting, text2html and linkify.

This commit is contained in:
Martin Edenhofer 2015-01-02 11:31:52 +01:00
parent 69420df8a5
commit 3a44804c96
3 changed files with 66 additions and 44 deletions

View file

@ -543,7 +543,7 @@ class App.ErrorModal extends App.ControllerModal
class App.SessionMessage extends App.ControllerModal class App.SessionMessage extends App.ControllerModal
constructor: -> constructor: ->
super super
@show() @show(@content)
# reload page on modal hidden # reload page on modal hidden
onHide: (e) => onHide: (e) =>

View file

@ -16,9 +16,13 @@ class Widget extends App.Controller
@disconnectClient() @disconnectClient()
button = 'Reload application' button = 'Reload application'
# convert to html and linkify
message.message = App.Utils.textCleanup( message.message )
message.message = App.Utils.text2html( message.message )
new App.SessionMessage( new App.SessionMessage(
head: message.head head: message.head
message: message.message content: message.message
keyboard: true keyboard: true
backdrop: true backdrop: true
close: true close: true

View file

@ -3,7 +3,11 @@ require 'browser_test_helper'
class MaintenanceMessageTest < TestCase class MaintenanceMessageTest < TestCase
def test_websocket def test_websocket
message = 'message 1äöüß ' + rand(99999999999999999).to_s string = rand(99999999999999999).to_s
title_html = "test <b>#{string}</b>"
title_text = "test <b>#{string}<\/b>"
message_html = "message <b>1äöüß</b> #{string}\n\n\nhttp://zammad.org"
message_text = "message <b>1äöüß<\/b> #{string}\n\nhttp:\/\/zammad.org"
tests = [ tests = [
{ {
:name => 'check #1', :name => 'check #1',
@ -33,13 +37,13 @@ class MaintenanceMessageTest < TestCase
:where => :instance1, :where => :instance1,
:execute => 'set', :execute => 'set',
:css => '#content input[name="head"]', :css => '#content input[name="head"]',
:value => message, :value => title_html,
}, },
{ {
:where => :instance1, :where => :instance1,
:execute => 'set', :execute => 'set',
:css => '#content textarea[name="message"]', :css => '#content textarea[name="message"]',
:value => message, :value => message_html,
}, },
{ {
:where => :instance1, :where => :instance1,
@ -51,17 +55,23 @@ class MaintenanceMessageTest < TestCase
:value => 5, :value => 5,
}, },
{ {
:where => :instance1, :where => :instance2,
:execute => 'match', :execute => 'watch_for',
:css => 'body', :area => '.modal',
:value => message, :value => title_text,
:match_result => false,
}, },
{ {
:where => :instance2, :where => :instance2,
:execute => 'watch_for', :execute => 'watch_for',
:area => '.modal', :area => '.modal',
:value => message, :value => message_text,
},
{
:where => :instance1,
:execute => 'match',
:css => 'body',
:value => message_text,
:match_result => false,
}, },
{ {
:where => :instance2, :where => :instance2,
@ -91,13 +101,13 @@ class MaintenanceMessageTest < TestCase
:where => :instance1, :where => :instance1,
:execute => 'set', :execute => 'set',
:css => '#content input[name="head"]', :css => '#content input[name="head"]',
:value => message + ' #2', :value => title_html + ' #2',
}, },
{ {
:where => :instance1, :where => :instance1,
:execute => 'set', :execute => 'set',
:css => '#content textarea[name="message"]', :css => '#content textarea[name="message"]',
:value => message + ' #2', :value => message_html + ' #2',
}, },
{ {
:where => :instance1, :where => :instance1,
@ -105,21 +115,23 @@ class MaintenanceMessageTest < TestCase
:css => '#content button[type="submit"]', :css => '#content button[type="submit"]',
}, },
{ {
:execute => 'wait', :where => :instance2,
:value => 5, :execute => 'watch_for',
}, :area => '.modal',
{ :value => title_text,
:where => :instance1,
:execute => 'match',
:css => 'body',
:value => message + ' #2',
:match_result => false,
}, },
{ {
:where => :instance2, :where => :instance2,
:execute => 'watch_for', :execute => 'watch_for',
:area => '.modal', :area => '.modal',
:value => message + ' #2', :value => message_text + ' #2',
},
{
:where => :instance1,
:execute => 'match',
:css => 'body',
:value => message_text + ' #2',
:match_result => false,
}, },
{ {
:where => :instance2, :where => :instance2,
@ -149,13 +161,13 @@ class MaintenanceMessageTest < TestCase
:where => :instance1, :where => :instance1,
:execute => 'set', :execute => 'set',
:css => '#content input[name="head"]', :css => '#content input[name="head"]',
:value => message + ' #3' , :value => title_html + ' #3' ,
}, },
{ {
:where => :instance1, :where => :instance1,
:execute => 'set', :execute => 'set',
:css => '#content textarea[name="message"]', :css => '#content textarea[name="message"]',
:value => message + ' #3', :value => message_html + ' #3',
}, },
{ {
:where => :instance1, :where => :instance1,
@ -178,17 +190,23 @@ class MaintenanceMessageTest < TestCase
:result => false, :result => false,
}, },
{ {
:where => :instance1, :where => :instance2,
:execute => 'match', :execute => 'watch_for',
:css => 'body', :area => '.modal',
:value => message + ' #3', :value => title_text,
:match_result => false,
}, },
{ {
:where => :instance2, :where => :instance2,
:execute => 'watch_for', :execute => 'watch_for',
:area => '.modal', :area => '.modal',
:value => message + ' #3', :value => message_text + ' #3',
},
{
:where => :instance1,
:execute => 'match',
:css => 'body',
:value => message_text + ' #3',
:match_result => false,
}, },
{ {
:where => :instance2, :where => :instance2,