From 22b2f44ba02bfab05c6f9f4e4f56d089d9c339dd Mon Sep 17 00:00:00 2001 From: Martin Edenhofer Date: Tue, 16 Oct 2018 10:45:15 +0200 Subject: [PATCH] Initial SMS integration for trigger notifications and additional channel. Thanks to sys4 AG! --- Gemfile | 3 + Gemfile.lock | 5 + .../_application_controller_form.coffee | 3 +- .../_application_controller_generic.coffee | 18 +- .../app/controllers/_channel/email.coffee | 2 +- .../app/controllers/_channel/sms.coffee | 442 +++++++++++++++ .../_ui_element/ticket_perform_action.coffee | 22 +- .../controllers/agent_ticket_create.coffee | 2 +- .../article_action/sms_reply.coffee | 79 +++ .../ticket_zoom/article_new.coffee | 10 +- app/assets/javascripts/app/index.coffee | 1 + .../javascripts/app/lib/app_post/utils.coffee | 4 +- .../javascripts/app/models/channel.coffee | 2 +- .../app/views/channel/_header.jst.eco | 11 + .../channel/sms_account_overview.jst.eco | 130 +++++ .../notification_email.jst.eco | 6 +- app/assets/stylesheets/svg-dimensions.css | 3 + app/assets/stylesheets/zammad.scss | 8 + .../application_channel_controller.rb | 47 ++ app/controllers/channels_sms_controller.rb | 86 +++ app/controllers/monitoring_controller.rb | 1 + app/models/channel.rb | 101 +++- .../channel/driver/sms/massenversand.rb | 51 ++ app/models/channel/driver/sms/twilio.rb | 147 +++++ app/models/cti/caller_id.rb | 28 + .../ticket/article/communicate_email.rb | 15 +- .../communicate_email/background_job.rb | 4 +- .../ticket/article/communicate_facebook.rb | 15 +- .../ticket/article/communicate_sms.rb | 25 + .../article/communicate_sms/background_job.rb | 121 ++++ .../ticket/article/communicate_telegram.rb | 12 +- .../communicate_telegram/background_job.rb | 6 +- .../ticket/article/communicate_twitter.rb | 15 +- .../communicate_twitter/background_job.rb | 6 +- .../ticket/article/fillup_from_email.rb | 5 +- .../ticket/article/fillup_from_general.rb | 14 +- .../article/fillup_from_origin_by_id.rb | 14 +- app/models/ticket.rb | 516 ++++++++++-------- app/models/ticket/article.rb | 4 + app/models/transaction/trigger.rb | 2 - config/application.rb | 1 + config/routes/channel_sms.rb | 16 + contrib/icon-sprite.sketch | Bin 219497 -> 220972 bytes db/migrate/20180524182518_sms_support.rb | 15 + db/seeds/permissions.rb | 7 + lib/notification_factory/renderer.rb | 22 +- public/assets/images/icons.svg | 15 + public/assets/images/icons/sms.svg | 9 + spec/controllers/integration/exchange_spec.rb | 46 ++ spec/factories/channel.rb | 12 +- spec/lib/import/exchange/folder_spec.rb | 1 + .../channel/driver/sms/massenversand_spec.rb | 72 +++ spec/models/channel/driver/sms/twilio_spec.rb | 71 +++ spec/models/trigger/sms_spec.rb | 32 ++ test/data/twilio/inbound_sms1.json | 21 + test/data/twilio/inbound_sms2.json | 21 + test/data/twilio/inbound_sms3.json | 21 + test/fixtures/mail67.box | 19 + .../integration/twilio_sms_controller_test.rb | 232 ++++++++ .../notification_factory_renderer_test.rb | 52 ++ 60 files changed, 2336 insertions(+), 335 deletions(-) create mode 100644 app/assets/javascripts/app/controllers/_channel/sms.coffee create mode 100644 app/assets/javascripts/app/controllers/ticket_zoom/article_action/sms_reply.coffee create mode 100644 app/assets/javascripts/app/views/channel/_header.jst.eco create mode 100644 app/assets/javascripts/app/views/channel/sms_account_overview.jst.eco create mode 100644 app/controllers/application_channel_controller.rb create mode 100644 app/controllers/channels_sms_controller.rb create mode 100644 app/models/channel/driver/sms/massenversand.rb create mode 100644 app/models/channel/driver/sms/twilio.rb create mode 100644 app/models/observer/ticket/article/communicate_sms.rb create mode 100644 app/models/observer/ticket/article/communicate_sms/background_job.rb create mode 100644 config/routes/channel_sms.rb create mode 100644 db/migrate/20180524182518_sms_support.rb create mode 100644 public/assets/images/icons/sms.svg create mode 100644 spec/controllers/integration/exchange_spec.rb create mode 100644 spec/models/channel/driver/sms/massenversand_spec.rb create mode 100644 spec/models/channel/driver/sms/twilio_spec.rb create mode 100644 spec/models/trigger/sms_spec.rb create mode 100644 test/data/twilio/inbound_sms1.json create mode 100644 test/data/twilio/inbound_sms2.json create mode 100644 test/data/twilio/inbound_sms3.json create mode 100644 test/fixtures/mail67.box create mode 100644 test/integration/twilio_sms_controller_test.rb diff --git a/Gemfile b/Gemfile index 630b9f01f..8ef71c43f 100644 --- a/Gemfile +++ b/Gemfile @@ -105,6 +105,9 @@ gem 'icalendar-recurrence' # feature - phone number formatting gem 'telephone_number' +# feature - SMS +gem 'twilio-ruby' + # integrations gem 'clearbit' gem 'net-ldap' diff --git a/Gemfile.lock b/Gemfile.lock index b0941b974..a7b24e420 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -447,6 +447,10 @@ GEM thread_safe (0.3.6) tilt (2.0.8) tins (1.15.1) + twilio-ruby (5.10.2) + faraday (~> 0.9) + jwt (>= 1.5, <= 2.5) + nokogiri (>= 1.6, < 2.0) twitter (6.2.0) addressable (~> 2.3) buftok (~> 0.2.0) @@ -578,6 +582,7 @@ DEPENDENCIES telephone_number test-unit therubyracer + twilio-ruby twitter uglifier unicorn diff --git a/app/assets/javascripts/app/controllers/_application_controller_form.coffee b/app/assets/javascripts/app/controllers/_application_controller_form.coffee index 79f6ed2e8..81651486f 100644 --- a/app/assets/javascripts/app/controllers/_application_controller_form.coffee +++ b/app/assets/javascripts/app/controllers/_application_controller_form.coffee @@ -25,7 +25,8 @@ class App.ControllerForm extends App.Controller @form = @formGen() # add alert placeholder - @form.prepend('') + @form.prepend('') + @form.prepend('') # if element is given, prepend form to it if @el diff --git a/app/assets/javascripts/app/controllers/_application_controller_generic.coffee b/app/assets/javascripts/app/controllers/_application_controller_generic.coffee index 2f9bff2fc..c7c2b49da 100644 --- a/app/assets/javascripts/app/controllers/_application_controller_generic.coffee +++ b/app/assets/javascripts/app/controllers/_application_controller_generic.coffee @@ -295,15 +295,15 @@ class App.ControllerGenericDestroyConfirm extends App.ControllerModal App.i18n.translateContent('Sure to delete this object?') onSubmit: => - @item.destroy( - done: => - @close() - if @callback - @callback() - fail: => - @log 'errors' - @close() - ) + options = @options || {} + options.done = => + @close() + if @callback + @callback() + options.fail = => + @log 'errors' + @close() + @item.destroy(options) class App.ControllerConfirm extends App.ControllerModal buttonClose: true diff --git a/app/assets/javascripts/app/controllers/_channel/email.coffee b/app/assets/javascripts/app/controllers/_channel/email.coffee index 6889e4c14..4d7f54740 100644 --- a/app/assets/javascripts/app/controllers/_channel/email.coffee +++ b/app/assets/javascripts/app/controllers/_channel/email.coffee @@ -67,7 +67,7 @@ class App.ChannelEmailFilter extends App.Controller container: @el.closest('.content') callback: @load ) - + edit: (id, e) => e.preventDefault() new App.ControllerGenericEdit( diff --git a/app/assets/javascripts/app/controllers/_channel/sms.coffee b/app/assets/javascripts/app/controllers/_channel/sms.coffee new file mode 100644 index 000000000..13091c844 --- /dev/null +++ b/app/assets/javascripts/app/controllers/_channel/sms.coffee @@ -0,0 +1,442 @@ +class App.ChannelSms extends App.ControllerTabs + requiredPermission: 'admin.channel_sms' + header: 'SMS' + constructor: -> + super + + @title 'SMS', true + @tabs = [ + { + name: 'Accounts', + target: 'c-account', + controller: App.ChannelSmsAccountOverview, + }, + ] + + @render() + +class App.ChannelSmsAccountOverview extends App.Controller + events: + 'click .js-channelEdit': 'change' + 'click .js-channelDelete': 'delete' + 'click .js-channelDisable': 'disable' + 'click .js-channelEnable': 'enable' + 'click .js-editNotification': 'editNotification' + + constructor: -> + super + @interval(@load, 30000) + #@load() + + load: => + + @startLoading() + + @ajax( + id: 'sms_index' + type: 'GET' + url: "#{@apiPath}/channels_sms" + processData: true + success: (data, status, xhr) => + @config = data.config + @stopLoading() + App.Collection.loadAssets(data.assets) + @render(data) + ) + + render: (data = {}) => + + @channelDriver = data.channel_driver + + # get channels + @account_channels = [] + for channel_id in data.account_channel_ids + account_channel = App.Channel.fullLocal(channel_id) + if account_channel.group_id + account_channel.group = App.Group.find(account_channel.group_id) + else + account_channel.group = '-' + @account_channels.push account_channel + + # get channels + @notification_channels = [] + for channel_id in data.notification_channel_ids + @notification_channels.push App.Channel.find(channel_id) + + @html App.view('channel/sms_account_overview')( + account_channels: @account_channels + notification_channels: @notification_channels + config: @config + ) + + change: (e) => + e.preventDefault() + id = $(e.target).closest('.action').data('id') + if !id + channel = new App.Channel(active: true) + else + channel = App.Channel.find(id) + new App.ChannelSmsAccount( + container: @el.closest('.content') + channel: channel + callback: @load + channelDriver: @channelDriver + config: @config + ) + + delete: (e) => + e.preventDefault() + id = $(e.target).closest('.action').data('id') + channel = App.Channel.find(id) + new App.ControllerGenericDestroyConfirm( + item: channel + options: + url: "/api/v1/channels_sms/#{channel.id}" + container: @el.closest('.content') + callback: => + @load() + ) + + disable: (e) => + e.preventDefault() + id = $(e.target).closest('.action').data('id') + @ajax( + id: 'sms_disable' + type: 'POST' + url: "#{@apiPath}/channels_sms_disable" + data: JSON.stringify(id: id) + processData: true + success: => + @load() + ) + + enable: (e) => + e.preventDefault() + id = $(e.target).closest('.action').data('id') + @ajax( + id: 'sms_enable' + type: 'POST' + url: "#{@apiPath}/channels_sms_enable" + data: JSON.stringify(id: id) + processData: true + success: => + @load() + ) + + editNotification: (e) => + e.preventDefault() + id = $(e.target).closest('.action').data('id') + channel = App.Channel.find(id) + new App.ChannelSmsNotification( + container: @el.closest('.content') + channel: channel + callback: @load + channelDriver: @channelDriver + config: @config + ) + +class App.ChannelSmsAccount extends App.ControllerModal + head: 'SMS Account' + buttonCancel: true + centerButtons: [ + { + text: 'Test' + className: 'js-test' + } + ] + elements: + 'form': 'form' + 'select[name="options::adapter"]': 'adapterSelect' + events: + 'click .js-test': 'onTest' + + content: -> + el = $('
') + + # form + options = {} + currentConfig = {} + for config in @config + if config.account + options[config.adapter] = config.name + + form = new App.ControllerForm( + el: el.find('.js-channelAdapterSelector') + model: + configure_attributes: [ + { name: 'options::adapter', display: 'Provider', tag: 'select', null: false, options: options, nulloption: true } + ] + className: '' + params: @channel + ) + @renderAdapterOptions(@channel.options?.adapter, el) + el.find('[name="options::adapter"]').bind('change', (e) => + @renderAdapterOptions(e.target.value, el) + ) + el + + renderAdapterOptions: (adapter, el) -> + el.find('.js-channelWebhook').html('') + el.find('.js-channelAdapterOptions').html('') + + currentConfig = {} + for configuration in @config + if configuration.adapter is adapter + if configuration.account + currentConfig = configuration.account + return if _.isEmpty(currentConfig) + + if _.isEmpty(@channel.options) || _.isEmpty(@channel.options.webhook_token) + @channel.options ||= {} + @channel.options.webhook_token = '?' + for localCurrentConfig in currentConfig + if localCurrentConfig.name is 'options::webhook_token' + @channel.options.webhook_token = localCurrentConfig.default + + webhook = "#{@Config.get('http_type')}://#{@Config.get('fqdn')}/api/v1/sms_webhook/#{@channel.options?.webhook_token}" + new App.ControllerForm( + el: el.find('.js-channelWebhook') + model: + configure_attributes: [ + { name: 'options::webhook', display: 'Webhook', tag: 'input', type: 'text', limit: 200, null: false, default: webhook, disabled: true }, + ] + className: '' + params: @channel + ) + + new App.ControllerForm( + el: el.find('.js-channelAdapterOptions') + model: + configure_attributes: currentConfig + className: '' + params: @channel + ) + + onDelete: => + if @channel.isNew() is true + @close() + @callback() + return + + new App.ControllerGenericDestroyConfirm( + item: @channel + options: + url: "/api/v1/channels_sms/#{@channel.id}" + container: @el.closest('.content') + callback: => + @close() + @callback() + ) + + onSubmit: (e) -> + e.preventDefault() + + if @adapterSelect.val() is '' + @onDelete() + return + + @formDisable(e) + + @channel.options ||= {} + for key, value of @formParam(@el) + if key is 'options' + for optionsKey, optionsValue of value + @channel.options ||= {} + @channel.options[optionsKey] = optionsValue + else + @channel[key] = value + @channel.area = 'Sms::Account' + + url = '/api/v1/channels_sms' + if !@channel.isNew() + url = "/api/v1/channels_sms/#{@channel.id}" + + ui = @ + @channel.save( + url: url + done: -> + ui.formEnable(e) + ui.channel = App.Channel.find(@id) + ui.close() + ui.callback() + fail: (settings, details) -> + ui.log 'errors', details + ui.formEnable(e) + ui.showAlert(details.error_human || details.error || 'Unable to update object!') + ) + + onTest: (e) -> + e.preventDefault() + new TestModal( + channel: @formParam(@el) + container: @el.closest('.content') + ) + +class App.ChannelSmsNotification extends App.ControllerModal + head: 'SMS Notification' + buttonCancel: true + centerButtons: [ + { + text: 'Test' + className: 'js-test' + } + ] + elements: + 'form': 'form' + 'select[name="options::adapter"]': 'adapterSelect' + events: + 'click .js-test': 'onTest' + + content: -> + el = $('
') + if !@channel + @channel = new App.Channel(active: true) + + # form + options = {} + currentConfig = {} + for config in @config + if config.notification + options[config.adapter] = config.name + + form = new App.ControllerForm( + el: el.find('.js-channelAdapterSelector') + model: + configure_attributes: [ + { name: 'options::adapter', display: 'Provider', tag: 'select', null: false, options: options, nulloption: true } + ] + className: '' + params: @channel + ) + @renderAdapterOptions(@channel.options?.adapter, el) + el.find('[name="options::adapter"]').bind('change', (e) => + @renderAdapterOptions(e.target.value, el) + ) + el + + renderAdapterOptions: (adapter, el) -> + el.find('.js-channelAdapterOptions').html('') + + currentConfig = {} + for configuration in @config + if configuration.adapter is adapter + if configuration.notification + currentConfig = configuration.notification + return if _.isEmpty(currentConfig) + + new App.ControllerForm( + el: el.find('.js-channelAdapterOptions') + model: + configure_attributes: currentConfig + className: '' + params: @channel + ) + + onDelete: => + if @channel.isNew() is true + @close() + @callback() + return + + new App.ControllerGenericDestroyConfirm( + item: @channel + options: + url: "/api/v1/channels_sms/#{@channel.id}" + container: @el.closest('.content') + callback: => + @close() + @callback() + ) + + onSubmit: (e) -> + e.preventDefault() + + if @adapterSelect.val() is '' + @onDelete() + return + + @formDisable(e) + + @channel.options ||= {} + for key, value of @formParam(@el) + @channel[key] = value + @channel.area = 'Sms::Notification' + + url = '/api/v1/channels_sms' + if !@channel.isNew() + url = "/api/v1/channels_sms/#{@channel.id}" + ui = @ + @channel.save( + url: url + done: -> + ui.formEnable(e) + ui.channel = App.Channel.find(@id) + ui.close() + ui.callback() + fail: (settings, details) -> + ui.log 'errors', details + ui.formEnable(e) + ui.showAlert(details.error_human || details.error || 'Unable to update object!') + ) + + onTest: (e) -> + e.preventDefault() + new TestModal( + channel: @formParam(@el) + container: @el.closest('.content') + ) + +class TestModal extends App.ControllerModal + head: 'Test SMS provider' + buttonCancel: true + + content: -> + form = new App.ControllerForm( + model: + configure_attributes: [ + { name: 'recipient', display: 'Recipient', tag: 'input', null: false } + { name: 'message', display: 'Message', tag: 'input', null: false, default: 'Test message from Zammad' } + ] + className: '' + ) + form.form + + T: (name) -> + App.i18n.translateInline(name) + + submit: (e) -> + super(e) + + @el.find('.js-danger').addClass('hide') + @el.find('.js-success').addClass('hide') + @formDisable(@el) + + testData = _.extend( + @formParam(e.currentTarget), + options: @channel.options + ) + + @ajax( + type: 'POST' + url: "#{@apiPath}/channels_sms/test" + data: JSON.stringify(testData) + processData: true + success: (data) => + @formEnable(@el) + if error_text = (data.error || data.error_human) + @el.find('.js-danger') + .text(@T(error_text)) + .removeClass('hide') + else + @el.find('.js-success') + .text(@T('SMS successfully sent')) + .removeClass('hide') + error: (xhr) => + data = JSON.parse(xhr.responseText) + @formEnable(@el) + @el.find('.js-danger') + .text(@T(data.error || 'Unable to perform test')) + .removeClass('hide') + ) + +App.Config.set('SMS', { prio: 3100, name: 'SMS', parent: '#channels', target: '#channels/sms', controller: App.ChannelSms, permission: ['admin.channel_sms'] }, 'NavBarAdmin') diff --git a/app/assets/javascripts/app/controllers/_ui_element/ticket_perform_action.coffee b/app/assets/javascripts/app/controllers/_ui_element/ticket_perform_action.coffee index f9ac78d3e..b1ff84895 100644 --- a/app/assets/javascripts/app/controllers/_ui_element/ticket_perform_action.coffee +++ b/app/assets/javascripts/app/controllers/_ui_element/ticket_perform_action.coffee @@ -18,6 +18,7 @@ class App.UiElement.ticket_perform_action for groupKey, groupMeta of groups if !groupMeta.model || !App[groupMeta.model] elements["#{groupKey}.email"] = { name: 'email', display: 'Email' } + elements["#{groupKey}.sms"] = { name: 'sms', display: 'SMS' } else for row in App[groupMeta.model].configure_attributes @@ -161,9 +162,11 @@ class App.UiElement.ticket_perform_action if groupAndAttribute elementRow.find('.js-attributeSelector select').val(groupAndAttribute) - if groupAndAttribute is 'notification.email' + notificationTypeMatch = groupAndAttribute.match(/^notification.([\w]+)$/) + + if _.isArray(notificationTypeMatch) && notificationType = notificationTypeMatch[1] elementRow.find('.js-setAttribute').html('') - @buildRecipientList(elementFull, elementRow, groupAndAttribute, elements, meta, attribute) + @buildRecipientList(notificationType, elementFull, elementRow, groupAndAttribute, elements, meta, attribute) else elementRow.find('.js-setNotification').html('') if !elementRow.find('.js-setAttribute div').get(0) @@ -304,9 +307,11 @@ class App.UiElement.ticket_perform_action elementRow.find('.js-value').removeClass('hide').html(item) - @buildRecipientList: (elementFull, elementRow, groupAndAttribute, elements, meta, attribute) -> + @buildRecipientList: (notificationType, elementFull, elementRow, groupAndAttribute, elements, meta, attribute) -> - return if elementRow.find('.js-setNotification .js-body').get(0) + return if elementRow.find(".js-setNotification .js-body-#{notificationType}").get(0) + + elementRow.find('.js-setNotification').empty() options = 'article_last_sender': 'Article Last Sender' @@ -314,7 +319,11 @@ class App.UiElement.ticket_perform_action 'ticket_customer': 'Customer' 'ticket_agents': 'All Agents' - name = "#{attribute.name}::notification.email" + name = "#{attribute.name}::notification.#{notificationType}" + + messageLength = switch notificationType + when 'sms' then 160 + else 200000 # meta.recipient was a string in the past (single-select) so we convert it to array if needed if !_.isArray(meta.recipient) @@ -338,13 +347,14 @@ class App.UiElement.ticket_perform_action notificationElement = $( App.view('generic/ticket_perform_action/notification_email')( attribute: attribute name: name + notificationType: notificationType meta: meta || {} )) notificationElement.find('.js-recipient select').replaceWith(selection) notificationElement.find('.js-body div[contenteditable="true"]').ce( mode: 'richtext' placeholder: 'message' - maxlength: 200000 + maxlength: messageLength ) new App.WidgetPlaceholder( el: notificationElement.find('.js-body div[contenteditable="true"]').parent() diff --git a/app/assets/javascripts/app/controllers/agent_ticket_create.coffee b/app/assets/javascripts/app/controllers/agent_ticket_create.coffee index d16d113d1..f6257e467 100644 --- a/app/assets/javascripts/app/controllers/agent_ticket_create.coffee +++ b/app/assets/javascripts/app/controllers/agent_ticket_create.coffee @@ -380,7 +380,7 @@ class App.TicketCreate extends App.Controller @tokanice() tokanice: -> - App.Utils.tokaniceEmails('.content.active input[name=cc]') + App.Utils.tokanice('.content.active input[name=cc]', 'email') localUserInfo: (e) => return if !@sidebarWidget diff --git a/app/assets/javascripts/app/controllers/ticket_zoom/article_action/sms_reply.coffee b/app/assets/javascripts/app/controllers/ticket_zoom/article_action/sms_reply.coffee new file mode 100644 index 000000000..016bc8af5 --- /dev/null +++ b/app/assets/javascripts/app/controllers/ticket_zoom/article_action/sms_reply.coffee @@ -0,0 +1,79 @@ +class SmsReply + @action: (actions, ticket, article, ui) -> + return actions if ui.permissionCheck('ticket.customer') + + if article.sender.name is 'Customer' && article.type.name is 'sms' + actions.push { + name: 'reply' + type: 'smsMessageReply' + icon: 'reply' + href: '#' + } + + actions + + @perform: (articleContainer, type, ticket, article, ui) -> + return true if type isnt 'smsMessageReply' + + ui.scrollToCompose() + + # get reference article + type = App.TicketArticleType.find(article.type_id) + + articleNew = { + to: article.from + cc: '' + body: '' + in_reply_to: '' + } + + if article.message_id + articleNew.in_reply_to = article.message_id + + # get current body + articleNew.body = ui.el.closest('.ticketZoom').find('.article-add [data-name="body"]').html().trim() || '' + + App.Event.trigger('ui::ticket::setArticleType', { + ticket: ticket + type: type + article: articleNew + position: 'end' + }) + + true + + @articleTypes: (articleTypes, ticket, ui) -> + return articleTypes if !ui.permissionCheck('ticket.agent') + + return articleTypes if !ticket || !ticket.create_article_type_id + + articleTypeCreate = App.TicketArticleType.find(ticket.create_article_type_id).name + + return articleTypes if articleTypeCreate isnt 'sms' + articleTypes.push { + name: 'sms' + icon: 'sms' + attributes: ['to'] + internal: false, + features: ['body:limit'] + maxTextLength: 160 + warningTextLength: 30 + } + articleTypes + + @setArticleTypePost: (type, ticket, ui) -> + return if type isnt 'telegram personal-message' + rawHTML = ui.$('[data-name=body]').html() + cleanHTML = App.Utils.htmlRemoveRichtext(rawHTML) + if cleanHTML && cleanHTML.html() != rawHTML + ui.$('[data-name=body]').html(cleanHTML) + + @params: (type, params, ui) -> + if type is 'sms' + App.Utils.htmlRemoveRichtext(ui.$('[data-name=body]'), false) + params.content_type = 'text/plain' + params.body = App.Utils.html2text(params.body, true) + + params + +App.Config.set('300-SmsReply', SmsReply, 'TicketZoomArticleAction') diff --git a/app/assets/javascripts/app/controllers/ticket_zoom/article_new.coffee b/app/assets/javascripts/app/controllers/ticket_zoom/article_new.coffee index d24dc366d..50805f372 100644 --- a/app/assets/javascripts/app/controllers/ticket_zoom/article_new.coffee +++ b/app/assets/javascripts/app/controllers/ticket_zoom/article_new.coffee @@ -98,7 +98,7 @@ class App.TicketZoomArticleNew extends App.Controller # set expand of text area only once @bind('ui::ticket::shown', (data) => return if data.ticket_id.toString() isnt @ticket.id.toString() - @tokanice() + @tokanice(@type) ) # rerender, e. g. on language change @@ -106,8 +106,8 @@ class App.TicketZoomArticleNew extends App.Controller @render() ) - tokanice: -> - App.Utils.tokaniceEmails('.content.active .js-to, .js-cc, js-bcc') + tokanice: (type = 'email') -> + App.Utils.tokanice('.content.active .js-to, .js-cc, js-bcc', type) setPossibleArticleTypes: => @articleTypes = [] @@ -163,7 +163,7 @@ class App.TicketZoomArticleNew extends App.Controller position: 'right' ) - @tokanice() + @tokanice(@type) @$('[data-name="body"]').ce({ mode: 'richtext' @@ -346,7 +346,7 @@ class App.TicketZoomArticleNew extends App.Controller @setArticleTypePost(articleTypeToSet) $(window).off('click.ticket-zoom-select-type') - @tokanice() + @tokanice(articleTypeToSet) hideSelectableArticleType: => @el.find('.js-articleTypes').addClass('is-hidden') diff --git a/app/assets/javascripts/app/index.coffee b/app/assets/javascripts/app/index.coffee index 64e60859c..5395640dd 100644 --- a/app/assets/javascripts/app/index.coffee +++ b/app/assets/javascripts/app/index.coffee @@ -44,6 +44,7 @@ class App extends Spine.Controller App.Utils.decimal(data, positions) # define mask helper + # mask an value like 'a***********yz' M: (item, start = 1, end = 2) -> return '' if !item string = '' diff --git a/app/assets/javascripts/app/lib/app_post/utils.coffee b/app/assets/javascripts/app/lib/app_post/utils.coffee index 62353dd1c..e7392119b 100644 --- a/app/assets/javascripts/app/lib/app_post/utils.coffee +++ b/app/assets/javascripts/app/lib/app_post/utils.coffee @@ -1121,7 +1121,7 @@ class App.Utils articleNew # apply email token field with autocompletion - @tokaniceEmails: (selector) -> + @tokanice: (selector, type) -> source = "#{App.Config.get('api_path')}/users/search" a = -> $(selector).tokenfield( @@ -1131,7 +1131,7 @@ class App.Utils minLength: 2 }, ).on('tokenfield:createtoken', (e) -> - if !e.attrs.value.match(/@/) || e.attrs.value.match(/\s/) + if type is 'email' && !e.attrs.value.match(/@/) || e.attrs.value.match(/\s/) e.preventDefault() return false e.attrs.label = e.attrs.value diff --git a/app/assets/javascripts/app/models/channel.coffee b/app/assets/javascripts/app/models/channel.coffee index 301f00451..3a53e5118 100644 --- a/app/assets/javascripts/app/models/channel.coffee +++ b/app/assets/javascripts/app/models/channel.coffee @@ -1,5 +1,5 @@ class App.Channel extends App.Model - @configure 'Channel', 'adapter', 'area', 'options', 'group_id', 'active', 'updated_at' + @configure 'Channel', 'adapter', 'area', 'options', 'group_id', 'active' @extend Spine.Model.Ajax @url: @apiPath + '/channels' diff --git a/app/assets/javascripts/app/views/channel/_header.jst.eco b/app/assets/javascripts/app/views/channel/_header.jst.eco new file mode 100644 index 000000000..64cb11e75 --- /dev/null +++ b/app/assets/javascripts/app/views/channel/_header.jst.eco @@ -0,0 +1,11 @@ + diff --git a/app/assets/javascripts/app/views/channel/sms_account_overview.jst.eco b/app/assets/javascripts/app/views/channel/sms_account_overview.jst.eco new file mode 100644 index 000000000..b0b4630a1 --- /dev/null +++ b/app/assets/javascripts/app/views/channel/sms_account_overview.jst.eco @@ -0,0 +1,130 @@ +

<%- @T('SMS Accounts') %>

+ +<% if _.isEmpty(@account_channels): %> +

<%- @T('You have no configured account right now.') %>

+<% else: %> + <% for channel in @account_channels: %> +
+
+
+
+

<%- @Icon('status', channel.status_in + " inline") %> <%- @T('Inbound') %>

+
+ <% if !_.isEmpty(channel.last_log_in): %> +
+ <%= channel.last_log_in %> +
+ <% end %> +
+ +
+
+

<%- @Icon('status', channel.status_out + " inline") %> <%- @T('Outbound') %>

+
+ <% if !_.isEmpty(channel.last_log_out): %> +
+ <%= channel.last_log_out %> +
+ <% end %> + +
+
+ +
+
+ + + + + + + +
<%- @T('Adapter') %> + <%= channel.options.adapter %> +
<%- @T('Webhook') %> + <%= @C('http_type') %>://<%= @C('fqdn') %>/api/v1/sms_webhook/<%= channel.options?.webhook_token || '?' %> +
<%- @T('Account') %> + <%= channel.options.account_id %> +
<%- @T('Token') %> + <%= @M(channel.options.token, 1, 2) %> +
<%- @T('Sender') %> + <%= channel.options.sender %> +
<%- @T('Group') %> + +
+ <% groupName = '' %> + <% if channel.group.displayName: %> + <% groupName = channel.group.displayName() %> + <% else: %> + <% groupName = channel.group %> + <% end %> + <% if channel.group.active is false: %> + <%- @T('%s is inactive, please select a active one.', groupName) %> + <% else: %> + <%= groupName %> + <% end %> +
+
+
+
+ +
+
<%- @T('Edit') %>
+ <% if channel.active is true: %> +
<%- @T('Disable') %>
+ <% else: %> +
<%- @T('Enable') %>
+ <% end %> +
<%- @T('Delete') %>
+
+
+ <% end %> +<% end %> + +<%- @T('New') %> + +

<%- @T('SMS Notification') %>

+<% if _.isEmpty(@notification_channels): %> +

<%- @T('You have no configured account right now.') %>

+ <%- @T('New') %> +<% else: %> + <% for channel in @notification_channels: %> +
+
+
+
+

<%- @Icon('status', channel.status_out + " inline") %> <%- @T('Outbound') %>

+
+ <% if channel.status_in is 'error': %> +
<%= channel.last_log_in %>
+ <% end %> + <% if channel.status_out is 'error': %> +
<%= channel.last_log_out %>
+ <% end %> + + <% if channel.options: %> + + + +
<%- @T('Adapter') %> + <%= channel.options.adapter %> +
<%- @T('Token') %> + <%= @M(channel.options.token, 1, 2) %> + <% end %> +
<%- @T('Sender') %> + <%= channel.options.sender %> +
+
+
+
+
<%- @T('Edit') %>
+ <% if channel.active is true: %> +
<%- @T('Disable') %>
+ <% else: %> +
<%- @T('Enable') %>
+ <% end %> +
<%- @T('Delete') %>
+
+
+ <% end %> +<% end %> diff --git a/app/assets/javascripts/app/views/generic/ticket_perform_action/notification_email.jst.eco b/app/assets/javascripts/app/views/generic/ticket_perform_action/notification_email.jst.eco index 72ad0c5c7..d81224181 100644 --- a/app/assets/javascripts/app/views/generic/ticket_perform_action/notification_email.jst.eco +++ b/app/assets/javascripts/app/views/generic/ticket_perform_action/notification_email.jst.eco @@ -3,6 +3,8 @@ <%- @Icon('arrow-down', 'dropdown-arrow') %> -
-
<%- @meta.body %>
+ <% if @notificationType is 'email': %> +
+ <% end %> +
<%- @meta.body %>
diff --git a/app/assets/stylesheets/svg-dimensions.css b/app/assets/stylesheets/svg-dimensions.css index 3e9c6bfd8..0273b7a2d 100644 --- a/app/assets/stylesheets/svg-dimensions.css +++ b/app/assets/stylesheets/svg-dimensions.css @@ -55,7 +55,9 @@ .icon-lock { width: 16px; height: 17px; } .icon-logo { width: 42px; height: 36px; } .icon-logotype { width: 91px; height: 15px; } +.icon-long-arrow-down { width: 11px; height: 11px; } .icon-long-arrow-right { width: 11px; height: 11px; } +.icon-low-priority { width: 16px; height: 16px; } .icon-magnifier { width: 15px; height: 15px; } .icon-marker { width: 17px; height: 19px; } .icon-message { width: 24px; height: 24px; } @@ -94,6 +96,7 @@ .icon-searchdetail { width: 18px; height: 14px; } .icon-signout { width: 15px; height: 19px; } .icon-small-dot { width: 16px; height: 16px; } +.icon-sms { width: 17px; height: 17px; } .icon-split { width: 16px; height: 17px; } .icon-status-modified-outer-circle { width: 16px; height: 16px; } .icon-status { width: 16px; height: 16px; } diff --git a/app/assets/stylesheets/zammad.scss b/app/assets/stylesheets/zammad.scss index 2bb00cbe2..8972b4666 100644 --- a/app/assets/stylesheets/zammad.scss +++ b/app/assets/stylesheets/zammad.scss @@ -2240,6 +2240,10 @@ kbd { .help-block { color: hsl(198,19%,72%); } + .content-controls-align-right { + display: flex; + justify-content: flex-end; + } } .page-description p { @@ -7790,6 +7794,10 @@ output { border-color: hsl(210,10%,85%); } + &[disabled] + label:after { + background: hsl(210,17%,97%); + } + &:focus + label { transition: none; background: hsl(200,71%,59%); diff --git a/app/controllers/application_channel_controller.rb b/app/controllers/application_channel_controller.rb new file mode 100644 index 000000000..927528f9b --- /dev/null +++ b/app/controllers/application_channel_controller.rb @@ -0,0 +1,47 @@ +class ApplicationChannelController < ApplicationController + # Extending controllers has to define following constants: + # PERMISSION = "admin.channel_xyz" + # AREA = "XYZ::Account" + + def index + render json: channels_data + end + + def show + model_show_render(Channel, params) + end + + def create + model_create_render(Channel, channel_params) + end + + def update + model_update_render(Channel, channel_params) + end + + def enable + channel.update!(active: true) + render json: channel + end + + def disable + channel.update!(active: false) + render json: channel + end + + def destroy + channel.destroy! + render json: {} + end + + private + + def channel + @channel ||= Channel.lookup(id: params[:id]) + end + + def channel_params + params = params.permit!.to_s + end + +end diff --git a/app/controllers/channels_sms_controller.rb b/app/controllers/channels_sms_controller.rb new file mode 100644 index 000000000..15fc3e747 --- /dev/null +++ b/app/controllers/channels_sms_controller.rb @@ -0,0 +1,86 @@ +class ChannelsSmsController < ApplicationChannelController + PERMISSION = 'admin.channel_sms'.freeze + AREA = ['Sms::Notification'.freeze, 'Sms::Account'.freeze].freeze + + prepend_before_action -> { authentication_check(permission: self.class::PERMISSION) }, except: [:webhook] + skip_before_action :verify_csrf_token, only: [:webhook] + + def index + assets = {} + render json: { + account_channel_ids: channels_data('Sms::Account', assets), + notification_channel_ids: channels_data('Sms::Notification', assets), + config: channels_config, + assets: assets + } + end + + def test + raise 'Missing parameter options.adapter' if params[:options][:adapter].blank? + + driver = Channel.driver_class(params[:options][:adapter]) + resp = driver.new.send(params[:options], test_options) + + render json: { success: resp } + rescue => e + render json: { error: e.inspect, error_human: e.message } + end + + def webhook + raise Exceptions::UnprocessableEntity, 'token param missing' if params['token'].blank? + + channel = nil + Channel.where(active: true, area: 'Sms::Account').each do |local_channel| + next if local_channel.options[:webhook_token] != params['token'] + + channel = local_channel + end + if !channel + render( + json: { message: 'channel not found' }, + status: :not_found + ) + return + end + + conten_type, content = channel.process(params.permit!.to_h) + send_data content, type: conten_type + end + + private + + def test_options + params.permit(:recipient, :message) + end + + def channel_params + raise 'Missing area params' if params[:area].blank? + if !self.class::AREA.include?(params[:area]) + raise "Invalid area '#{params[:area]}'!" + end + raise 'Missing options params' if params[:options].blank? + raise 'Missing options.adapter params' if params[:options][:adapter].blank? + + params + end + + def channels_config + list = [] + Dir.glob(Rails.root.join('app', 'models', 'channel', 'driver', 'sms', '*.rb')).each do |path| + filename = File.basename(path) + require_dependency "channel/driver/sms/#{filename.sub('.rb', '')}" + list.push Channel.driver_class("sms/#{filename}").definition + end + list + end + + def channels_data(area, assets) + channel_ids = [] + Channel.where(area: area).each do |channel| + assets = channel.assets(assets) + channel_ids.push(channel.id) + end + channel_ids + end + +end diff --git a/app/controllers/monitoring_controller.rb b/app/controllers/monitoring_controller.rb index ac7787a7e..55aa22b0f 100644 --- a/app/controllers/monitoring_controller.rb +++ b/app/controllers/monitoring_controller.rb @@ -216,6 +216,7 @@ curl http://localhost/api/v1/monitoring/status?token=XXX overviews: Overview, tickets: Ticket, ticket_articles: Ticket::Article, + text_modules: TextModule, } map.each do |key, class_name| status[:counts][key] = class_name.count diff --git a/app/models/channel.rb b/app/models/channel.rb index 401e61502..ef0c43e9a 100644 --- a/app/models/channel.rb +++ b/app/models/channel.rb @@ -49,13 +49,7 @@ fetch one account end begin - # we need to require each channel backend individually otherwise we get a - # 'warning: toplevel constant Twitter referenced by Channel::Driver::Twitter' error e.g. - # so we have to convert the channel name to the filename via Rails String.underscore - # http://stem.ps/rails/2015/01/25/ruby-gotcha-toplevel-constant-referenced-by.html - require "channel/driver/#{adapter.to_filename}" - - driver_class = Object.const_get("Channel::Driver::#{adapter.to_classname}") + driver_class = self.class.driver_class(adapter) driver_instance = driver_class.new return if !force && !driver_instance.fetchable?(self) @@ -93,13 +87,7 @@ stream instance of account adapter = options[:adapter] begin - # we need to require each channel backend individually otherwise we get a - # 'warning: toplevel constant Twitter referenced by Channel::Driver::Twitter' error e.g. - # so we have to convert the channel name to the filename via Rails String.underscore - # http://stem.ps/rails/2015/01/25/ruby-gotcha-toplevel-constant-referenced-by.html - require "channel/driver/#{adapter.to_filename}" - - driver_class = Object.const_get("Channel::Driver::#{adapter.to_classname}") + driver_class = self.class.driver_class(adapter) driver_instance = driver_class.new # check is stream exists @@ -145,7 +133,7 @@ stream all accounts adapter = channel.options[:adapter] next if adapter.blank? - driver_class = Object.const_get("Channel::Driver::#{adapter.to_classname}") + driver_class = self.driver_class(adapter) next if !driver_class.respond_to?(:streamable?) next if !driver_class.streamable? @@ -250,31 +238,22 @@ stream all accounts send via account channel = Channel.where(area: 'Email::Account').first - channel.deliver(mail_params, notification) + channel.deliver(params, notification) =end - def deliver(mail_params, notification = false) - + def deliver(params, notification = false) adapter = options[:adapter] adapter_options = options if options[:outbound] && options[:outbound][:adapter] adapter = options[:outbound][:adapter] adapter_options = options[:outbound][:options] end - result = nil - begin - # we need to require each channel backend individually otherwise we get a - # 'warning: toplevel constant Twitter referenced by Channel::Driver::Twitter' error e.g. - # so we have to convert the channel name to the filename via Rails String.underscore - # http://stem.ps/rails/2015/01/25/ruby-gotcha-toplevel-constant-referenced-by.html - require "channel/driver/#{adapter.to_filename}" - - driver_class = Object.const_get("Channel::Driver::#{adapter.to_classname}") + driver_class = self.class.driver_class(adapter) driver_instance = driver_class.new - result = driver_instance.send(adapter_options, mail_params, notification) + result = driver_instance.send(adapter_options, params, notification) self.status_out = 'ok' self.last_log_out = '' save! @@ -290,6 +269,72 @@ send via account result end +=begin + +process via account + + channel = Channel.where(area: 'Email::Account').first + channel.process(params) + +=end + + def process(params) + adapter = options[:adapter] + adapter_options = options + if options[:inbound] && options[:inbound][:adapter] + adapter = options[:inbound][:adapter] + adapter_options = options[:inbound][:options] + end + result = nil + begin + driver_class = self.class.driver_class(adapter) + driver_instance = driver_class.new + result = driver_instance.process(adapter_options, params, self) + self.status_in = 'ok' + self.last_log_in = '' + save! + rescue => e + error = "Can't use Channel::Driver::#{adapter.to_classname}: #{e.inspect}" + logger.error error + logger.error e.backtrace + self.status_in = 'error' + self.last_log_in = error + save! + raise e, error + end + result + end + +=begin + +load channel driver and return class + + klass = Channel.driver_class('Imap') + +=end + + def self.driver_class(adapter) + # we need to require each channel backend individually otherwise we get a + # 'warning: toplevel constant Twitter referenced by Channel::Driver::Twitter' error e.g. + # so we have to convert the channel name to the filename via Rails String.underscore + # http://stem.ps/rails/2015/01/25/ruby-gotcha-toplevel-constant-referenced-by.html + require "channel/driver/#{adapter.to_filename}" + + Object.const_get("::Channel::Driver::#{adapter.to_classname}") + end + +=begin + +get instance of channel driver + + channel.driver_instance + +=end + + def driver_instance + self.class.driver_class(options[:adapter]) + end + private def email_address_check diff --git a/app/models/channel/driver/sms/massenversand.rb b/app/models/channel/driver/sms/massenversand.rb new file mode 100644 index 000000000..ae954bcb1 --- /dev/null +++ b/app/models/channel/driver/sms/massenversand.rb @@ -0,0 +1,51 @@ +class Channel::Driver::Sms::Massenversand + NAME = 'sms/massenversand'.freeze + + def send(options, attr, _notification = false) + Rails.logger.info "Sending SMS to recipient #{attr[:recipient]}" + + return true if Setting.get('import_mode') + + Rails.logger.info "Backend sending Massenversand SMS to #{attr[:recipient]}" + begin + url = build_url(options, attr) + + if Setting.get('developer_mode') != true + response = Faraday.get(url).body + raise response if !response.match?('OK') + end + + true + rescue => e + Rails.logger.debug "Massenversand error: #{e.inspect}" + raise e + end + end + + def self.definition + { + name: 'Massenversand', + adapter: 'sms/massenversand', + notification: [ + { name: 'options::gateway', display: 'Gateway', tag: 'input', type: 'text', limit: 200, null: false, placeholder: 'https://gate1.goyyamobile.com/sms/sendsms.asp', default: 'https://gate1.goyyamobile.com/sms/sendsms.asp' }, + { name: 'options::token', display: 'Token', tag: 'input', type: 'text', limit: 200, null: false, placeholder: 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' }, + { name: 'options::sender', display: 'Sender', tag: 'input', type: 'text', limit: 200, null: false, placeholder: '00491710000000' }, + ] + } + end + + private + + def build_url(options, attr) + params = { + authToken: options[:token], + getID: 1, + msg: attr[:message], + msgtype: 'c', + receiver: attr[:recipient], + sender: options[:sender] + } + + options[:gateway] + '?' + URI.encode_www_form(params) + end +end diff --git a/app/models/channel/driver/sms/twilio.rb b/app/models/channel/driver/sms/twilio.rb new file mode 100644 index 000000000..b302d8875 --- /dev/null +++ b/app/models/channel/driver/sms/twilio.rb @@ -0,0 +1,147 @@ +class Channel::Driver::Sms::Twilio + NAME = 'sms/twilio'.freeze + + def fetchable?(_channel) + false + end + + def send(options, attr, _notification = false) + Rails.logger.info "Sending SMS to recipient #{attr[:recipient]}" + + return true if Setting.get('import_mode') + + Rails.logger.info "Backend sending Twilio SMS to #{attr[:recipient]}" + begin + if Setting.get('developer_mode') != true + result = api(options).messages.create( + from: options[:sender], + to: attr[:recipient], + body: attr[:message], + ) + + raise result.error_message if result.error_code.positive? + end + + true + rescue => e + Rails.logger.debug "Twilio error: #{e.inspect}" + raise e + end + end + + def process(_options, attr, channel) + Rails.logger.info "Receiving SMS frim recipient #{attr[:From]}" + + # prevent already created articles + if Ticket::Article.find_by(message_id: attr[:SmsMessageSid]) + return ['application/xml; charset=UTF-8;', Twilio::TwiML::MessagingResponse.new.to_s] + end + + # find sender + user = User.where(mobile: attr[:From]).order(:updated_at).first + if !user + from_comment, preferences = Cti::CallerId.get_comment_preferences(attr[:From], 'from') + if preferences && preferences['from'] && preferences['from'][0] + if preferences['from'][0]['level'] == 'known' && preferences['from'][0]['object'] == 'User' + user = User.find_by(id: preferences['from'][0]['o_id']) + end + end + end + if !user + user = User.create!( + firstname: attr[:From], + mobile: attr[:From], + ) + end + + UserInfo.current_user_id = user.id + + # find ticket + article_type_sms = Ticket::Article::Type.find_by(name: 'sms') + state_ids = Ticket::State.where(name: %w[closed merged removed]).pluck(:id) + ticket = Ticket.where(customer_id: user.id, create_article_type_id: article_type_sms.id).where.not(state_id: state_ids).order(:updated_at).first + if ticket + new_state = Ticket::State.find_by(default_create: true) + if ticket.state_id != new_state.id + ticket.state = Ticket::State.find_by(default_follow_up: true) + ticket.save! + end + else + if channel.group_id.blank? + raise Exceptions::UnprocessableEntity, 'Group needed in channel definition!' + end + + group = Group.find_by(id: channel.group_id) + if !group + raise Exceptions::UnprocessableEntity, 'Group is invalid!' + end + + title = attr[:Body] + if title.length > 40 + title = "#{title[0, 40]}..." + end + ticket = Ticket.new( + group_id: channel.group_id, + title: title, + state_id: Ticket::State.find_by(default_create: true).id, + priority_id: Ticket::Priority.find_by(default_create: true).id, + customer_id: user.id, + preferences: { + channel_id: channel.id, + sms: { + AccountSid: attr['AccountSid'], + From: attr['From'], + To: attr['To'], + } + } + ) + ticket.save! + end + + Ticket::Article.create!( + ticket_id: ticket.id, + type: article_type_sms, + sender: Ticket::Article::Sender.find_by(name: 'Customer'), + body: attr[:Body], + from: attr[:From], + to: attr[:To], + message_id: attr[:SmsMessageSid], + content_type: 'text/plain', + preferences: { + channel_id: channel.id, + sms: { + AccountSid: attr['AccountSid'], + From: attr['From'], + To: attr['To'], + } + } + ) + + ['application/xml; charset=UTF-8;', Twilio::TwiML::MessagingResponse.new.to_s] + end + + def self.definition + { + name: 'twilio', + adapter: 'sms/twilio', + account: [ + { name: 'options::webhook_token', display: 'Webhook Token', tag: 'input', type: 'text', limit: 200, null: false, default: Digest::MD5.hexdigest(rand(999_999_999_999).to_s), disabled: true, readonly: true }, + { name: 'options::account_id', display: 'Account SID', tag: 'input', type: 'text', limit: 200, null: false, placeholder: 'XXXXXX' }, + { name: 'options::token', display: 'Token', tag: 'input', type: 'text', limit: 200, null: false }, + { name: 'options::sender', display: 'Sender', tag: 'input', type: 'text', limit: 200, null: false, placeholder: '+491710000000' }, + { name: 'group_id', display: 'Destination Group', tag: 'select', null: false, relation: 'Group', nulloption: true, filter: { active: true } }, + ], + notification: [ + { name: 'options::account_id', display: 'Account SID', tag: 'input', type: 'text', limit: 200, null: false, placeholder: 'XXXXXX' }, + { name: 'options::token', display: 'Token', tag: 'input', type: 'text', limit: 200, null: false }, + { name: 'options::sender', display: 'Sender', tag: 'input', type: 'text', limit: 200, null: false, placeholder: '+491710000000' }, + ], + } + end + + private + + def api(options) + @api ||= ::Twilio::REST::Client.new options[:account_id], options[:token] + end +end diff --git a/app/models/cti/caller_id.rb b/app/models/cti/caller_id.rb index c9dd3e353..1f429f133 100644 --- a/app/models/cti/caller_id.rb +++ b/app/models/cti/caller_id.rb @@ -243,6 +243,34 @@ returns end end +=begin + + from_comment, preferences = Cti::CallerId.get_comment_preferences('00491710000000', 'from') + + returns + + [ + "Bob Smith", + { + "from"=>[ + { + "id"=>1961634, + "caller_id"=>"491710000000", + "comment"=>nil, + "level"=>"known", + "object"=>"User", + "o_id"=>3, + "user_id"=>3, + "preferences"=>nil, + "created_at"=>Mon, 24 Sep 2018 15:19:48 UTC +00:00, + "updated_at"=>Mon, 24 Sep 2018 15:19:48 UTC +00:00, + } + ] + } + ] + +=end + def self.get_comment_preferences(caller_id, direction) from_comment_known = '' from_comment_maybe = '' diff --git a/app/models/observer/ticket/article/communicate_email.rb b/app/models/observer/ticket/article/communicate_email.rb index 7c5247c21..4f75e3ac5 100644 --- a/app/models/observer/ticket/article/communicate_email.rb +++ b/app/models/observer/ticket/article/communicate_email.rb @@ -6,24 +6,25 @@ class Observer::Ticket::Article::CommunicateEmail < ActiveRecord::Observer def after_create(record) # return if we run import mode - return if Setting.get('import_mode') + return true if Setting.get('import_mode') # only do send email if article got created via application_server (e. g. not # if article and sender type is set via *.postmaster) - return if ApplicationHandleInfo.postmaster? + return true if ApplicationHandleInfo.postmaster? # if sender is customer, do not communicate - return if !record.sender_id + return true if !record.sender_id sender = Ticket::Article::Sender.lookup(id: record.sender_id) - return 1 if sender.nil? - return 1 if sender['name'] == 'Customer' + return true if sender.nil? + return true if sender.name == 'Customer' # only apply on emails - return if !record.type_id + return true if !record.type_id type = Ticket::Article::Type.lookup(id: record.type_id) - return if type['name'] != 'email' + return true if type.nil? + return true if type.name != 'email' # send background job Delayed::Job.enqueue(Observer::Ticket::Article::CommunicateEmail::BackgroundJob.new(record.id)) diff --git a/app/models/observer/ticket/article/communicate_email/background_job.rb b/app/models/observer/ticket/article/communicate_email/background_job.rb index 1bd150eb4..5835838cb 100644 --- a/app/models/observer/ticket/article/communicate_email/background_job.rb +++ b/app/models/observer/ticket/article/communicate_email/background_job.rb @@ -15,9 +15,7 @@ class Observer::Ticket::Article::CommunicateEmail::BackgroundJob subject = ticket.subject_build(record.subject, subject_prefix_mode) # set retry count - if !record.preferences['delivery_retry'] - record.preferences['delivery_retry'] = 0 - end + record.preferences['delivery_retry'] ||= 0 record.preferences['delivery_retry'] += 1 # send email diff --git a/app/models/observer/ticket/article/communicate_facebook.rb b/app/models/observer/ticket/article/communicate_facebook.rb index 6b1148c62..bbd3bc6cf 100644 --- a/app/models/observer/ticket/article/communicate_facebook.rb +++ b/app/models/observer/ticket/article/communicate_facebook.rb @@ -5,24 +5,25 @@ class Observer::Ticket::Article::CommunicateFacebook < ActiveRecord::Observer def after_create(record) # return if we run import mode - return if Setting.get('import_mode') + return true if Setting.get('import_mode') # only do send email if article got created via application_server (e. g. not # if article and sender type is set via *.postmaster) - return if ApplicationHandleInfo.postmaster? + return true if ApplicationHandleInfo.postmaster? # if sender is customer, do not communicate - return if !record.sender_id + return true if !record.sender_id sender = Ticket::Article::Sender.lookup(id: record.sender_id) - return 1 if sender.nil? - return 1 if sender['name'] == 'Customer' + return true if sender.nil? + return true if sender.name == 'Customer' # only apply for facebook - return if !record.type_id + return true if !record.type_id type = Ticket::Article::Type.lookup(id: record.type_id) - return if type['name'] !~ /\Afacebook/ + return true if type.nil? + return true if type.name !~ /\Afacebook/ Delayed::Job.enqueue(Observer::Ticket::Article::CommunicateFacebook::BackgroundJob.new(record.id)) end diff --git a/app/models/observer/ticket/article/communicate_sms.rb b/app/models/observer/ticket/article/communicate_sms.rb new file mode 100644 index 000000000..10ddcc759 --- /dev/null +++ b/app/models/observer/ticket/article/communicate_sms.rb @@ -0,0 +1,25 @@ +class Observer::Ticket::Article::CommunicateSms < ActiveRecord::Observer + observe 'ticket::_article' + + def after_create(record) + + # return if we run import mode + return true if Setting.get('import_mode') + + # if sender is customer, do not communicate + return true if !record.sender_id + + sender = Ticket::Article::Sender.lookup(id: record.sender_id) + return true if sender.nil? + return true if sender.name == 'Customer' + + # only apply on sms + return true if !record.type_id + + type = Ticket::Article::Type.lookup(id: record.type_id) + return true if type.nil? + return true if type.name != 'sms' + + Delayed::Job.enqueue(Observer::Ticket::Article::CommunicateSms::BackgroundJob.new(record.id)) + end +end diff --git a/app/models/observer/ticket/article/communicate_sms/background_job.rb b/app/models/observer/ticket/article/communicate_sms/background_job.rb new file mode 100644 index 000000000..b5f62defc --- /dev/null +++ b/app/models/observer/ticket/article/communicate_sms/background_job.rb @@ -0,0 +1,121 @@ +class Observer::Ticket::Article::CommunicateSms::BackgroundJob + def initialize(id) + @article_id = id + end + + def perform + article = Ticket::Article.find(@article_id) + + article.preferences['delivery_retry'] ||= 0 + article.preferences['delivery_retry'] += 1 + + ticket = Ticket.lookup(id: article.ticket_id) + log_error(article, "Can't find article.preferences for Ticket::Article.find(#{article.id})") if !article.preferences + + # if sender is system, take artile channel + if article.sender.name == 'System' + log_error(article, "Can't find article.preferences['sms_recipients'] for Ticket::Article.find(#{article.id})") if !article.preferences['sms_recipients'] + log_error(article, "Can't find article.preferences['channel_id'] for Ticket::Article.find(#{article.id})") if !article.preferences['channel_id'] + channel = Channel.lookup(id: article.preferences['channel_id']) + log_error(article, "No such channel id #{article.preferences['channel_id']}") if !channel + + # if sender is agent, take create channel + else + log_error(article, "Can't find ticket.preferences['channel_id'] for Ticket.find(#{ticket.id})") if !ticket.preferences['channel_id'] + channel = Channel.lookup(id: ticket.preferences['channel_id']) + log_error(article, "No such channel id #{ticket.preferences['channel_id']}") if !channel + end + + begin + if article.sender.name == 'System' + article.preferences['sms_recipients'].each do |recipient| + channel.deliver( + recipient: recipient, + message: article.body.first(160), + ) + end + else + channel.deliver( + recipient: article.to, + message: article.body.first(160), + ) + end + rescue => e + log_error(article, e.message) + return + end + + log_success(article) + + return if article.sender.name == 'Agent' + + log_history(article, ticket, 'sms', article.to) + end + + # log successful delivery + def log_success(article) + article.preferences['delivery_status_message'] = nil + article.preferences['delivery_status'] = 'success' + article.preferences['delivery_status_date'] = Time.zone.now + article.save! + end + + def log_error(local_record, message) + local_record.preferences['delivery_status'] = 'fail' + local_record.preferences['delivery_status_message'] = message + local_record.preferences['delivery_status_date'] = Time.zone.now + local_record.save! + Rails.logger.error message + + if local_record.preferences['delivery_retry'] >= max_attempts + Ticket::Article.create( + ticket_id: local_record.ticket_id, + content_type: 'text/plain', + body: "#{log_error_prefix}: #{message}", + internal: true, + sender: Ticket::Article::Sender.find_by(name: 'System'), + type: Ticket::Article::Type.find_by(name: 'note'), + preferences: { + delivery_article_id_related: local_record.id, + delivery_message: true, + }, + updated_by_id: 1, + created_by_id: 1, + ) + end + + raise message + end + + def log_history(article, ticket, history_type, recipient_list) + return if recipient_list.blank? + + History.add( + o_id: article.id, + history_type: history_type, + history_object: 'Ticket::Article', + related_o_id: ticket.id, + related_history_object: 'Ticket', + value_from: article.subject, + value_to: recipient_list, + created_by_id: article.created_by_id, + ) + end + + def log_error_prefix + 'Unable to send sms message' + end + + def max_attempts + 4 + end + + def reschedule_at(current_time, attempts) + if Rails.env.production? + return current_time + attempts * 120.seconds + end + + current_time + 5.seconds + end + +end diff --git a/app/models/observer/ticket/article/communicate_telegram.rb b/app/models/observer/ticket/article/communicate_telegram.rb index 5e43ab0fe..a492d35f1 100644 --- a/app/models/observer/ticket/article/communicate_telegram.rb +++ b/app/models/observer/ticket/article/communicate_telegram.rb @@ -6,20 +6,20 @@ class Observer::Ticket::Article::CommunicateTelegram < ActiveRecord::Observer def after_create(record) # return if we run import mode - return if Setting.get('import_mode') + return true if Setting.get('import_mode') # if sender is customer, do not communicate - return if !record.sender_id + return true if !record.sender_id sender = Ticket::Article::Sender.lookup(id: record.sender_id) - return if sender.nil? - return if sender['name'] == 'Customer' + return true if sender.nil? + return true if sender.name == 'Customer' # only apply on telegram messages - return if !record.type_id + return true if !record.type_id type = Ticket::Article::Type.lookup(id: record.type_id) - return if type['name'] !~ /\Atelegram/i + return true if type.name !~ /\Atelegram/i Delayed::Job.enqueue(Observer::Ticket::Article::CommunicateTelegram::BackgroundJob.new(record.id)) end diff --git a/app/models/observer/ticket/article/communicate_telegram/background_job.rb b/app/models/observer/ticket/article/communicate_telegram/background_job.rb index 18e65bf06..edeb53e51 100644 --- a/app/models/observer/ticket/article/communicate_telegram/background_job.rb +++ b/app/models/observer/ticket/article/communicate_telegram/background_job.rb @@ -7,10 +7,8 @@ class Observer::Ticket::Article::CommunicateTelegram::BackgroundJob article = Ticket::Article.find(@article_id) # set retry count - if !article.preferences['delivery_retry'] - article.preferences['delivery_retry'] = 0 - end - article.preferences['delivery_retry'] += 1 + record.preferences['delivery_retry'] ||= 0 + record.preferences['delivery_retry'] += 1 ticket = Ticket.lookup(id: article.ticket_id) log_error(article, "Can't find ticket.preferences for Ticket.find(#{article.ticket_id})") if !ticket.preferences diff --git a/app/models/observer/ticket/article/communicate_twitter.rb b/app/models/observer/ticket/article/communicate_twitter.rb index d391993fd..b804607fc 100644 --- a/app/models/observer/ticket/article/communicate_twitter.rb +++ b/app/models/observer/ticket/article/communicate_twitter.rb @@ -6,24 +6,25 @@ class Observer::Ticket::Article::CommunicateTwitter < ActiveRecord::Observer def after_create(record) # return if we run import mode - return if Setting.get('import_mode') + return true if Setting.get('import_mode') # only do send email if article got created via application_server (e. g. not # if article and sender type is set via *.postmaster) - return if ApplicationHandleInfo.postmaster? + return true if ApplicationHandleInfo.postmaster? # if sender is customer, do not communicate - return if !record.sender_id + return true if !record.sender_id sender = Ticket::Article::Sender.lookup(id: record.sender_id) - return if sender.nil? - return if sender['name'] == 'Customer' + return true if sender.nil? + return true if sender.name == 'Customer' # only apply on tweets - return if !record.type_id + return true if !record.type_id type = Ticket::Article::Type.lookup(id: record.type_id) - return if type['name'] !~ /\Atwitter/i + return true if type.nil? + return true if type.name !~ /\Atwitter/i raise Exceptions::UnprocessableEntity, 'twitter to: parameter is missing' if record.to.blank? && type['name'] == 'twitter direct-message' diff --git a/app/models/observer/ticket/article/communicate_twitter/background_job.rb b/app/models/observer/ticket/article/communicate_twitter/background_job.rb index ee7b4b9d6..7161fd851 100644 --- a/app/models/observer/ticket/article/communicate_twitter/background_job.rb +++ b/app/models/observer/ticket/article/communicate_twitter/background_job.rb @@ -7,10 +7,8 @@ class Observer::Ticket::Article::CommunicateTwitter::BackgroundJob article = Ticket::Article.find(@article_id) # set retry count - if !article.preferences['delivery_retry'] - article.preferences['delivery_retry'] = 0 - end - article.preferences['delivery_retry'] += 1 + record.preferences['delivery_retry'] ||= 0 + record.preferences['delivery_retry'] += 1 ticket = Ticket.lookup(id: article.ticket_id) log_error(article, "Can't find ticket.preferences for Ticket.find(#{article.ticket_id})") if !ticket.preferences diff --git a/app/models/observer/ticket/article/fillup_from_email.rb b/app/models/observer/ticket/article/fillup_from_email.rb index 59d8095f0..735366556 100644 --- a/app/models/observer/ticket/article/fillup_from_email.rb +++ b/app/models/observer/ticket/article/fillup_from_email.rb @@ -17,13 +17,14 @@ class Observer::Ticket::Article::FillupFromEmail < ActiveRecord::Observer sender = Ticket::Article::Sender.lookup(id: record.sender_id) return true if sender.nil? - return true if sender['name'] == 'Customer' + return true if sender.name == 'Customer' # set email attributes return true if !record.type_id type = Ticket::Article::Type.lookup(id: record.type_id) - return true if type['name'] != 'email' + return true if type.nil? + return true if type.name != 'email' # set subject if empty ticket = record.ticket diff --git a/app/models/observer/ticket/article/fillup_from_general.rb b/app/models/observer/ticket/article/fillup_from_general.rb index fca6080ea..4b1a89315 100644 --- a/app/models/observer/ticket/article/fillup_from_general.rb +++ b/app/models/observer/ticket/article/fillup_from_general.rb @@ -10,19 +10,21 @@ class Observer::Ticket::Article::FillupFromGeneral < ActiveRecord::Observer # only do fill of from if article got created via application_server (e. g. not # if article and sender type is set via *.postmaster) - return if ApplicationHandleInfo.postmaster? + return true if ApplicationHandleInfo.postmaster? # set from on all article types excluding email|twitter status|twitter direct-message|facebook feed post|facebook feed comment return true if record.type_id.blank? type = Ticket::Article::Type.lookup(id: record.type_id) - return true if type['name'] == 'email' # from will be set by channel backend - return true if type['name'] == 'twitter status' - return true if type['name'] == 'twitter direct-message' - return true if type['name'] == 'facebook feed post' - return true if type['name'] == 'facebook feed comment' + return true if type.nil? + return true if type.name == 'email' + return true if type.name == 'twitter status' + return true if type.name == 'twitter direct-message' + return true if type.name == 'facebook feed post' + return true if type.name == 'facebook feed comment' + return true if type.name == 'sms' user_id = record.created_by_id diff --git a/app/models/observer/ticket/article/fillup_from_origin_by_id.rb b/app/models/observer/ticket/article/fillup_from_origin_by_id.rb index 07ebd3fdd..dd1e78b92 100644 --- a/app/models/observer/ticket/article/fillup_from_origin_by_id.rb +++ b/app/models/observer/ticket/article/fillup_from_origin_by_id.rb @@ -6,19 +6,21 @@ class Observer::Ticket::Article::FillupFromOriginById < ActiveRecord::Observer def before_create(record) # return if we run import mode - return if Setting.get('import_mode') + return true if Setting.get('import_mode') # only do fill origin_by_id if article got created via application_server (e. g. not # if article and sender type is set via *.postmaster) - return if ApplicationHandleInfo.postmaster? + return true if ApplicationHandleInfo.postmaster? # check if origin_by_id exists - return if record.origin_by_id.present? - return if record.ticket.customer_id.blank? - return if record.sender.name != 'Customer' + return true if record.origin_by_id.present? + return true if record.ticket.blank? + return true if record.ticket.customer_id.blank? + return true if record.sender_id.blank? + return true if record.sender.name != 'Customer' type_name = record.type.name - return if type_name != 'phone' && type_name != 'note' && type_name != 'web' + return true if type_name != 'phone' && type_name != 'note' && type_name != 'web' record.origin_by_id = record.ticket.customer_id end diff --git a/app/models/ticket.rb b/app/models/ticket.rb index b88198ddd..f27187ac7 100644 --- a/app/models/ticket.rb +++ b/app/models/ticket.rb @@ -918,229 +918,17 @@ perform changes on ticket end perform_notification.each do |key, value| - perform_changes_notification(key, value, perform_origin, article) - end - true - end - - def perform_changes_notification(_key, value, perform_origin, article) - - # value['recipient'] was a string in the past (single-select) so we convert it to array if needed - value_recipient = value['recipient'] - if !value_recipient.is_a?(Array) - value_recipient = [value_recipient] - end - - recipients_raw = [] - value_recipient.each do |recipient| - if recipient == 'article_last_sender' - if article.present? - if article.reply_to.present? - recipients_raw.push(article.reply_to) - elsif article.from.present? - recipients_raw.push(article.from) - elsif article.origin_by_id - email = User.find_by(id: article.origin_by_id).email - recipients_raw.push(email) - elsif article.created_by_id - email = User.find_by(id: article.created_by_id).email - recipients_raw.push(email) - end - end - elsif recipient == 'ticket_customer' - email = User.find_by(id: customer_id).email - recipients_raw.push(email) - elsif recipient == 'ticket_owner' - email = User.find_by(id: owner_id).email - recipients_raw.push(email) - elsif recipient == 'ticket_agents' - User.group_access(group_id, 'full').sort_by(&:login).each do |user| - recipients_raw.push(user.email) - end - else - logger.error "Unknown email notification recipient '#{recipient}'" + # send notification + case key + when 'notification.sms' + send_sms_notification(value, article, perform_origin) next + when 'notification.email' + send_email_notification(value, article, perform_origin) end end - recipients_checked = [] - recipients_raw.each do |recipient_email| - - skip_user = false - users = User.where(email: recipient_email) - users.each do |user| - next if user.preferences[:mail_delivery_failed] != true - next if !user.preferences[:mail_delivery_failed_data] - - till_blocked = ((user.preferences[:mail_delivery_failed_data] - Time.zone.now - 60.days) / 60 / 60 / 24).round - next if till_blocked.positive? - - logger.info "Send no trigger based notification to #{recipient_email} because email is marked as mail_delivery_failed for #{till_blocked} days" - skip_user = true - break - end - next if skip_user - - # send notifications only to email adresses - next if recipient_email.blank? - next if recipient_email !~ /@/ - - # check if address is valid - begin - Mail::AddressList.new(recipient_email).addresses.each do |address| - recipient_email = address.address - break if recipient_email.present? && recipient_email =~ /@/ && !recipient_email.match?(/\s/) - end - rescue - if recipient_email.present? - if recipient_email !~ /^(.+?)<(.+?)@(.+?)>$/ - next # no usable format found - end - - recipient_email = "#{$2}@#{$3}" - end - next if recipient_email.blank? - next if recipient_email !~ /@/ - next if recipient_email.match?(/\s/) - end - - # do not sent notifications to this recipients - send_no_auto_response_reg_exp = Setting.get('send_no_auto_response_reg_exp') - begin - next if recipient_email.match?(/#{send_no_auto_response_reg_exp}/i) - rescue => e - logger.error "ERROR: Invalid regex '#{send_no_auto_response_reg_exp}' in setting send_no_auto_response_reg_exp" - logger.error 'ERROR: ' + e.inspect - next if recipient_email.match?(/(mailer-daemon|postmaster|abuse|root|noreply|noreply.+?|no-reply|no-reply.+?)@.+?/i) - end - - # check if notification should be send because of customer emails - if article.present? && article.preferences.fetch('is-auto-response', false) == true && article.from && article.from =~ /#{Regexp.quote(recipient_email)}/i - logger.info "Send no trigger based notification to #{recipient_email} because of auto response tagged incoming email" - next - end - - # loop protection / check if maximal count of trigger mail has reached - map = { - 10 => 10, - 30 => 15, - 60 => 25, - 180 => 50, - 600 => 100, - } - skip = false - map.each do |minutes, count| - already_sent = Ticket::Article.where( - ticket_id: id, - sender: Ticket::Article::Sender.find_by(name: 'System'), - type: Ticket::Article::Type.find_by(name: 'email'), - ).where('ticket_articles.created_at > ? AND ticket_articles.to LIKE ?', Time.zone.now - minutes.minutes, "%#{recipient_email.strip}%").count - next if already_sent < count - - logger.info "Send no trigger based notification to #{recipient_email} because already sent #{count} for this ticket within last #{minutes} minutes (loop protection)" - skip = true - break - end - next if skip - - map = { - 10 => 30, - 30 => 60, - 60 => 120, - 180 => 240, - 600 => 360, - } - skip = false - map.each do |minutes, count| - already_sent = Ticket::Article.where( - sender: Ticket::Article::Sender.find_by(name: 'System'), - type: Ticket::Article::Type.find_by(name: 'email'), - ).where('ticket_articles.created_at > ? AND ticket_articles.to LIKE ?', Time.zone.now - minutes.minutes, "%#{recipient_email.strip}%").count - next if already_sent < count - - logger.info "Send no trigger based notification to #{recipient_email} because already sent #{count} in total within last #{minutes} minutes (loop protection)" - skip = true - break - end - next if skip - - email = recipient_email.downcase.strip - next if recipients_checked.include?(email) - - recipients_checked.push(email) - end - - return if recipients_checked.blank? - - recipient_string = recipients_checked.join(', ') - - group_id = self.group_id - return if !group_id - - email_address = Group.find(group_id).email_address - if !email_address - logger.info "Unable to send trigger based notification to #{recipient_string} because no email address is set for group '#{group.name}'" - return - end - - if !email_address.channel_id - logger.info "Unable to send trigger based notification to #{recipient_string} because no channel is set for email address '#{email_address.email}' (id: #{email_address.id})" - return - end - - # articles.last breaks (returns the wrong article) - # if another email notification trigger preceded this one - # (see https://github.com/zammad/zammad/issues/1543) - objects = { - ticket: self, - article: article || articles.last - } - - # get subject - subject = NotificationFactory::Mailer.template( - templateInline: value['subject'], - locale: 'en-en', - objects: objects, - quote: false, - ) - subject = subject_build(subject) - - body = NotificationFactory::Mailer.template( - templateInline: value['body'], - locale: 'en-en', - objects: objects, - quote: true, - ) - - (body, attachments_inline) = HtmlSanitizer.replace_inline_images(body, id) - - message = Ticket::Article.create( - ticket_id: id, - to: recipient_string, - subject: subject, - content_type: 'text/html', - body: body, - internal: false, - sender: Ticket::Article::Sender.find_by(name: 'System'), - type: Ticket::Article::Type.find_by(name: 'email'), - preferences: { - perform_origin: perform_origin, - }, - updated_by_id: 1, - created_by_id: 1, - ) - - attachments_inline.each do |attachment| - Store.add( - object: 'Ticket::Article', - o_id: message.id, - data: attachment[:data], - filename: attachment[:filename], - preferences: attachment[:preferences], - ) - end - true end @@ -1485,4 +1273,296 @@ result self.owner_id = 1 true end + + # articles.last breaks (returns the wrong article) + # if another email notification trigger preceded this one + # (see https://github.com/zammad/zammad/issues/1543) + def build_notification_template_objects(article) + { + ticket: self, + article: article || articles.last + } + end + + def send_email_notification(value, article, perform_origin) + # value['recipient'] was a string in the past (single-select) so we convert it to array if needed + value_recipient = Array(value['recipient']) + + recipients_raw = [] + value_recipient.each do |recipient| + if recipient == 'article_last_sender' + if article.present? + if article.reply_to.present? + recipients_raw.push(article.reply_to) + elsif article.from.present? + recipients_raw.push(article.from) + elsif article.origin_by_id + email = User.find_by(id: article.origin_by_id).email + recipients_raw.push(email) + elsif article.created_by_id + email = User.find_by(id: article.created_by_id).email + recipients_raw.push(email) + end + end + elsif recipient == 'ticket_customer' + email = User.find_by(id: customer_id).email + recipients_raw.push(email) + elsif recipient == 'ticket_owner' + email = User.find_by(id: owner_id).email + recipients_raw.push(email) + elsif recipient == 'ticket_agents' + User.group_access(group_id, 'full').sort_by(&:login).each do |user| + recipients_raw.push(user.email) + end + else + logger.error "Unknown email notification recipient '#{recipient}'" + next + end + end + + recipients_checked = [] + recipients_raw.each do |recipient_email| + + skip_user = false + users = User.where(email: recipient_email) + users.each do |user| + next if user.preferences[:mail_delivery_failed] != true + next if !user.preferences[:mail_delivery_failed_data] + + till_blocked = ((user.preferences[:mail_delivery_failed_data] - Time.zone.now - 60.days) / 60 / 60 / 24).round + next if till_blocked.positive? + + logger.info "Send no trigger based notification to #{recipient_email} because email is marked as mail_delivery_failed for #{till_blocked} days" + skip_user = true + break + end + next if skip_user + + # send notifications only to email adresses + next if recipient_email.blank? + next if recipient_email !~ /@/ + + # check if address is valid + begin + Mail::AddressList.new(recipient_email).addresses.each do |address| + recipient_email = address.address + break if recipient_email.present? && recipient_email =~ /@/ && !recipient_email.match?(/\s/) + end + rescue + if recipient_email.present? + if recipient_email !~ /^(.+?)<(.+?)@(.+?)>$/ + next # no usable format found + end + + recipient_email = "#{$2}@#{$3}" + end + next if recipient_email.blank? + next if recipient_email !~ /@/ + next if recipient_email.match?(/\s/) + end + + # do not sent notifications to this recipients + send_no_auto_response_reg_exp = Setting.get('send_no_auto_response_reg_exp') + begin + next if recipient_email.match?(/#{send_no_auto_response_reg_exp}/i) + rescue => e + logger.error "ERROR: Invalid regex '#{send_no_auto_response_reg_exp}' in setting send_no_auto_response_reg_exp" + logger.error 'ERROR: ' + e.inspect + next if recipient_email.match?(/(mailer-daemon|postmaster|abuse|root|noreply|noreply.+?|no-reply|no-reply.+?)@.+?/i) + end + + # check if notification should be send because of customer emails + if article.present? && article.preferences.fetch('is-auto-response', false) == true && article.from && article.from =~ /#{Regexp.quote(recipient_email)}/i + logger.info "Send no trigger based notification to #{recipient_email} because of auto response tagged incoming email" + next + end + + # loop protection / check if maximal count of trigger mail has reached + map = { + 10 => 10, + 30 => 15, + 60 => 25, + 180 => 50, + 600 => 100, + } + skip = false + map.each do |minutes, count| + already_sent = Ticket::Article.where( + ticket_id: id, + sender: Ticket::Article::Sender.find_by(name: 'System'), + type: Ticket::Article::Type.find_by(name: 'email'), + ).where('ticket_articles.created_at > ? AND ticket_articles.to LIKE ?', Time.zone.now - minutes.minutes, "%#{recipient_email.strip}%").count + next if already_sent < count + + logger.info "Send no trigger based notification to #{recipient_email} because already sent #{count} for this ticket within last #{minutes} minutes (loop protection)" + skip = true + break + end + next if skip + + map = { + 10 => 30, + 30 => 60, + 60 => 120, + 180 => 240, + 600 => 360, + } + skip = false + map.each do |minutes, count| + already_sent = Ticket::Article.where( + sender: Ticket::Article::Sender.find_by(name: 'System'), + type: Ticket::Article::Type.find_by(name: 'email'), + ).where('ticket_articles.created_at > ? AND ticket_articles.to LIKE ?', Time.zone.now - minutes.minutes, "%#{recipient_email.strip}%").count + next if already_sent < count + + logger.info "Send no trigger based notification to #{recipient_email} because already sent #{count} in total within last #{minutes} minutes (loop protection)" + skip = true + break + end + next if skip + + email = recipient_email.downcase.strip + next if recipients_checked.include?(email) + + recipients_checked.push(email) + end + + return if recipients_checked.blank? + + recipient_string = recipients_checked.join(', ') + + group_id = self.group_id + return if !group_id + + email_address = Group.find(group_id).email_address + if !email_address + logger.info "Unable to send trigger based notification to #{recipient_string} because no email address is set for group '#{group.name}'" + return + end + + if !email_address.channel_id + logger.info "Unable to send trigger based notification to #{recipient_string} because no channel is set for email address '#{email_address.email}' (id: #{email_address.id})" + return + end + + objects = build_notification_template_objects(article) + + # get subject + subject = NotificationFactory::Mailer.template( + templateInline: value['subject'], + locale: 'en-en', + objects: objects, + quote: false, + ) + subject = subject_build(subject) + + body = NotificationFactory::Mailer.template( + templateInline: value['body'], + locale: 'en-en', + objects: objects, + quote: true, + ) + + (body, attachments_inline) = HtmlSanitizer.replace_inline_images(body, id) + + message = Ticket::Article.create( + ticket_id: id, + to: recipient_string, + subject: subject, + content_type: 'text/html', + body: body, + internal: false, + sender: Ticket::Article::Sender.find_by(name: 'System'), + type: Ticket::Article::Type.find_by(name: 'email'), + preferences: { + perform_origin: perform_origin, + }, + updated_by_id: 1, + created_by_id: 1, + ) + + attachments_inline.each do |attachment| + Store.add( + object: 'Ticket::Article', + o_id: message.id, + data: attachment[:data], + filename: attachment[:filename], + preferences: attachment[:preferences], + ) + end + end + + def sms_recipients_by_type(recipient_type, article) + case recipient_type + when 'article_last_sender' + return nil if article.blank? + + if article.origin_by_id + article.origin_by_id + elsif article.created_by_id + article.created_by_id + end + when 'ticket_customer' + customer_id + when 'ticket_owner' + owner_id + when 'ticket_agents' + User.group_access(group_id, 'full').sort_by(&:login) + else + logger.error "Unknown sms notification recipient '#{recipient}'" + nil + end + end + + def build_sms_recipients_list(value, article) + Array(value['recipient']) + .each_with_object([]) { |recipient_type, sum| sum.concat(Array(sms_recipients_by_type(recipient_type, article))) } + .map { |user_or_id| User.lookup(id: user_or_id) } + .select { |user| user.mobile.present? } + end + + def send_sms_notification(value, article, perform_origin) + sms_recipients = build_sms_recipients_list(value, article) + + if sms_recipients.blank? + logger.debug "No SMS recipients found for Ticket# #{number}" + return + end + + sms_recipients_to = sms_recipients + .map { |recipient| "#{recipient.fullname} (#{recipient.mobile})" } + .join(', ') + + channel = Channel.find_by(area: 'Sms::Notification') + if !channel.active? + # write info message since we have an active trigger + logger.info "Found possible SMS recipient(s) (#{sms_recipients_to}) for Ticket# #{number} but SMS channel is not active." + return + end + + objects = build_notification_template_objects(article) + body = NotificationFactory::Renderer.new(objects, 'en-en', value['body'], false) + .render + .html2text + .tr(' ', ' ') # convert non-breaking space to simple space + + # attributes content_type is not needed for SMS + article = Ticket::Article.create( + ticket_id: id, + subject: 'SMS notification', + to: sms_recipients_to, + body: body, + internal: true, + sender: Ticket::Article::Sender.find_by(name: 'System'), + type: Ticket::Article::Type.find_by(name: 'sms'), + preferences: { + perform_origin: perform_origin, + sms_recipients: sms_recipients.map(&:mobile), + channel_id: channel.id, + }, + updated_by_id: 1, + created_by_id: 1, + ) + + end end diff --git a/app/models/ticket/article.rb b/app/models/ticket/article.rb index 53e5407d1..ef9a9852d 100644 --- a/app/models/ticket/article.rb +++ b/app/models/ticket/article.rb @@ -23,6 +23,10 @@ class Ticket::Article < ApplicationModel store :preferences + validates :ticket_id, presence: true + validates :type_id, presence: true + validates :sender_id, presence: true + sanitized_html :body activity_stream_permission 'ticket.agent' diff --git a/app/models/transaction/trigger.rb b/app/models/transaction/trigger.rb index c16f70067..73dd66883 100644 --- a/app/models/transaction/trigger.rb +++ b/app/models/transaction/trigger.rb @@ -23,7 +23,6 @@ class Transaction::Trigger end def perform - # return if we run import mode return if Setting.get('import_mode') @@ -39,7 +38,6 @@ class Transaction::Trigger original_user_id = UserInfo.current_user_id Ticket.perform_triggers(ticket, article, @item, @params) - UserInfo.current_user_id = original_user_id end diff --git a/config/application.rb b/config/application.rb index 786ab124a..d3f556e1f 100644 --- a/config/application.rb +++ b/config/application.rb @@ -32,6 +32,7 @@ module Zammad 'observer::_ticket::_article::_fillup_from_email', 'observer::_ticket::_article::_communicate_email', 'observer::_ticket::_article::_communicate_facebook', + 'observer::_ticket::_article::_communicate_sms', 'observer::_ticket::_article::_communicate_twitter', 'observer::_ticket::_article::_communicate_telegram', 'observer::_ticket::_reset_new_state', diff --git a/config/routes/channel_sms.rb b/config/routes/channel_sms.rb new file mode 100644 index 000000000..b5af05c26 --- /dev/null +++ b/config/routes/channel_sms.rb @@ -0,0 +1,16 @@ +Zammad::Application.routes.draw do + api_path = Rails.configuration.api_path + + match api_path + '/channels_sms', to: 'channels_sms#index', via: :get + match api_path + '/channels_sms/:id', to: 'channels_sms#show', via: :get + match api_path + '/channels_sms', to: 'channels_sms#create', via: :post + match api_path + '/channels_sms/:id', to: 'channels_sms#update', via: :put + match api_path + '/channels_sms/:id', to: 'channels_sms#destroy', via: :delete + match api_path + '/channels_sms_enable', to: 'channels_sms#enable', via: :post + match api_path + '/channels_sms_disable', to: 'channels_sms#disable', via: :post + match api_path + '/channels_sms', to: 'channels_sms#destroy', via: :delete + match api_path + '/channels_sms/test', to: 'channels_sms#test', via: :post + match api_path + '/sms_webhook/:token', to: 'channels_sms#webhook', via: :get + match api_path + '/sms_webhook/:token', to: 'channels_sms#webhook', via: :post + +end diff --git a/contrib/icon-sprite.sketch b/contrib/icon-sprite.sketch index e6eb16ec3d5b93fe27fd43e0c2a9efecb1b813ca..e338e77a17a76a59eac838ed1fe64875f4e2c5ba 100644 GIT binary patch delta 194417 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

>yETT# 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 CU!E=i delta 192915 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 p^k7LKbsw2^C}zi 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�%FlIPo8V!DK5CDP-|v*>-L8d1H2cRfprKL%v4}8Kas-!mCO_~}>5o!E zB$2^iA@DZ*yYUQq;Qt`vNV=vlF*}0TRiZRtKbI6asQc-FrT@2?U zViUF)3IRB(r1`+bF728HWbdv!)fp0`5d!x%Dg_V8iz<-uT(~4aZ`=>;M2Qj|SsZ`N zi`wC*URLDL37$}B25@`7;(F5E%e;Uj_F`e_N2!dGta;a&2Y#N|Z-H=~U{(>R@|MY^ z2)m6OhiKo+B&vl!>X$4|ntaHcrvvp?9Lc>;D#;- zwrAFSG)AJ{hsOvF)GYtvV?LBSbT5hI1-}a3fCA$4fh7cEKo|B{zEL_NXM7^D2mSE) z|3s+U=Ym+tm&F;4o+%hkaU8`qhLv~83vAXi_9!ms$mautsYQe;y^!so%od8}k`fPT zw_-%=z>ps@;0pXKh@3FrCCB8TrHzLXH9ubmgHb`%-=KI3*()jvMH3sFPHpX`-o0`4b6jR4&7W9%dQBGjR zyIyOgV(Pa?AMXA*LUHc7IJWOqxat2wVE!gmdOu6z+#Vsypd56%Q7jteu9(e((jTs; z{#KhEY7fCJ1w>8ryI1KI539)V%HeXz6OCs&lhQNd>d2=F}>>Ii+zUvGH z%{KO|yb_ZQ*M8~wgl#`pQZuDFKvYLR94#xD9oYejxsNB*>3wCJW9M|O-c$mSx5>8T z&pEvZ?qKLS1-j=EjBCOmc#_;O`+pQ<>=uW=Sey!`P4?29eMxq;K1UwAHS!rta0Jwr z+g$@qZ9;4e$aGH&hxGESe~!vErBdum>pIn>ayBP8FLYK4JYc$=Fz;Fbz0c_A!kIcm zs=X852DIM2+p)QM%Tb2(k(lZ`jX4!hqg8jnH$7A`3pxb>28*G&>W*H^BUBm~Ax zfadFbavd)B#TO;u+EWHleNi{CU$>}@N5}6yr!n|e=V|SQTi(&#i2bb~lmvHIsROe% z>sQ-<^9HdX*Uil z{Mp*o1cC8qg-KjZd#GjT)ge_BOId%)?&j{DcqxpQj`zPrYD&i_hJTU^n#IW68Zv*$ z-F1`2C*&%OwfLdDwQ0JYjGU1b8MuEb)wK?n%~e?+lX5mVjU2wTCmLJ||3+Ls`p%1R z#cAo%>4xQJOB4)n%vKi2zj_1k8DxlsL>c{LK>_?HpJC}_rUrj0GEq$+5}FE$G{G`u zT9CrB22leG`Yt_6tZxac{Gas8c?`dgtm-gAB5A;s_q)qpx$1pA_dGG%4;NY;!wm4|-R_PMYl;CN=o5wmE`(^Ua{;ekL!1h+y5KVGf#quXN$ z98FqHWzpe)(`mOBR0Ht@)Jp<#@Me@es*LfwSP`!(d7-%!u1-DAJWVI}PQDpCI;#gw zw2`O_{*W*?u|?G)0e5j97R~>@SNbYRKMzKw|Et1N+=pNgp z^Vcm{^P8imwBV*way{Ib>Y9kgxuL=M&~N4^?U4pddH`1Gz`Oy&Oyl;Q@asLp#twc!UO!uF9blejl7XscKDCiz#%16>$eQ=J^aMR z5_?iS#e8DQ%{gRf58ANrL2+{O*48g>Be!dtizsbnUdENz(0X(h4S$Jf@CN?gx$@1I zK@AV~D@Pkg>HO7dX&P4u4 z>*)TNpuu06p(HJTEm#O8sW3Vt}#7!D=~LzCIlo8PZ8`~MniBZaxhquzq^3rl@-q6=UygPaCn zLhgfCiV3lz;K6%)hIMz2oMPrTx5pUhB+a3RlB<^6t{enBl4?ODPGVFts6i(u0`>}C zVI6>r_22OraYz%*`6QqWpDh4d2|0luHdjirQXs=Md|J>~0yUAiL@E?b=PSgQFLdLEgTZag;pW57jVvVdp_%_sF&XdSvXq|1Y zM6=029)!Wev=>*;NO%qgi&S=uPi7PTz-;(yduI@Em3j1mSB&5_kC^U8QmFQnVC4=* zTVwCl^&mz3e`R9=c-uv8QZ)GgEQyO5h@(I*50l?6kQ{}WE21-X^_FxFD zu7I>S!jmIMca~q$&UBFaLh)njuR6FD%v)m}?!M4N5DGpcIG-U+FM82SI9d>683V5b zhg&~4eseJt6K668vCeT|kM^aL?Cuqn#A48^zQ}MhpKL4-)M~mcZVblUBYaqgSoEhURL7YCB<#Q=g?@R*&D_1X(GcrsOd_(^TM;9no z#&0ETw%NmRT+ffzZ*cj=<1{RI%PPD#mh0^Q3#W`oqQdJcu(YxGQQ|u8=SLef#Q)0v zW$@$cR-Wa4epZ|`Ij&)MZ?a}hl)+tG+~9uxS>F=HBA;VQ;x7`6x-=a(!0>5IKu3zj zM+TJq^IgIWIp0|6zY{apS&tpYGZXw)8`^!<5y>UXYDt!0(|l$M+)+P&D%W_P50_EN zby8tnng5>-F`FqGi(AsS9+Q**ir`)Xz1t8_m%@Hj6oyD!EXd5Gf8%dIHU-#0A_>$8 zV?#`NI4RJxC?o!(m%>}C!(OMWWy{L1vP`D4Ux2o&pNwBC*>YII@qJHl^-f^B^#EdGZyV`I7zGKhr z=rXjv+As)N{kI`B(0ikZ`RhVNsG~j%dFOgrd+~vpz%~n1_22E#oO6Sw zykW}mjux}Y&5d58filKI@i*@D%*+IndQFRZ_1=cc$lU_PTOL*GEvs@Irge{qw>Zl^KP+PYbbnKfVY7q^*PEt;fkwswi_Lh$XrVjhg{v%V?Sw9^6yjjjE{ zZJ&N)8re2;9JhgAR<+Fn#{QB;Of8w}SqSPs{l+M{3_(22rVF|xb(&B&BOb;{6~_IY z4`$p}fy!Q!JelNUL>aPd!|Kv;%^OB9AADnA0kzN;dJ`*mFJysw2^YuR2cH|NF`&tQ zFx8B!@GY1n%cvuAUZODKw@kc$!P-*0Cc(>;HRS?c;3ZW_iZvPJq78HdjtJqCQmT^F zPk2ionQ+y&ip?geoWX9K*xdn28%8pLV{&%&gf6h)P>V?{pZoa$xS(3Ha&fR~Cif+P zmz)%rBVWrDM8=EM%Yu|g`&*<&cV!1)9=F+w05cWWjYH|v$^^5NzBa7 z5UvozwEl)`5Tyi*J&aHVp!S))(T;$fH76q-GyBc{W{21#Um zi!pJeD@hFes{hUgL}VTDt^ODAP&&gP1n0^%X;HMYbvE+S{Ad|q3~Y*H9vGd9@?o%K zX~W{j0$N=fuq&#)Fi=~Wv%JY1&cIoG+*mBcG0O{#A;e!Rc8r*x2I^?gO$|(#cQFi*KN4OuQ81Uw3&6MVG-9O7`7D z-)I;C{N8uF|J({YJm>+_q4FpCtWFuxPDJZ9Kzz&pkhCABvX*XTObm+K27{MYIWagL zWJ>tV&|LLiywCy(%asdbs1@HXTKaMe@>gEZjY)z3E!I2Wtk$F2r8JPr_Mvi}Z){`kqh7;)@ z;u?T^GiqhjIwV>BnYM1TWvqLzVrz4*3`eiKbWiEZ*`fFw85TabW6MvKDxS1JlCdBg zZN5l8UoUrqzxlbj8vkniH5eCRrmtM&iVP9 z=?V?luR>N-noS^C4Mly<}i|K@Alxctf(m^xe{^c>xK+E(|yUb<^JljmPj0;(J(`Mwv$=7{)pU8Vn&C+%hT z2LUIsM{-1)@nQETM~9siQARUjw;(*_=_dP(-ub;2sR4x040*S#L#8bGtp33=n zy4-W_?l=p31Hpo@t)yKYfXMnKkV=s!6iD%S+$i$-a{mrQw0(HI>@`2;bbY*BY=vn1 zJzlK6vgWkSm3v;jKQF~z0dd9i)4u6O0B$p5tmua}nVf20JL?t;%xliO+RKSE@F9sa z5@w8|cb2pBh5Ih<8i-<{TI2ZwFWTx5MIo=1>@!j}x$B+Dm#egAPcs3WB>MX~Do+cY z_4jdnup|{sL4KK9Cl<5t{&M8wyX%C&YCf3!a)&mMmsFPy0af{>s<-_ES>U5DKy~vO z0}0+n96r?pV0q_e`Rh^_eUF@Hwa`LlKkuF;$ILb66Se9CTAtO}Kl(IU{a=)+E^2yj z%9u_taU{?i5EEAqoRpXptlMnMDiwQ8`$h8prspt z>zg?YLrg;45vPHGs`eQ5 z>CiUeHMq?@*;T`iLzEo8cQ7uy2JwRFJM6=f%yJ3@`aD;U#yYbscIT1acxP&V*Ftpa zTxHd55zxhrpBko*=jmy~NIxueM)0y#J($m~BH|!_ik;Ry-s=`vyn}3Km!c*oT;2wL7{R)Gs&o zWsAumKeOUf@3Th+Go%c{J-S)dJ)qEd3T|iGH2Ss!bo}kJnYL%W_7>8t1%wD zDc4)V{uw%w<$6uYCCDhM=doL$*3E%Jqly!Mw!+IO$wRKjE8A$3;Vo$rYg|HBmoxmb z7ZRifApd~($rdo<|Gi(y$x%%Hqts6g)Z;au|N2w(O(w0Ld_gzH3|zl5*i9-Ft8P7I zsmQyt@$0wce!|jOXu+;$@88hwhHqxZ0Cxs}iJGp$v0YO6UQW|V34tXT-qeF9 ze&fe$J5X#Qt~&Zj#XMk9!_FW*7D+I{V75kY?RdtO-yF3yNkB|CN=IxPLO%_oF1G-v z4ykpH;OS4>jbi&kaO@+;jP6iKZc0y`}Jp@N2|nP&rq_NW}(!aM&2VRiQUtS zA+&qhu(23|)N!f}-M(nKNC!Y!mP%HeM^L%zH{yi#xlr_wa$SeH5+bcwpUJ$`iDW+y z8hKuPgOSZ9NXR@8iXl|TLKv@?Cc7@;ATl(^8>L%Rh;*fovTRZ1=Z_+`c5-`N#HHLo zzmGPD93OKVSqpkZ{%LS>9MsF_qER((zzg;+R%p)uk;`4{rcNwh779$9n5xnHsUAus z^6LEw`)ipw81Qs5Kl;S|&z07^4#$BT{+fHg)ICiK^c-h46QfnjA_F9Eaeo_4EPZ26e_AKP+x33Q9zL@Rcs ziddN*tp4od)flxK+rN?$+7Of3u=Tu)fstkMKZX$2tjMyTUg#`yZr34_%%i6eCrVn1Tz+Sm$oxd?qRzC!$EU}FqfEL`^ttg zGJXv~Se)enV}}48Wz12o(vwy~+fVUh#6eA^&@qGJZ?4+c3bJ@av|1M;BX+`_3KM&F zyVp0q%~>$PkA-@y7ZSYJpLm3D-mYlk?p=@`tHr?i?(z#t=yCl8Q!lwQ!p|S`PdFV6 zM>JSLR~n*Ar99+3j+E#J(BDr@TOZ|3!myyT!2%3Kk<=vL&gL*oR6nsIz?-jVJ!Ga^=}sitw}6aWz=34NEmXucU?EavD9# ziFqh)hnaPnnY1q6N=lYh+ z%dRY&CbI=fMj2LDIN$!A?t+@Js*}rIf;Y(jpsOmw^a(`txIz^poi<@5Ek+`9MVgh8 zE~H!Nzh(%suYPk{j;*E5{PV-}Z4|f~TgdE)T8mpABJo*u!pTq^%hu>)l20IJ)GaWI z7>z}5KPKRC_LFs5w(mD8c*6u2A$r(qBp$n}ZIap!B1eQ-QNC3M#g4lx$JYh<1}F<_LMpI!Cc{I_{(o_d-ge_>y4 z!V?emQ@MSuV%Ac%065Lz8)z!iJA=3`@TCYCU6b;y4tjv;&F;wFdw*}5b6DnsYDaYD z$Nx#3vlfI>Hb~VmREn|w9%U~6H+^sdWyfg>wXpk@`jC< zc<7B_)8U`VB~y@y;%3@nBdxB3L|mL8(Pvr^{V{}F&=|uP#t)A0r~k3>WJA|;)2*wN zMCRZ4_*t29eqSQ4#U7cUjTHm7oBqCDPB|!7DTFTqQG5MY-5+mV&Az}Ve_FpU>9ujr z>ZU76%Eq<+=e?}f)|JR-&X#aMfL9$=du-0h9gLQ zB=kO`V_jxQi~2X^H!HwhAcg*VZ)uto_)49G(teIb1%!0=cAPopK>i^0 z5g-kCJ)6?~3h{_96;seRqf$zQQhg7JYeW(`vMjT+B8>2m^QU-@#(Z<5Z>8x zdz?Wq=>=)}1ojvIvT`%0HJ?Fu5i1eZW~4GHYH{?i20X>E1(0%rEP|GqUfIk^R+Wp6W+VHw} zEQ+xd>Dd(*nN<2GB}-z|$_4~KCW~~v8?U<9UihE05TG?IGun~(r+)p#G;M~!dAvv!D74@+R`CRHfAmm;(Fq{ihxXmsJw zlt%>3)3yRcb zV=3_j$rmJ#3{$Z(hH%(&2D!O%13TeGcgZ=lJbw}Vp3@!{G3e8yyufWNcVKpLM(F9Y zoM~B(*tLM+YP$2e%}s#OP+YU^4RMUgWGojhps9Q}f$ebFF4kmoLUPW6`qpmRjyp$P z6EOgh+sJ`j(eon>UxRE89?!M+u!!LdWcp7_H35|pZHL!TNUYOxEF-+&+36}`fZo2u z(Y0*O@PtuQV~Mk|y5wti2#5KuqTmHuG@{RBhcw{jZLRy$BpZ`h*xX*) z5g1{!KeHhAea@+>A+zi^@Wo+04Ca&|0;RIKsQ#MCdqg?@1_S=~PNKlKh(Z+1e|^w0 zMj1uEA&G50?9L8wo|wZAeE=CMcG{bSpdSTyh14!mq-Pnas-@Hh=pQtA&Y~$CV z;H!)5R$)D<>foRHW}pqrzHnpwuY&*~utWOkr10;ZM1Z z<`OC0eSbUZE6+=!zYEIeiP zlg4S}}U08~E`px%4GT5)gJRumPSt}vZfYM5cW1$h`6kg>Y59M_u015ZkAicPXZ zJnc9vrEQX(5P+Ly3pD$*Mmv9Vdf15-59e%8gy?0#wZ^e!Gh|g9i5i-6x&WbizA%e5 z(ESg!R!bKgwDPku)@+JzkJ+0-tusQ@Ey(Gd#!rYg#0gs<_tx+m)XklWvL0X@h*wXH zG`L+S30w0TUw%w)Yr$F^90EY((a+#(z@I z$Hz0j1)%R1;}!@7e*YVaUHOhQN)_R$aEk$6?E1piQnI`O|33hcKyJUAtKVGx=IS?B zzq$Ii;Odw5dfEECJX4<+4cvI0yyA{fQLGR^OaUnFQ+D<;6 zN&)TA*iHe9cWO)%lW}jN&x>vw6R9&QT6Bt>M#T-F%1%c%PTZO9YT+dw+hyQDdj%Tm z@~iNyC0PIZ?x*(x_5P-Q{QcWEL3uB<-^=wz8TTfqN$gE2;heoZvt(KoHGtAShSm$p zqJEW}bl2E_Y3`?mw(KSL$~c(<^_^}6pSfVQ*cq1Cj#}eXK$jI$qSR=#Hox9B(f0l- z9LVSJtV{66cVE7{1~um`J*^KWg@ZH+#+HthF;*U1*$vm0{1;QpKQlSnXs^&DaDbA%^sSDvCruUV@Q3`;!G z1+jesJ-UV>=jbB9>t%x@9^2#%eeu9PS7W>r(EokmjS9s6;fpM@KBPa9cX(6oRvyOJ z_y6ntrw{$3EYo72>)D?Q+5h%I=GSkZf4eu9{qOuB|MbV@L-_5pV4LANoUOLmA5%`M z>|3*c53SlykXbkZY^5jru|vCt)86g&?9O^P_3iUPSG~!5)nKjjiQC3z<$Oowj(8h@q_nyHH z8wGU!H9eqOAv1?KDs9pB-i}meUP4d%ERD=l^otax-VCAaAd5c6NU4(J4Fo{K2c?>`-Ep zG9=}LErm`zsi-@zY>V=DSzArRPr}&=981zF$|t8z5o)6%04p6*wjHG0uzwSOoE?;i zfL%k1+om)#H(tp*L8YdYQ;ft+egS8P?elSV@Syt-pFe;2`2PQA?_GQBIFc;EzasS4 zZBMwFo0+?RTEr8(i=CN9tFhl21D1-VB34BTlB%m`7xUleSj0`{>n0;IBFVg&3`(M; zOkU3jcXP92uVZhdVnY!NuC#NAR+iFtO?pMs%uZ(HVIZ34Ky7au@av^T&L?skQMi5s#INgyAbmrwcAL;A9)~heiuo1K)&m+!Q&qix-6TkW@@zH? zbGy(D!RgFV^a7M1^jT7W^pm<=>HJESW%WV%*iB{GHIALXd6U27&ne9r2tR{$pi46&b9Qcw9^dzZ9 zg=4;$f>4`I-lUNK?J53MZ@eZ2v3Bk4TL4>|#Xet(JjMQUf&n&vuCZvrBd9HGfmp)D z#w{v2rW|=%#59XX@Dw|1RX1iJ);`~}?!Z!P^0AL>h)tefY7g(?9Jhxr?}_Cpsd@#` zfyAUJR13tWq@}D{smcG+lRDenRC{)zeLc13%+Z%EmY^N{^7^QFrfROXHiLpQkF%qUE(vsI#CkOWtIW@e zFLBJq=6%3|M_zd0T$urNGSD9MY>AUwlPXb4s$2+*5pOIVT)X!6EszMTO3)w~XOyM^ zUROG8u^H@tNc0(L_ckEi$FGJz2A>0{+G$DZqia09)bOD=pIdoHc_^SdmVyUbasIKa z;9g+>Q6T%M1!ohXeJ7||;ksfA#5q~;Sb3ZKb^dYQTwDXD%PVYRjRGy1;&kmYbuBc7=||BJo`{8r7)0lm}yc#wO0$rD(u)qF2ys))D3l>Tosv_r%po^b+^!p+DbHWI{u8%)`)>ZYfAcN*Or7VAnjwcc)EK1p8rq&p zXu86GHjZuECH>AW>EScIsLxcLeU6hQ&VY1TCJ1RhJ8l|{n1RSw1s^k!CY*AGgFv~` z=Iq(Sh4v8q72tTdDp)K-$4pKJ12tDK=P%ADTXms(=iC|!8}HPhFs!jMfWsz?efH_D z;|+OYhTI!O#yc9eGsCemIDoo1ndpo#xW8k6iPR~YOsj17AkRF`TWenOjyHE28DO#s zSF=@gRXxb0H`$~6^e1o06;kPCBrhcIk_DmS7qmDNUCVu^(r`0=H@Ea~ zg)YDqGPmCn4Y1sCInQu|B2(f7D@Lh*s4gays0f?_F}Mg8uR;BpMYg1v)~&sxsD{i- zoFJ9Xn4fJ1dsFxjaA!_@$Wl^9qvvjb^RS&%=Ta`!lqjCkI#Fz6k<`lP+c(WM*R0r2 zfQLBC0P!h6Zk4msSuA_Q32I!5L*op^tvd$NpIK=~2^f~C1^(|;CX~)m#NSVUF?r`Z zd!o)e_#~~KXmKVy{!n`N`XMD!67x3^N9IeHlW?FlWzRQynq#^@oN?_HFBzQ@kdtnb z%txMPhi_s+F=HvEntA3i$m@$ODKg1_%v&S6{>b!E@!2Gs{K|z4d76hYt+Cpcw4VEp{jO(Og1*keM=JG0s$Pq zFag}F@lw7qTDMM9(+opsYV@kirVnj9YDm`hUKGG;?IC{$9zRH<57Ow@MjHL^+X+tU zZBCP#ZUQ&y;4OI?Z%IEkHUh?kCbt~`PLV;9|Jx^jg689Y&%d0W=>$8-e4=8^cK!Q5|I;6zh5NYR&*cX;{V)s-l^|9r zIQMX9QrCyU>JYgfQ$zB4xg8!{>3HH;xqI>XCH=w=ek(q{`{g^H%{&L?#S=Bxk*=4^IW50T$?6;r*E4r*bN&5)!-e*gKB?s5l{wR2 zN@>lU<|(M1_4F6Z_BqYxfBc>~&6K&8cp@k82=n5cW)fv0j}hZ9d8D0S)tu(DEA6TW zx_8!fMOkN+?; zj#M<2TwXpZelh4LzFeJ(=kN;-#k^mSb?(i~G5Q$!thmpA2@s+#<-*N-Z@mu?8Wi_r zD$}r9IbwxM&cPFN-gXJsuDzp;(M*frR}>#okmsL}j7hwL7J5t;TD(|`oI=d zhCZL!d}=oGwpuR(0VYeEiXFTuH{y<2VJD}Fr=~x$b>V`mDuc@ZzIo8+T-W)cCvz$u&8a8atUEbV{~=5eFw)nih0 zF12x0f~Tf}H7K8u^3!*~Yeyhh6(UNMRZd!f@L<)e%z)c=kDYLiG{ZUh&Ht=uDM2qn z1LB8&E^(S+4dxU@d^}A|GpCtb6Z1XL3w>5>^3f! zmx9jb@Tq&Sevu7(uy*l1dr)ZN=Wy0QO7V<;q!pIMJy^TQraf4<_%1o99;apXI$Z#; zncpHuC^*CJtJ|T)7|xxex_(S(MpbqC8}9(KjX|AtOK%R0z>7<+#v{NN18>h3k>Cbn zYXONJk3L{UOb=xsc?~P96kvtTTS(B}l31dX|3u!_@am1O;+DW?=UF~Aim?H=GteS` z0A1WiD^v=QEPFHvmMg);%rnBcL>BD4!q5RRExx~V4-qbScSxU2O$nZRr9{4Msqlm$qQoPyXU+-pD;ULNd$z%XMkFnHkWu` zV_k1K1F*Ecp(JvIgkuoMUGXFRd=d*%6u&nl$^&k;k7H# zruTKfiA#0UW`22dy*|$3J=3`B-qOjtwjdHDcWM}#*ac6{wBJW4IS30wPI2eIxCg=4 z5dzEyT88~CxC0Pox33)j5CG><-SMkrnzaYT37c4|q{* zgwGgeC^4DAw5v`}`1*IFv&t@I8zO7~96obC?C8#qTw4gIjq_FjrAo3f0kQfacL{_$ zJl>t+o(o*IdInKG@cZcDMyy_DgQb7Cygsu0vx~%2QQuRR*|ZaDm){c&dk}3}dh5qN zvf&NSFSX-svNw2n%Pa89_2lh;jH?4{P|T7S5h*Xd-|9uSyz$D#?`0i6{l~k9v#16v z)Jv5x4v~XME1?Al3|;Tek~duC=CxK#-IO27lutOZ7vHa=ddYmkf1A(b5{f83zr#19 zOU+KJpR&yT$ngwY-hHU(pc=r^nHEnJPd{vfPWlWC>Gz-Ii_bpa(feXU8%G{A27tWQxz?Ic2I<1kwbbW6 zwaTxTpITjq!VfLk%)O(VVMKESQ~693e=(}o59tT_J}cI)-0Sx#AOan9%9ByB$7$2q>MJ6ycb3I>hLC3^5e zl6g96CVIQGM&dnPY%e!-`u6<2o4L|-G-N%kAuA?sYTtIDAG8a9l7|%V|2b&a##9Y5 z(#NAAYj;DIT}DIJU;gspr}wz@M^DykZrON*J0dlGI}!(rH3w-7H#u4xI?ZDwDVe(d z6*pz2;;bBSFruX>w}`f;3udRLtTNAR5ze{7@V_Lp#OKTQ^>5iFQQ&=@Yj!!*-ky%> z#uQ3B`e5|Zgxc4C8b%^7uO6gnU$48lc+D<=Fymh?m@4BoNPgg7((}x`tz>t8r4=5{ zxsPn)dp)z%o-&RKzbslVRax>peCKKJ_mo98m9nf`{F(Q_i#TlJy{gq2LD{x!!ueI6 zYZuO~zN5@nB*Hx>ubJ?nly$kCI+>QrSJy+nSoqICTtyY=(qi|^TkSqY{j#%6PeNbwnQqTV4R zDOt{od$4wqO?$9z@vVEHS6)6k%_+&=xNG%&AbYyXd*V7z-iarz|EvN*Pd|QozQd+x zM484jj?Ln&_=TLexjyKkS^$|}SY$uOe01?=--BI$-o_UedA>b(=xyxGy2Q;{m)p|} zZq31lLB2K3;ARl^H0$8V$UH40<9x(z*A5|BV;*6up&_BrrD#pmVKB0HEq)v+9tPnTS}n}Guu%&lHjGO*`E91 zmn7qVyNR3q@sAH4KRq%(Z;p+x0Rq&%X+snHAxPKdP@3LCJN7&dV^6&{uQ()qbD!q& z(lp&BzJR-QBzE3VVyCTj%pGy4p3{*g4WZCjLh8J|A;+$L#pA>t-l8Lu^Rn|;S-ca; z=^VU;HQCHIWyO0kqj&0+r3pMf!PALN0K^r4&~UDIBjw0!q8{q3R5o%t6ee$$G9Y>H zO*q9{3VHI=DPO1>?Mr(k_U>RG8fb|{crI|vsdCY3so<+AEzU8`o~6v{U2;_O^qA3m zPsuyLc#3b+HfEFRq$ysr>C_mR(o9B1#hWLmQ7z8Bvag?~M6Ap{nI0!bndTzTG*Rh) zcwjRUSK=jJ2mIpfq+UK{mgZLAXeD7gAPeG@3|pnZgAj~WJc8~$ZS(ee%O{KZ;72W1 z^1cZ%H43rd{IDiuYsI7@oHkx8;{XzlLbsO4JAd8L4h?lQIS0vJZN>*?SH@)xq=TqE04=dxgWSu4)?;1N*Gn5Vl z4&st@k{7O3q^5$iGHgL!;wgdRgMP_AJ2=-9+fOBpxEEYYAs?K&?fs#0v2eu&7N^0R zG;Z=fcc(sslcsT>EJq~>uvWoidw_CQX$8Vnp{8)hon(^A5@A>N&?O*;c`N&W%pXAz zABd{r>?X?Tx~+fLoK4UuryleVf%!01pCN9(q0oTSDmg-rO|%ET ze%;#DKhc5VF#w>FAIbcL&@fPAUIwMfzQP`e6L!H?dylwtxTVF*aDFF$flk;{_1V? zKLnnwn5X`d&v4s@^4KA#K_@^1;@D>hhD8&Ul}?Q##{2R}g=5SX2l5P65pJ*wTA;0H>^z=AY;qPdt`6 z;#6VQaeTBqZq%QLJOv(obZ42f;E)KLIqeJwR(P95z`MqxaBF<6a-yqo9%#Z>YX!0v zNjq5_q4W_&q=Umv^?e!_8S-lW*WfY#4rYbyyeu0xXAb!mSoco zq?nwq2l~|sF?B8jf_jMzJrJunX-}kmY{8s-Zl*hXKJ}ib^DDT}5$YX3(wUohk;xO@ zjA_OPptiDzKDx*TO;{XMsM8oabzgdH?LDv{dQG}{TMaN+ra8T*#raYhrU>pHz|oRP zBq#R8IYBeS6#!^|ogUN~ktPCP*mGb7-P(EU#97&Am_yRsSnqQ3%{BDIf8|$+_)HG{ z!4X${LMvnikl8sew|1T<0!V`5^(pMh9jKid^x}k;P+;nH-p>6qyLYg?hD+?6=jlPj z<^c!gxiz5HoZ`m=LU8>z5>B0ex-o>qOGraNropBedIKQQqxsDMhFSv2!%+?0ruy00y z^NfOPK|wMuOH<1bXzY^o9vm}1 zY7M?nYXIopjzzoB@z@9H`X)3(EP;E17dDI?;Or%4N$H|TXj|bhKvU3=c&u%I`+Butx?<;r^4M3-rPLdxn4R(5X=sVe z2Y*aDGVqmn6;85Ri&dS68wa{7@WFkMUrA1yOfRW0zwuDxZ%Qb4uLjXf;6KK|xf_Bs zErq55%*pUuV7n5U1p3|C}*%FMk7SC^KHu-WA{vMzw?kJWvbk+jUbL~T$ zr3qtddv2&}JF!(I92L(~lq#MpNvw0#m-tA`B9hrtHklTCVxy&MxKf(L^XzkG8H?jw zd}Nce0P@x*q4m$Wdh@CcW}RWT8Yskn)*DW`qCvD9RU7ibQ>$`3*~rs~KK&|U(Y#_L z5S%;$97_zXb|rXwWz!Br(%dZWLa?iZKd;_QAG7x%dUxVn zI9Gj8g=cy)Bs>y*xz+5+D?NF~p7;}1OH(_vLy{W0J~l!6DxnUegqZrVqrT#QHr6%L z#JEMZL?|)!6!hE-=gc%!Am3AdHWgkZ(p22~6uuw#f43-+Y*Dta~|F2wp?Z&b71J|($sq|1` zN&C=nBd*7Wu5a7aMP0LTFiSdrl^*)=zRbGZ^!wOHHX6l;ORd&lW<88S3TfbkEwG4t zmnZ-?)S++S`FF#bid0>x&C)J5t0H43W&55cVvz;Dmc8=Z7P^`x$2Yo`QWY%gAay~vjK;+2c9 z-8f1a1{3Nj4W9jo)j}x|;FW3vusODx@~T-@cYg8706~;}B#zg1DJ{_Uu3zKnp7PqY zSL^sv+mVcdmskR00d18U#{l^q40x*y%BvF6I5Pz@!?yc`r1Z}}@Rg5zE=*pwl`3H3 z`w$nIqn@(P7NJ|e{@NXX9O2TW)~#f(3{BSzp{@NGiq}r(#DH4hmS{l|J!TtH>1*wF;Ls&AReeGuyG-c+_XA+8{%;JDR(jR#z_rX{4IP6 zR$+mgmYcTC-biS&I>>GAD^0&xr3&Aosf9TbCi5CNZ_}K~q2V+5WJzzrON0;13<6g# znv!=(`<8Q3F5;?xI>(U_umFD79JAa43qCg18+N_i95_3_a+3D5xu*h4jw@@h;Th1i z?NY!$8Y~YKu{BL+^lEcYH?}ePVR~1xWFk>LCTVJv7c>m$w#wHG4>`a`J)6;uBrV6XIcF z?NIs{yet-1%_lCF*oWA_C4mQ?bK9?*;-=Au=%`O_Dl3NPVZY#@PBVC=Slr&ipwoPB zxOmWt*v#~#aA2n1a%|x!NK=E*K%qzxINClVyVxk)uH^4McbH!u1b0?swzQ+{IR7@c zqYfnp9Tb3nBhnDcn1?U|O=XMSFzUE!4%36vj7yzb4@4$D)A`3I%*D%XN3n&+Q=0+- zXy5?Vu4zJomC0?y?I`8-mO0Rkt(k4hmG`U`Cl&EYYbDP^NEH&~REp|62mbqEe7=S8 zfya^t_||^yIw+r3L+v4j*6;wsq%=~uM){O0K*S_}9@&qcg)G@KluM;YkALdf>&oug z+=+H(z{^_Sz~+tybcf%pB4dBZ+DZJB2;Y`YipuGxTZ zyU@ne1{t*rwW@?38d)`!(vHohjq&I_Yw_+$m?m%Ge)6WAU*g#->h6WG#|9QH6^Mp| zlP+0*Xt;P4dc)aoPQS)DJ^B6Pv%T(hq25YkWTOZBbAx{B;gz%r5VPq?!`Sv2rj9fh+PZi6u)#+Ie2WvQd)l&f zXBT;{ojbGmYTu+$?T1=JGd3kS+Yazi($J(qdH|$`ds|iK3D8?34lw$_mNHiYI(-y> z{1kXiR>(Om7TlHO6fdIeOnPwDX5Ok5JNM9oIkRyq*Io@Ic&HEG)Nk}kn_A71iL9WVgEOm6JW|X9TBUCG>b&vW$+x0=v@j0(BqSvb;4=@N z_I8%ilKN0n>BFF1KTz#k;j%8Q1LI$R7+a9ME8RJkz9=ShSO;DxjzAavme1C4z>tizus7$uXJJ7}+}d!Bx9-cJ0;GS8ZxdsR?~9 zxCe;|`^FMFDP0$37`tXo$zyUl4nR@Y)Yz$+7LoCQUZ4rPo{|Ug7ebzvbAlQ2o)exZ z?;c&`=|M1O#c`k2-w?`&9$9*S^|o2x)-g5SD`cz6y3ah;A}D_3BU^CX*`-!*K}VEhZNgYGw!pmZOj`VZMlC$}COM)-!$)V002y0+8;xq97yHmA<1WQ;=@QWM%{qFgkKO?*8u;ghnyzD+kVVCE~I-RaEW zI_1#k%XQ`Cz1~hx%<0$XlC*e_ImYDM-#oe(1&-foi5eiX^KNUR2Q_LwfRc=BOmA@z z&gdlmvCRPseT_$mowpy zGjOI;k;kYp;X8WN6P!=d+(znOWq^)PD=&r(1P3J-{d%4X7EB{r+cN8LnCypQxZVJUTjgX&X^ zbShiBa-MI(!aT8mUYA9}_o<0LJ4?Qo38%R|c%t!*PR^XLTe6KQ*GtK!2=+uApJ%>v zAH3?V$3CP23L)-d`}W4~90jjA&k9O&e=2)fGp8tpeKy2GMD6?{*pR|RF76fn<2JtY z^Gj!eS0zq`AG7ejNxPgZ`ROIe&Jr?DajE2FT#BQWiB@EPDHiJkVfM+kAuxHs7+$l#Ty&}YHYIY*ybpy~wj8|NOZTYAS1MDs8vuB*@0NprKY(@|F^ zkjAz|+`T1#vU7sCNOnGtYQ^jKrbQq@#c!$;$UwYgu z=Mjb=+P={j)inxCmPsHs`&OCsBFPefn(YgZ>n0Y7ktV?{lUG!lf28Ct1 zZ73LjbQ6pnjyrmtdO0C6_8ZFB0o+j9X$Yd{8nPos_K`IP(AY~q71p&jQ1LDl&L!K5* zp;LvalLoL)#F`nkCJ)VDpA{N*<5)DDHC{4*!5pYlVaPmY3n&dhQ`j$=4+Yr=hur>2 zjXq||hl0(c6WE7=ITTR9+)@|Ezc{%GR264CZgjE-G-p8Sx22O(?FZV~UX2!|ku*ah#cU^SYVs;J@yIop~KYKgjWHehlv%wBeX z39RYJa!xY43qr|>v0yB9mkdDqVfHfoAhVsN6C%fdp0QNJ1j%zDfhpz>CL{x3|(XAaHhQ&fefJ>_EnII)#s40EPLi zkLr>q@4(unckBR+UiC4kFk6I`%cENSOFIDc;I3iyVVicst!M4Yh8^&-0Ej8}!D2nl zZG28s0L@)}+%a5uoOhlH<6y~whJEyahjDVwOJju2Epir9JbjMN*`=Qo4p_v0YJgU% zPS@((Yhh-Ne_6PP6)$9YcQ>oL#*J<_-wl{kBn%R;JoL$66!}%0AKRpkeZPkQl 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 yXIYw|-=q1bzcKBb983RdINOuoBsozc>#$4 diff --git a/db/migrate/20180524182518_sms_support.rb b/db/migrate/20180524182518_sms_support.rb new file mode 100644 index 000000000..e80f6dc89 --- /dev/null +++ b/db/migrate/20180524182518_sms_support.rb @@ -0,0 +1,15 @@ +class SmsSupport < ActiveRecord::Migration[5.1] + def up + + # return if it's a new setup + return if !Setting.find_by(name: 'system_init_done') + + Permission.create_if_not_exists( + name: 'admin.channel_sms', + note: 'Manage %s', + preferences: { + translations: ['Channel - SMS'] + }, + ) + end +end diff --git a/db/seeds/permissions.rb b/db/seeds/permissions.rb index 0c5212e29..7cecf6955 100644 --- a/db/seeds/permissions.rb +++ b/db/seeds/permissions.rb @@ -136,6 +136,13 @@ Permission.create_if_not_exists( translations: ['Channel - Telegram'] }, ) +Permission.create_if_not_exists( + name: 'admin.channel_sms', + note: 'Manage %s', + preferences: { + translations: ['Channel - SMS'] + }, +) Permission.create_if_not_exists( name: 'admin.channel_chat', note: 'Manage %s', diff --git a/lib/notification_factory/renderer.rb b/lib/notification_factory/renderer.rb index 01e9b371e..f95bd26a9 100644 --- a/lib/notification_factory/renderer.rb +++ b/lib/notification_factory/renderer.rb @@ -92,15 +92,33 @@ examples how to use break end + arguments = nil + if /\A(?[^\(]+)\((?[^\)]+)\)\z/ =~ method + + if parameter != parameter.to_i.to_s + value = "\#{#{object_name}.#{object_methods_s} / invalid parameter: #{parameter}}" + break + end + + begin + arguments = Array(parameter.to_i) + method = method_id + rescue + value = "\#{#{object_name}.#{object_methods_s} / #{e.message}}" + break + end + end + # if method exists if !object_refs.respond_to?(method.to_sym) value = "\#{#{object_name}.#{object_methods_s} / no such method}" break end begin - object_refs = object_refs.send(method.to_sym) + object_refs = object_refs.send(method.to_sym, *arguments) rescue => e - object_refs = "\#{#{object_name}.#{object_methods_s} / e.message}" + value = "\#{#{object_name}.#{object_methods_s} / #{e.message}}" + break end end placeholder = if !value diff --git a/public/assets/images/icons.svg b/public/assets/images/icons.svg index 55e7dbe4e..4e8001847 100644 --- a/public/assets/images/icons.svg +++ b/public/assets/images/icons.svg @@ -405,11 +405,21 @@ logotype + + + long-arrow-down + + long-arrow-right + + + low-priority + + magnifier @@ -634,6 +644,11 @@ small-dot + + + sms + + split diff --git a/public/assets/images/icons/sms.svg b/public/assets/images/icons/sms.svg new file mode 100644 index 000000000..1435cc2ef --- /dev/null +++ b/public/assets/images/icons/sms.svg @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg width="17px" height="17px" viewBox="0 0 17 17" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <!-- Generator: Sketch 52.2 (67145) - http://www.bohemiancoding.com/sketch --> + <title>sms + Created with Sketch. + + + + \ No newline at end of file diff --git a/spec/controllers/integration/exchange_spec.rb b/spec/controllers/integration/exchange_spec.rb new file mode 100644 index 000000000..56581a250 --- /dev/null +++ b/spec/controllers/integration/exchange_spec.rb @@ -0,0 +1,46 @@ +require 'rails_helper' + +RSpec.describe 'Exchange integration endpoint', type: :request do + before { authenticated_as(admin_with_admin_user_permissions) } + + let(:admin_with_admin_user_permissions) do + create(:user, roles: [role_with_admin_user_permissions]) + end + + let(:role_with_admin_user_permissions) do + create(:role).tap { |role| role.permission_grant('admin.integration') } + end + + describe 'EWS folder retrieval' do + # see https://github.com/zammad/zammad/issues/1802 + context 'when no folders found (#1802)' do + let(:empty_folder_list) { { folders: {} } } + + it 'responds with an error message' do + allow(Sequencer).to receive(:process).with(any_args).and_return(empty_folder_list) + + post api_v1_integration_exchange_folders_path, + params: {}, as: :json + + expect(json_response).to include('result' => 'failed').and include('message') + end + end + end + + describe 'autodiscovery' do + # see https://github.com/zammad/zammad/issues/2065 + context 'when Autodiscover gem raises Errno::EADDRNOTAVAIL (#2065)' do + let(:client) { instance_double('Autodiscover::Client') } + + it 'rescues and responds with an empty hash (to proceed to manual configuration)' do + allow(Autodiscover::Client).to receive(:new).with(any_args).and_return(client) + allow(client).to receive(:autodiscover).and_raise(Errno::EADDRNOTAVAIL) + + post api_v1_integration_exchange_autodiscover_path, + params: {}, as: :json + + expect(json_response).to eq('result' => 'ok') + end + end + end +end diff --git a/spec/factories/channel.rb b/spec/factories/channel.rb index dbbdc33d7..625f09504 100644 --- a/spec/factories/channel.rb +++ b/spec/factories/channel.rb @@ -1,9 +1,11 @@ FactoryBot.define do factory :channel do - area 'Email::Dummy' - group { ::Group.find(1) } - active true - options {} - preferences {} + area 'Email::Dummy' + group { ::Group.find(1) } + active true + options {} + preferences {} + updated_by_id 1 + created_by_id 1 end end diff --git a/spec/lib/import/exchange/folder_spec.rb b/spec/lib/import/exchange/folder_spec.rb index f11949d23..65dead1ad 100644 --- a/spec/lib/import/exchange/folder_spec.rb +++ b/spec/lib/import/exchange/folder_spec.rb @@ -2,6 +2,7 @@ require 'rails_helper' RSpec.describe Import::Exchange::Folder do # see https://github.com/zammad/zammad/issues/2152 + describe '#display_path (#2152)' do let(:subject) { described_class.new(ews_connection) } let(:ews_connection) { Viewpoint::EWSClient.new(endpoint, user, pass) } diff --git a/spec/models/channel/driver/sms/massenversand_spec.rb b/spec/models/channel/driver/sms/massenversand_spec.rb new file mode 100644 index 000000000..6a251cf2f --- /dev/null +++ b/spec/models/channel/driver/sms/massenversand_spec.rb @@ -0,0 +1,72 @@ +require 'rails_helper' + +RSpec.describe Channel::Driver::Sms::Massenversand do + it 'passes' do + channel = create_channel + + stub_request(:get, url_to_mock) + .to_return(body: 'OK') + + api = channel.driver_instance.new + expect(api.send(channel.options, { recipient: receiver_number, message: message_body })).to be true + end + + it 'fails' do + channel = create_channel + + stub_request(:get, url_to_mock) + .to_return(body: 'blocked receiver ()') + + api = channel.driver_instance.new + expect { api.send(channel.options, { recipient: receiver_number, message: message_body }) }.to raise_exception(RuntimeError) + end + + private + + def create_channel + FactoryBot.create(:channel, + options: { + adapter: 'sms/massenversand', + gateway: gateway, + sender: sender_number, + token: token + }, + created_by_id: 1, + updated_by_id: 1) + end + + def url_to_mock + params = { + authToken: token, + getID: 1, + msg: message_body, + msgtype: 'c', + receiver: receiver_number, + sender: sender_number + } + + gateway + '?' + URI.encode_www_form(params) + end + + # api parameters + + def gateway + 'https://gate1.goyyamobile.com/sms/sendsms.asp' + end + + def message_body + 'Test' + end + + def receiver_number + '+37060010000' + end + + def sender_number + '+491000000000' + end + + def token + '00q1234123423r5rwefdfsfsfef' + end +end diff --git a/spec/models/channel/driver/sms/twilio_spec.rb b/spec/models/channel/driver/sms/twilio_spec.rb new file mode 100644 index 000000000..9078c4d94 --- /dev/null +++ b/spec/models/channel/driver/sms/twilio_spec.rb @@ -0,0 +1,71 @@ +require 'rails_helper' + +RSpec.describe Channel::Driver::Sms::Twilio do + it 'passes' do + channel = create_channel + + stub_request(:post, url_to_mock) + .to_return(body: mocked_response_success) + + api = channel.driver_instance.new + expect(api.send(channel.options, { recipient: '+37060010000', message: message_body })).to be true + end + + it 'fails' do + channel = create_channel + + stub_request(:post, url_to_mock) + .to_return(status: 400, body: mocked_response_failure) + + api = channel.driver_instance.new + + expect { api.send(channel.options, { recipient: 'asd', message: message_body }) }.to raise_exception(Twilio::REST::RestError) + expect(a_request(:post, url_to_mock)).to have_been_made + end + + private + + def create_channel + FactoryBot.create(:channel, + options: { + account_id: account_id, + adapter: 'sms/twilio', + sender: sender_number, + token: token + }, + created_by_id: 1, + updated_by_id: 1) + end + + # api parameters + + def url_to_mock + "https://api.twilio.com/2010-04-01/Accounts/#{account_id}/Messages.json" + end + + def account_id + 'ASDASDAS3213424AD' + end + + def message_body + 'Test' + end + + def sender_number + '+15005550006' + end + + def token + '2345r4erfdvc4wedxv3efds' + end + + # mocked responses + + def mocked_response_success + '{"sid": "SM07eab0404df148a4bf3712cb8b72e4c2", "date_created": "Fri, 01 Jun 2018 06:11:19 +0000", "date_updated": "Fri, 01 Jun 2018 06:11:19 +0000", "date_sent": null, "account_sid": "AC5989ff24c08f701b8b1ef09e1b79cbf8", "to": "+37060010000", "from": "+15005550006", "messaging_service_sid": null, "body": "Sent from your Twilio trial account - Test", "status": "queued", "num_segments": "1", "num_media": "0", "direction": "outbound-api", "api_version": "2010-04-01", "price": null, "price_unit": "USD", "error_code": null, "error_message": null, "uri": "/2010-04-01/Accounts/AC5989ff24c08f701b8b1ef09e1b79cbf8/Messages/SM07eab0404df148a4bf3712cb8b72e4c2.json", "subresource_uris": {"media": "/2010-04-01/Accounts/AC5989ff24c08f701b8b1ef09e1b79cbf8/Messages/SM07eab0404df148a4bf3712cb8b72e4c2/Media.json"}}' + end + + def mocked_response_failure + '{"code": 21211, "message": "The \'To\' number asd is not a valid phone number.", "more_info": "https://www.twilio.com/docs/errors/21211", "status": 400}' + end +end diff --git a/spec/models/trigger/sms_spec.rb b/spec/models/trigger/sms_spec.rb new file mode 100644 index 000000000..74defa3ae --- /dev/null +++ b/spec/models/trigger/sms_spec.rb @@ -0,0 +1,32 @@ +require 'rails_helper' + +RSpec.describe Trigger do + + describe 'sms' do + + it 'sends interpolated, html-free SMS' do + customer = create(:customer_user) + agent = create(:agent_user) + another_agent = create(:admin_user, mobile: '+37061010000') + Group.lookup(id: 1).users << another_agent + + channel = create(:channel, area: 'Sms::Notification') + trigger = create(:trigger, + disable_notification: false, + perform: { + 'notification.sms': { + recipient: 'ticket_agents', + body: 'space between #{ticket.title}', # rubocop:disable Lint/InterpolationCheck + } + }) + + ticket = create(:ticket, customer: customer, created_by_id: agent.id) + Observer::Transaction.commit + + triggered_article = Ticket::Article.last + + expect(triggered_article.body.match?(/space between/)).to be_truthy + expect(triggered_article.body.match?(ticket.title)).to be_truthy + end + end +end diff --git a/test/data/twilio/inbound_sms1.json b/test/data/twilio/inbound_sms1.json new file mode 100644 index 000000000..9891c5046 --- /dev/null +++ b/test/data/twilio/inbound_sms1.json @@ -0,0 +1,21 @@ +{ + "ToCountry": "DE", + "ToState": "", + "SmsMessageSid": "SM1bd5330f81336e8b54c2d3d9fc1bcb6a", + "NumMedia": "0", + "ToCity": "", + "FromZip": "", + "SmsSid": "SM1bd5330f81336e8b54c2d3d9fc1bcb6a", + "FromState": "", + "SmsStatus": "received", + "FromCity": "", + "Body": "Ldfhxhcuffufuf. Fifififig. Fifififiif Fifififiif Fifififiif Fifififiif Fifififiif", + "FromCountry": "DE", + "To": "+4915700000000", + "ToZip": "", + "NumSegments": "1", + "MessageSid": "SM1bd5330f81336e8b54c2d3d9fc1bcb6a", + "AccountSid": "AC78349f4b974f5f6907c513a77d96756d", + "From": "+491710000000", + "ApiVersion": "2010-04-01" +} \ No newline at end of file diff --git a/test/data/twilio/inbound_sms2.json b/test/data/twilio/inbound_sms2.json new file mode 100644 index 000000000..7a5d69861 --- /dev/null +++ b/test/data/twilio/inbound_sms2.json @@ -0,0 +1,21 @@ +{ + "ToCountry": "DE", + "ToState": "", + "SmsMessageSid": "SM1bd5330f81336e8b54c2d3d9fc1bcb6b", + "NumMedia": "0", + "ToCity": "", + "FromZip": "", + "SmsSid": "SM1bd5330f81336e8b54c2d3d9fc1bcb6b", + "FromState": "", + "SmsStatus": "received", + "FromCity": "", + "Body": "Follow up", + "FromCountry": "DE", + "To": "+4915700000000", + "ToZip": "", + "NumSegments": "1", + "MessageSid": "SM1bd5330f81336e8b54c2d3d9fc1bcb6b", + "AccountSid": "AC78349f4b974f5f6907c513a77d96756d", + "From": "+491710000000", + "ApiVersion": "2010-04-01" +} \ No newline at end of file diff --git a/test/data/twilio/inbound_sms3.json b/test/data/twilio/inbound_sms3.json new file mode 100644 index 000000000..d7a14893b --- /dev/null +++ b/test/data/twilio/inbound_sms3.json @@ -0,0 +1,21 @@ +{ + "ToCountry": "DE", + "ToState": "", + "SmsMessageSid": "SM1bd5330f81336e8b54c2d3d9fc1bcb6c", + "NumMedia": "0", + "ToCity": "", + "FromZip": "", + "SmsSid": "SM1bd5330f81336e8b54c2d3d9fc1bcb6c", + "FromState": "", + "SmsStatus": "received", + "FromCity": "", + "Body": "new 2", + "FromCountry": "DE", + "To": "+4915700000000", + "ToZip": "", + "NumSegments": "1", + "MessageSid": "SM1bd5330f81336e8b54c2d3d9fc1bcb6c", + "AccountSid": "AC78349f4b974f5f6907c513a77d96756d", + "From": "+491710000000", + "ApiVersion": "2010-04-01" +} \ No newline at end of file diff --git a/test/fixtures/mail67.box b/test/fixtures/mail67.box new file mode 100644 index 000000000..fe7137702 --- /dev/null +++ b/test/fixtures/mail67.box @@ -0,0 +1,19 @@ +Return-Path: +X-Original-To: info@example.de +Delivered-To: m032b9f7@dd38536.example.com +Received: from dd38536.example.com (dd0801.example.com [1.1.1.1]) + by dd38536.example.com (Postfix) with ESMTPSA id 343463D42403 + for ; Wed, 4 Jul 2018 10:02:32 +0200 (CEST) +MIME-Version: 1.0 +Content-Type: text/plain; charset=ISO-8859-1 +Content-Transfer-Encoding: 8bit +X-SenderIP: 1.1.1.1 +User-Agent: ALL-INKL Webmail 2.11 +Subject: Testmail - Alias in info@example.de Gruppe +From: "Bob Smith | deal" +To: info@example.de +Message-Id: <20180704080232.343463D42403@dd38536.example.com> +Date: Wed, 4 Jul 2018 10:02:32 +0200 (CEST) +X-KasLoop: m032b9f7 + + diff --git a/test/integration/twilio_sms_controller_test.rb b/test/integration/twilio_sms_controller_test.rb new file mode 100644 index 000000000..77ab2fdc7 --- /dev/null +++ b/test/integration/twilio_sms_controller_test.rb @@ -0,0 +1,232 @@ +require 'test_helper' +require 'rexml/document' +require 'webmock/minitest' + +class TwilioSmsControllerTest < ActionDispatch::IntegrationTest + setup do + @headers = { 'ACCEPT' => 'application/json', 'CONTENT_TYPE' => 'application/json' } + end + + test 'basic call' do + + # configure twilio channel + bot_id = 123_456_789 + group_id = Group.find_by(name: 'Users').id + + UserInfo.current_user_id = 1 + channel = Channel.create!( + area: 'Sms::Account', + options: { + adapter: 'sms/twilio', + webhook_token: 'f409460e50f76d331fdac8ba7b7963b6', + account_id: '111', + token: '223', + sender: '333', + }, + group_id: nil, + active: true, + ) + + # create agent + agent = User.create!( + login: 'tickets-agent@example.com', + firstname: 'Tickets', + lastname: 'Agent', + email: 'tickets-agent@example.com', + password: 'agentpw', + active: true, + roles: Role.where(name: 'Agent'), + groups: Group.all, + ) + + # process inbound sms + post '/api/v1/sms_webhook', params: read_messaage('inbound_sms1'), headers: @headers + assert_response(404) + result = JSON.parse(@response.body) + + post '/api/v1/sms_webhook/not_existing', params: read_messaage('inbound_sms1'), headers: @headers + assert_response(404) + result = JSON.parse(@response.body) + + post '/api/v1/sms_webhook/f409460e50f76d331fdac8ba7b7963b6', params: read_messaage('inbound_sms1'), headers: @headers + assert_response(422) + result = JSON.parse(@response.body) + assert_equal(result['error'], 'Can\'t use Channel::Driver::Sms::Twilio: #') + + channel.group_id = Group.first.id + channel.save! + + post '/api/v1/sms_webhook/f409460e50f76d331fdac8ba7b7963b6', params: read_messaage('inbound_sms1'), headers: @headers + assert_response(200) + response = REXML::Document.new(@response.body) + assert_equal(response.elements.count, 1) + + ticket = Ticket.last + article = Ticket::Article.last + customer = User.last + assert_equal(1, ticket.articles.count) + assert_equal('Ldfhxhcuffufuf. Fifififig. Fifififiif F...', ticket.title) + assert_equal('new', ticket.state.name) + assert_equal(group_id, ticket.group_id) + assert_equal(customer.id, ticket.customer_id) + assert_equal(customer.id, ticket.created_by_id) + assert_equal('+491710000000', article.from) + assert_equal('+4915700000000', article.to) + assert_nil(article.cc) + assert_nil(article.subject) + assert_equal('Ldfhxhcuffufuf. Fifififig. Fifififiif Fifififiif Fifififiif Fifififiif Fifififiif', article.body) + assert_equal(customer.id, article.created_by_id) + assert_equal('Customer', article.sender.name) + assert_equal('sms', article.type.name) + + post '/api/v1/sms_webhook/f409460e50f76d331fdac8ba7b7963b6', params: read_messaage('inbound_sms2'), headers: @headers + assert_response(200) + response = REXML::Document.new(@response.body) + assert_equal(response.elements.count, 1) + + ticket.reload + assert_equal(2, ticket.articles.count) + assert_equal('new', ticket.state.name) + + article = Ticket::Article.last + assert_equal('+491710000000', article.from) + assert_equal('+4915700000000', article.to) + assert_nil(article.cc) + assert_nil(article.subject) + assert_equal('Follow up', article.body) + assert_equal('Customer', article.sender.name) + assert_equal('sms', article.type.name) + assert_equal(customer.id, article.created_by_id) + + # check duplicate callbacks + post '/api/v1/sms_webhook/f409460e50f76d331fdac8ba7b7963b6', params: read_messaage('inbound_sms2'), headers: @headers + assert_response(200) + response = REXML::Document.new(@response.body) + assert_equal(response.elements.count, 1) + + ticket.reload + assert_equal(2, ticket.articles.count) + assert_equal('new', ticket.state.name) + assert_equal(Ticket::Article.last.id, article.id) + + # new ticket need to be create + ticket.state = Ticket::State.find_by(name: 'closed') + ticket.save! + + post '/api/v1/sms_webhook/f409460e50f76d331fdac8ba7b7963b6', params: read_messaage('inbound_sms3'), headers: @headers + assert_response(200) + response = REXML::Document.new(@response.body) + assert_equal(response.elements.count, 1) + + ticket.reload + assert_equal(2, ticket.articles.count) + assert_not_equal(Ticket.last.id, ticket.id) + assert_equal('closed', ticket.state.name) + + ticket = Ticket.last + article = Ticket::Article.last + customer = User.last + assert_equal(1, ticket.articles.count) + assert_equal('new 2', ticket.title) + assert_equal(group_id, ticket.group_id) + assert_equal(customer.id, ticket.customer_id) + assert_equal(customer.id, ticket.created_by_id) + assert_equal('+491710000000', article.from) + assert_equal('+4915700000000', article.to) + assert_nil(article.cc) + assert_nil(article.subject) + assert_equal('new 2', article.body) + assert_equal(customer.id, article.created_by_id) + assert_equal('Customer', article.sender.name) + assert_equal('sms', article.type.name) + + # reply by agent + credentials = ActionController::HttpAuthentication::Basic.encode_credentials('tickets-agent@example.com', 'agentpw') + params = { + ticket_id: ticket.id, + body: 'some test', + type: 'sms', + } + post '/api/v1/ticket_articles', params: params.to_json, headers: @headers.merge('Authorization' => credentials) + assert_response(201) + result = JSON.parse(@response.body) + assert_equal(Hash, result.class) + assert_nil(result['subject']) + assert_equal('some test', result['body']) + assert_equal('text/plain', result['content_type']) + assert_equal(agent.id, result['updated_by_id']) + assert_equal(agent.id, result['created_by_id']) + + stub_request(:post, 'https://api.twilio.com/2010-04-01/Accounts/111/Messages.json') + .with( + body: { + 'Body' => 'some test', + 'From' => '333', + 'To' => nil, + }, + headers: { + 'Accept' => 'application/json', + 'Accept-Charset' => 'utf-8', + 'Accept-Encoding' => 'gzip;q=1.0,deflate;q=0.6,identity;q=0.3', + 'Authorization' => 'Basic MTExOjIyMw==', + 'Content-Type' => 'application/x-www-form-urlencoded', + 'User-Agent' => 'twilio-ruby/5.10.2 (ruby/x86_64-darwin16 2.4.4-p296)' + } + ).to_return(status: 200, body: '', headers: {}) + + assert_nil(article.preferences[:delivery_retry]) + assert_nil(article.preferences[:delivery_status]) + + Observer::Transaction.commit + Scheduler.worker(true) + + article = Ticket::Article.find(result['id']) + assert_equal(1, article.preferences[:delivery_retry]) + assert_equal('success', article.preferences[:delivery_status]) + + end + + test 'customer based on already existing mobile attibute' do + + customer = User.create!( + firstname: '', + lastname: '', + email: 'me@example.com', + mobile: '01710000000', + note: '', + updated_by_id: 1, + created_by_id: 1, + ) + Observer::Transaction.commit + Scheduler.worker(true) + + # configure twilio channel + bot_id = 123_456_789 + group_id = Group.find_by(name: 'Users').id + + UserInfo.current_user_id = 1 + channel = Channel.create!( + area: 'Sms::Account', + options: { + adapter: 'sms/twilio', + webhook_token: 'f409460e50f76d331fdac8ba7b7963b6', + account_id: '111', + token: '223', + sender: '333', + }, + group_id: group_id, + active: true, + ) + + post '/api/v1/sms_webhook/f409460e50f76d331fdac8ba7b7963b6', params: read_messaage('inbound_sms1'), headers: @headers + assert_response(200) + response = REXML::Document.new(@response.body) + assert_equal(response.elements.count, 1) + + assert_equal(User.last.id, customer.id) + end + + def read_messaage(file) + File.read(Rails.root.join('test', 'data', 'twilio', "#{file}.json")) + end +end diff --git a/test/unit/notification_factory_renderer_test.rb b/test/unit/notification_factory_renderer_test.rb index 1bca33044..1eb6cb6c9 100644 --- a/test/unit/notification_factory_renderer_test.rb +++ b/test/unit/notification_factory_renderer_test.rb @@ -583,4 +583,56 @@ class NotificationFactoryRendererTest < ActiveSupport::TestCase end + test 'methods with single Integer parameter' do + + template = "\#{ticket.title.first(3)}" + result = described_class.new( + { + ticket: ticket, + }, + 'en-us', + template, + ).render + assert_equal(CGI.escapeHTML(''), result) + + template = "\#{ticket.title.last(4)}" + result = described_class.new( + { + ticket: ticket, + }, + 'en-us', + template, + ).render + assert_equal(CGI.escapeHTML(''), result) + + template = "\#{ticket.title.slice(3, 4)}" + result = described_class.new( + { + ticket: ticket, + }, + 'en-us', + template, + ).render + assert_equal(CGI.escapeHTML("\#{ticket.title.slice(3,4) / invalid parameter: 3,4}"), result) + + template = "\#{ticket.title.first('some invalid parameter')}" + result = described_class.new( + { + ticket: ticket, + }, + 'en-us', + template, + ).render + assert_equal("\#{ticket.title.first(someinvalidparameter) / invalid parameter: someinvalidparameter}", result) + + template = "\#{ticket.title.chomp(`cat /etc/passwd`)}" + result = described_class.new( + { + ticket: ticket, + }, + 'en-us', + template, + ).render + assert_equal("\#{ticket.title.chomp(`cat/etc/passwd`) / not allowed}", result) + end end