diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 394f9b666..dad128cb0 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -671,7 +671,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 d947f8233..57b77921e 100644 --- a/app/helpers/journals_helper.rb +++ b/app/helpers/journals_helper.rb @@ -68,4 +68,15 @@ module JournalsHelper css_classes = journal.private_notes? ? 'badge badge-private private' : '' content_tag('span', content.html_safe, :id => "journal-#{journal.id}-private_notes", :class => css_classes) end + + def journal_user_badge(journal) + return '' if journal.nil? + + issue = journal&.journalized + if journal.user == issue&.author + content_tag('span', l(:label_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 51824a334..a1224d964 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(:label_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 f807f9cc8..fc5500d6d 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(:label_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 04a9253c3..c46999802 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 0769f5725..1895bdb16 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) %>

diff --git a/app/views/messages/show.html.erb b/app/views/messages/show.html.erb index b8abf0321..aab5523ef 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 142afa001..34ec500f4 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -907,8 +907,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 @@ -1102,6 +1102,7 @@ en: label_display_type_board: Board label_my_bookmarks: My bookmarks label_assign_to_me: Assign to me + label_author: Author button_login: Login button_submit: Submit diff --git a/public/stylesheets/application.css b/public/stylesheets/application.css index 70911e4f6..23fb72559 100644 --- a/public/stylesheets/application.css +++ b/public/stylesheets/application.css @@ -1469,6 +1469,11 @@ td.gantt_selected_column .gantt_hdr,.gantt_selected_column_container { color: #1D781D; border: 1px solid #1D781D; } +.badge-user-author { + color: #205D86; + border: 1px solid #205D86; +} + /***** Tooltips *****/ .ui-tooltip { background: #000; diff --git a/test/helpers/journals_helper_test.rb b/test/helpers/journals_helper_test.rb index a3475c6ab..b2f573ee4 100644 --- a/test/helpers/journals_helper_test.rb +++ b/test/helpers/journals_helper_test.rb @@ -49,4 +49,11 @@ class JournalsHelperTest < Redmine::HelperTest assert_kind_of Attachment, thumbnails.first assert_equal 'image.png', thumbnails.first.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