From dc8d8b9786aef45c38d3c39674d724cea5c3480b Mon Sep 17 00:00:00 2001 From: Martin Edenhofer Date: Fri, 6 May 2016 10:19:24 +0200 Subject: [PATCH] Added #{config.*} options to placeholder widget. --- .../app/controllers/widget/placeholder.coffee | 24 +++++++++++-------- ...160506000001_update_setting_placeholder.rb | 21 ++++++++++++++++ db/seeds.rb | 14 +++++------ test/browser_test_helper.rb | 1 + 4 files changed, 43 insertions(+), 17 deletions(-) create mode 100644 db/migrate/20160506000001_update_setting_placeholder.rb diff --git a/app/assets/javascripts/app/controllers/widget/placeholder.coffee b/app/assets/javascripts/app/controllers/widget/placeholder.coffee index 530d499ff..48e5ee987 100644 --- a/app/assets/javascripts/app/controllers/widget/placeholder.coffee +++ b/app/assets/javascripts/app/controllers/widget/placeholder.coffee @@ -14,7 +14,8 @@ class App.WidgetPlaceholder extends App.Controller @bindElements = @el.textmodule() else @bindElements = @$('[contenteditable]').textmodule() - @update() + + App.Setting.subscribe(@update, initFetch: true) update: => all = [] @@ -28,15 +29,6 @@ class App.WidgetPlaceholder extends App.Controller created_at: true updated_at: true } - # add config - for setting in App.Setting.all() - if setting.preferences && setting.preferences.placeholder - all.push { - id: setting.name - keywords: setting.name - name: "#{App.i18n.translateInline('Config')} > #{setting.name}" - content: content - } for item in @objects list = {} if App[item.object] && App[item.object].configure_attributes @@ -77,6 +69,18 @@ class App.WidgetPlaceholder extends App.Controller content: content } + # add config + for setting in App.Setting.all() + if setting.frontend && setting.preferences && setting.preferences.placeholder + name = "#{App.i18n.translateInline('Config')} > #{App.i18n.translateInline(setting.title)}" + content = "\#{config.#{setting.name}}" + all.push { + id: setting.name + keywords: setting.name + name: name + content: content + } + # set new data if @bindElements[0] for element in @bindElements diff --git a/db/migrate/20160506000001_update_setting_placeholder.rb b/db/migrate/20160506000001_update_setting_placeholder.rb new file mode 100644 index 000000000..a5f52ea03 --- /dev/null +++ b/db/migrate/20160506000001_update_setting_placeholder.rb @@ -0,0 +1,21 @@ +class UpdateSettingPlaceholder < ActiveRecord::Migration + def up + + # return if it's a new setup + return if !Setting.find_by(name: 'system_init_done') + names = %w( + product_name + organization + system_id + fqdn + http_type + ticket_hook) + names.each {|name| + setting = Setting.find_by(name: name) + next if !setting + setting.preferences[:placeholder] = true + setting.save + } + end + +end diff --git a/db/seeds.rb b/db/seeds.rb index 7ad02242a..96ab848f2 100644 --- a/db/seeds.rb +++ b/db/seeds.rb @@ -61,7 +61,7 @@ Setting.create_if_not_exists( }, ], }, - preferences: { render: true, session_check: true, prio: 1 }, + preferences: { render: true, session_check: true, prio: 1, placeholder: true }, state: 'Zammad Helpdesk', frontend: true ) @@ -100,7 +100,7 @@ Setting.create_if_not_exists( ], }, state: '', - preferences: { prio: 2 }, + preferences: { prio: 2, placeholder: true }, frontend: true ) options = {} @@ -125,7 +125,7 @@ Setting.create_if_not_exists( ], }, state: system_id, - preferences: { online_service_disable: true }, + preferences: { online_service_disable: true, placeholder: true }, frontend: true ) Setting.create_if_not_exists( @@ -144,7 +144,7 @@ Setting.create_if_not_exists( ], }, state: 'zammad.example.com', - preferences: { online_service_disable: true }, + preferences: { online_service_disable: true, placeholder: true }, frontend: true ) Setting.create_if_not_exists( @@ -186,7 +186,7 @@ Setting.create_if_not_exists( ], }, state: 'http', - preferences: { online_service_disable: true }, + preferences: { online_service_disable: true, placeholder: true }, frontend: true ) @@ -747,7 +747,7 @@ Setting.create_if_not_exists( }, ], }, - preferences: { render: true }, + preferences: { render: true, placeholder: true }, state: 'Ticket#', frontend: true ) @@ -1174,7 +1174,7 @@ Setting.create_if_not_exists( }, ], }, - state: '(MAILER-DAEMON|postmaster|abuse)@.+?\..+?', + state: '(mailer-daemon|postmaster|abuse|root)@.+?\..+?', preferences: { online_service_disable: true }, frontend: false ) diff --git a/test/browser_test_helper.rb b/test/browser_test_helper.rb index 2f880e17d..f37614137 100644 --- a/test/browser_test_helper.rb +++ b/test/browser_test_helper.rb @@ -2580,6 +2580,7 @@ wait untill text in selector disabppears text = element.text if text =~ /#{Regexp.quote(data[:name])}/ assert(true, 'group created') + sleep 1 # wait until modal has gone # add member if data[:member]