diff --git a/app/models/messenger.rb b/app/models/messenger.rb index 8a604a8..eb6227c 100644 --- a/app/models/messenger.rb +++ b/app/models/messenger.rb @@ -123,7 +123,11 @@ class Messenger title = I18n.t :label_attachment else key = detail.prop_key.to_s.sub('_id', '') - title = I18n.t "field_#{key}" + title = if key == 'parent' + I18n.t "field_#{key}_issue" + else + I18n.t "field_#{key}" + end end short = true diff --git a/config/locales/de.yml b/config/locales/de.yml index 65b0949..cea10c1 100644 --- a/config/locales/de.yml +++ b/config/locales/de.yml @@ -1,12 +1,29 @@ # German strings de: + label_messenger_contact_created: "[%{project_url}] Kontakt %{url} erstellt von *%{user}*" + label_messenger_contact_updated: "[%{project_url}] Kontakt %{url} aktualisiert von *%{user}*" + label_messenger_db_entry_created: "[%{project_url}] DB Eintrag %{url} erstellt von *%{user}*" + label_messenger_db_entry_updated: "[%{project_url}] DB Eintrag %{url} aktualisiert von *%{user}*" + label_messenger_issue_created: "[%{project_url}] Ticket %{url} erstellt von *%{user}*" + label_messenger_issue_updated: "[%{project_url}] Ticket %{url} aktualisiert von *%{user}*" + label_messenger_password_created: "[%{project_url}] Kennwort %{url} erstellt von *%{user}*" + label_messenger_password_updated: "[%{project_url}] Kennwort %{url} aktualisiert von *%{user}*" + label_messenger_wiki_created: "[%{project_url}] Wiki %{url} erstellt von *%{user}*" + label_messenger_wiki_updated: "[%{project_url}] Wiki %{url} aktualisiert von *%{user}*" label_settings_auto_mentions: Convert names to mentions? label_settings_display_watchers: Display watchers? label_settings_messenger_channel: Messenger Channel label_settings_messenger_icon: Messenger Icon label_settings_messenger_url: Messenger URL label_settings_messenger_username: Messenger Benutzer + label_settings_messenger_verify_ssl: SSL verifiziert label_settings_new_include_description: Description in new issue? + label_settings_post_contact_updates: Contact updates? + label_settings_post_contact: Contact added? + label_settings_post_db_updates: DB entry updates? + label_settings_post_db: DB entry added? + label_settings_post_password_updates: Password updates? + label_settings_post_password: Password added? label_settings_post_private_issues: Post updates for private issues? label_settings_post_private_notes: Post private notes? label_settings_post_updates: Post issue updates? @@ -15,17 +32,4 @@ de: label_settings_updated_include_description: Description in update issue? messenger_channel_info_html: 'The channel can be changed on a per-project basis by creating a project custom field named "Messenger Channel" (without quotes).' messenger_url_info_html: 'Generate an Incoming WebHook URL from the sessenger service. This URL can be changed on a per-project basis by creating a project custom field named "Messenger URL" (without quotes).' - label_settings_messenger_verify_ssl: SSL verifiziert messenger_verify_ssl_info_html: 'If your Messenger service uses an invalid or self-signed SSL certificate, disable it.' - label_settings_post_db: DB entry added? - label_settings_post_db_updates: DB entry updates? - label_settings_post_contact: Contact added? - label_settings_post_contact_updates: Contact updates? - label_settings_post_password: Password added? - label_settings_post_password_updates: Password updates? - label_messenger_db_entry_created: "[%{project_url}] DB Eintrag %{url} erstellt von *%{user}*" - label_messenger_db_entry_updated: "[%{project_url}] DB Eintrag %{url} aktualisiert von *%{user}*" - label_messenger_contact_created: "[%{project_url}] Kontakt %{url} erstellt von *%{user}*" - label_messenger_contact_updated: "[%{project_url}] Kontakt %{url} aktualisiert von *%{user}*" - label_messenger_password_created: "[%{project_url}] Kennwort %{url} erstellt von *%{user}*" - label_messenger_password_updated: "[%{project_url}] Kennwort %{url} aktualisiert von *%{user}*" diff --git a/config/locales/en.yml b/config/locales/en.yml index 599cbb2..e37ba28 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -1,12 +1,29 @@ # English strings en: + label_messenger_contact_created: "[%{project_url}] Contact %{url} created by *%{user}*" + label_messenger_contact_updated: "[%{project_url}] Contact %{url} updated by *%{user}*" + label_messenger_db_entry_created: "[%{project_url}] DB entry %{url} created by *%{user}*" + label_messenger_db_entry_updated: "[%{project_url}] DB entry %{url} updated by *%{user}*" + label_messenger_issue_created: "[%{project_url}] Issue %{url} created by *%{user}*" + label_messenger_issue_updated: "[%{project_url}] Issue %{url} updated by *%{user}*" + label_messenger_password_created: "[%{project_url}] Kennwort %{url} created by *%{user}*" + label_messenger_password_updated: "[%{project_url}] Kennwort %{url} updated by *%{user}*" + label_messenger_wiki_created: "[%{project_url}] Wiki %{url} created by *%{user}*" + label_messenger_wiki_updated: "[%{project_url}] Wiki %{url} updated by *%{user}*" label_settings_auto_mentions: Convert names to mentions? label_settings_display_watchers: Display watchers? label_settings_messenger_channel: Messenger Channel label_settings_messenger_icon: Messenger Icon label_settings_messenger_url: Messenger URL label_settings_messenger_username: Messenger username + label_settings_messenger_verify_ssl: Verify SSL label_settings_new_include_description: Description in new issue? + label_settings_post_contact_updates: Contact updates? + label_settings_post_contact: Contact added? + label_settings_post_db_updates: DB entry updates? + label_settings_post_db: DB entry added? + label_settings_post_password_updates: Password updates? + label_settings_post_password: Password added? label_settings_post_private_issues: Post updates for private issues? label_settings_post_private_notes: Post private notes? label_settings_post_updates: Post issue updates? @@ -15,17 +32,4 @@ en: label_settings_updated_include_description: Description in update issue? messenger_channel_info_html: 'The channel can be changed on a per-project basis by creating a project custom field named "Messenger Channel" (without quotes).' messenger_url_info_html: 'Generate an Incoming WebHook URL from the sessenger service. This URL can be changed on a per-project basis by creating a project custom field named "Messenger URL" (without quotes).' - label_settings_messenger_verify_ssl: Verify SSL messenger_verify_ssl_info_html: 'If your Messenger service uses an invalid or self-signed SSL certificate, disable it.' - label_settings_post_db: DB entry added? - label_settings_post_db_updates: DB entry updates? - label_settings_post_contact: Contact added? - label_settings_post_contact_updates: Contact updates? - label_settings_post_password: Password added? - label_settings_post_password_updates: Password updates? - label_messenger_db_entry_created: "[%{project_url}] DB entry %{url} created by *%{user}*" - label_messenger_db_entry_updated: "[%{project_url}] DB entry %{url} updated by *%{user}*" - label_messenger_contact_created: "[%{project_url}] Contact %{url} created by *%{user}*" - label_messenger_contact_updated: "[%{project_url}] Contact %{url} updated by *%{user}*" - label_messenger_password_created: "[%{project_url}] Kennwort %{url} created by *%{user}*" - label_messenger_password_updated: "[%{project_url}] Kennwort %{url} updated by *%{user}*" diff --git a/lib/redmine_messenger/patches/issue_patch.rb b/lib/redmine_messenger/patches/issue_patch.rb index fa3d0f1..726b3ec 100644 --- a/lib/redmine_messenger/patches/issue_patch.rb +++ b/lib/redmine_messenger/patches/issue_patch.rb @@ -20,7 +20,7 @@ module RedmineMessenger return unless channels.present? && url return if is_private? && post_private_issues != '1' - msg = "[#{ERB::Util.html_escape(project)}] #{ERB::Util.html_escape(author)} created <#{Messenger.object_url(self)}|#{ERB::Util.html_escape(self)}>#{Messenger.mentions description if RedmineMessenger.settings[:auto_mentions] == '1'}" + set_language_if_valid Setting.default_language attachment = {} if description && RedmineMessenger.settings[:new_include_description] == '1' @@ -48,7 +48,11 @@ module RedmineMessenger } end - Messenger.speak msg, channels, attachment, url + Messenger.speak(l(:label_messenger_issue_created, + project_url: "<#{Messenger.object_url self}|#{ERB::Util.html_escape(project)}>", + url: "<#{Messenger.object_url(self)}|#{ERB::Util.html_escape(self)}>#{Messenger.mentions description if RedmineMessenger.settings[:auto_mentions] == '1'}", + user: author), + channels, attachment, url) end def send_messenger_update @@ -63,7 +67,7 @@ module RedmineMessenger return if is_private? && post_private_issues != '1' return if current_journal.private_notes? && post_private_notes != '1' - msg = "[#{ERB::Util.html_escape(project)}] #{ERB::Util.html_escape(current_journal.user.to_s)} updated <#{Messenger.object_url self}|#{ERB::Util.html_escape(self)}>#{Messenger.mentions current_journal.notes if RedmineMessenger.settings[:auto_mentions] == '1'}" + set_language_if_valid Setting.default_language attachment = {} if current_journal.notes && RedmineMessenger.settings[:updated_include_description] == '1' @@ -72,7 +76,11 @@ module RedmineMessenger fields = current_journal.details.map { |d| Messenger.detail_to_field d } attachment[:fields] = fields if fields.any? - Messenger.speak msg, channels, attachment, url + Messenger.speak(l(:label_messenger_issue_updated, + project_url: "<#{Messenger.object_url self}|#{ERB::Util.html_escape(project)}>", + url: "<#{Messenger.object_url self}|#{ERB::Util.html_escape(self)}>#{Messenger.mentions current_journal.notes if RedmineMessenger.settings[:auto_mentions] == '1'}", + user: current_journal.user), + channels, attachment, url) end end end diff --git a/lib/redmine_messenger/patches/wiki_page_patch.rb b/lib/redmine_messenger/patches/wiki_page_patch.rb index 1e3182b..a337831 100644 --- a/lib/redmine_messenger/patches/wiki_page_patch.rb +++ b/lib/redmine_messenger/patches/wiki_page_patch.rb @@ -14,26 +14,22 @@ module RedmineMessenger module InstanceMethods def send_messenger_create return unless RedmineMessenger.settings[:post_wiki] == '1' - - user = User.current - project_url = "<#{Messenger.object_url self}|#{ERB::Util.html_escape(project)}>" - page_url = "<#{Messenger.object_url self}|#{title}>" - comment = "[#{project_url}] #{page_url} created by *#{user}*" + set_language_if_valid Setting.default_language channels = Messenger.channels_for_project project url = Messenger.url_for_project project return unless channels.present? && url - Messenger.speak comment, channels, nil, url + Messenger.speak(l(:label_messenger_wiki_created, + project_url: "<#{Messenger.object_url self}|#{ERB::Util.html_escape(project)}>", + url: "<#{Messenger.object_url self}|#{title}>", + user: User.current), + channels, nil, url) end def send_messenger_update return unless RedmineMessenger.settings[:post_wiki_updates] == '1' - - user = content.author - project_url = "<#{Messenger.object_url self}|#{ERB::Util.html_escape(project)}>" - page_url = "<#{Messenger.object_url self}|#{title}>" - comment = "[#{project_url}] #{page_url} updated by *#{user}*" + set_language_if_valid Setting.default_language channels = Messenger.channels_for_project project url = Messenger.url_for_project project @@ -46,7 +42,11 @@ module RedmineMessenger attachment[:text] = ERB::Util.html_escape(content.comments.to_s) end - Messenger.speak comment, channels, attachment, url + Messenger.speak(l(:label_messenger_wiki_updated, + project_url: "<#{Messenger.object_url self}|#{ERB::Util.html_escape(project)}>", + url: "<#{Messenger.object_url self}|#{title}>", + user: content.author), + channels, attachment, url) end end end