diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 43f32fbc7..1a2b44ff2 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -690,7 +690,7 @@ module ApplicationHelper end def authoring(created, author, options={}) - l(options[:label] || :label_added_time_by, :author => link_to_user(author), :age => time_tag(created)).html_safe + l(options[:label] || :label_added_time_by, :author => link_to_user(author), :badge => options[:badge], :age => time_tag(created)).html_safe end def time_tag(time) diff --git a/app/helpers/journals_helper.rb b/app/helpers/journals_helper.rb index c8a771d81..7d8fb0386 100644 --- a/app/helpers/journals_helper.rb +++ b/app/helpers/journals_helper.rb @@ -84,4 +84,15 @@ module JournalsHelper content_tag('span', "ยท #{l(:label_edited)}", :title => l(:label_time_by_author, :time => format_time(journal.updated_on), :author => journal.updated_by), :class => 'update-info') end + + def journal_user_badge(journal) + return '' if journal.nil? + + issue = journal&.journalized + if journal.user == issue&.author + content_tag('span', l(:field_author), class: 'badge badge-user-author') + else + '' + end + end end diff --git a/app/helpers/messages_helper.rb b/app/helpers/messages_helper.rb index d1caad5ad..ec938b2fc 100644 --- a/app/helpers/messages_helper.rb +++ b/app/helpers/messages_helper.rb @@ -18,4 +18,13 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. module MessagesHelper + def message_user_badge(message) + return '' if message&.parent.nil? + + if message.parent.author == message.author + content_tag('span', l(:field_author), class: 'badge badge-user-author') + else + '' + end + end end diff --git a/app/helpers/news_helper.rb b/app/helpers/news_helper.rb index 1dc2b3079..5d5cc7e53 100644 --- a/app/helpers/news_helper.rb +++ b/app/helpers/news_helper.rb @@ -18,4 +18,13 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. module NewsHelper + def news_comment_user_badge(comment) + return '' if comment&.commented.nil? + + if comment.commented.author == comment.author + content_tag('span', l(:field_author), class: 'badge badge-user-author') + else + '' + end + end end diff --git a/app/helpers/wiki_helper.rb b/app/helpers/wiki_helper.rb index 0b5f3b8f4..97df2c37e 100644 --- a/app/helpers/wiki_helper.rb +++ b/app/helpers/wiki_helper.rb @@ -73,6 +73,6 @@ module WikiHelper end def wiki_content_update_info(content) - l(:label_updated_time_by, :author => link_to_user(content.author), :age => time_tag(content.updated_on)).html_safe + l(:label_updated_time_by, :author => link_to_user(content.author), :age => time_tag(content.updated_on), :badge => '').html_safe end end diff --git a/app/views/issues/tabs/_history.html.erb b/app/views/issues/tabs/_history.html.erb index 8c6f6d31b..a739f7e15 100644 --- a/app/views/issues/tabs/_history.html.erb +++ b/app/views/issues/tabs/_history.html.erb @@ -13,7 +13,7 @@

<%= avatar(journal.user) %> - <%= authoring journal.created_on, journal.user, :label => :label_updated_time_by %> + <%= authoring journal.created_on, journal.user, :label => :label_updated_time_by, :badge => journal_user_badge(journal) %> <%= render_private_notes_indicator(journal) %> <%= render_journal_update_info(journal) %>

diff --git a/app/views/messages/show.html.erb b/app/views/messages/show.html.erb index 6c902d087..ac8782ea7 100644 --- a/app/views/messages/show.html.erb +++ b/app/views/messages/show.html.erb @@ -69,7 +69,7 @@ <%= avatar(message.author) %> <%= link_to message.subject, { :controller => 'messages', :action => 'show', :board_id => @board, :id => @topic, :r => message, :anchor => "message-#{message.id}" } %> - - <%= authoring message.created_on, message.author %> + <%= authoring message.created_on, message.author, :badge => message_user_badge(message) %>
<%= textilizable message, :content, :attachments => message.attachments %>
<%= link_to_attachments message, :author => false, :thumbnails => true %> diff --git a/app/views/news/show.html.erb b/app/views/news/show.html.erb index 95d6fe265..2808dcd40 100644 --- a/app/views/news/show.html.erb +++ b/app/views/news/show.html.erb @@ -42,7 +42,7 @@ :title => l(:button_delete), :class => 'icon-only icon-del' %> -

<%= avatar(comment.author) %><%= authoring comment.created_on, comment.author %>

+

<%= avatar(comment.author) %><%= authoring comment.created_on, comment.author, :badge => news_comment_user_badge(comment) %>

<%= textilizable(comment.comments) %>
diff --git a/config/locales/en.yml b/config/locales/en.yml index 64d09c8cf..c74b65280 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -922,8 +922,8 @@ en: label_missing_feeds_access_key: Missing a Atom access key label_feeds_access_key_created_on: "Atom access key created %{value} ago" label_module_plural: Modules - label_added_time_by: "Added by %{author} %{age} ago" - label_updated_time_by: "Updated by %{author} %{age} ago" + label_added_time_by: "Added by %{author} %{badge} %{age} ago" + label_updated_time_by: "Updated by %{author} %{badge} %{age} ago" label_updated_time: "Updated %{value} ago" label_jump_to_a_project: Jump to a project... label_file_plural: Files diff --git a/public/stylesheets/application.css b/public/stylesheets/application.css index 8c50a9879..47acfcdfe 100644 --- a/public/stylesheets/application.css +++ b/public/stylesheets/application.css @@ -1519,6 +1519,10 @@ td.gantt_selected_column .gantt_hdr,.gantt_selected_column_container { .badge-issues-count { background: #EEEEEE; } +.badge-user-author { + color: #205D86; + border: 1px solid #205D86; +} /***** Tooltips *****/ .ui-tooltip { diff --git a/test/helpers/journals_helper_test.rb b/test/helpers/journals_helper_test.rb index 5d158a886..5800dcfe1 100644 --- a/test/helpers/journals_helper_test.rb +++ b/test/helpers/journals_helper_test.rb @@ -87,4 +87,11 @@ class JournalsHelperTest < Redmine::HelperTest assert_equal 2, journal.details.count assert_equal journal.details.map(&:value), thumbnails.map(&:filename) end + + def test_journal_user_badge + issue = Issue.generate!(:author_id => 1, :assigned_to_id => 2) + + journal = issue.init_journal(User.find(1), "Updated by an author") + assert_equal 'Author', journal_user_badge(journal) + end end