48 lines
1.5 KiB
Ruby
48 lines
1.5 KiB
Ruby
module NoteHelper
|
|
include ActionView::Helpers::TranslationHelper
|
|
|
|
def note_description(author, description, first_comment)
|
|
if !author.nil? && author.status == "deleted"
|
|
RichText.new("text", t("notes.show.description_when_author_is_deleted"))
|
|
elsif first_comment&.event != "opened"
|
|
RichText.new("text", t("notes.show.description_when_there_is_no_opening_comment"))
|
|
else
|
|
description
|
|
end
|
|
end
|
|
|
|
def note_event(event, at, by)
|
|
if by.nil?
|
|
t("notes.show.event_#{event}_by_anonymous_html",
|
|
:time_ago => friendly_date_ago(at))
|
|
else
|
|
t("notes.show.event_#{event}_by_html",
|
|
:time_ago => friendly_date_ago(at),
|
|
:user => note_author(by))
|
|
end
|
|
end
|
|
|
|
def note_author(author, link_options = {})
|
|
if author.nil?
|
|
""
|
|
elsif author.status == "deleted"
|
|
t("users.no_such_user.deleted")
|
|
else
|
|
link_to h(author.display_name), link_options.merge(:controller => "/users", :action => "show", :display_name => author.display_name),
|
|
:class => "mw-100 d-inline-block align-bottom text-truncate text-wrap", :dir => "auto"
|
|
end
|
|
end
|
|
|
|
def note_list_row_class(note, user)
|
|
opened_by_user = note.author == user
|
|
closed_by_user = note.comments.last&.author == user && note.comments.last&.event == "closed"
|
|
|
|
if opened_by_user && closed_by_user
|
|
"table-warning"
|
|
elsif opened_by_user
|
|
"table-danger"
|
|
elsif closed_by_user
|
|
"table-success"
|
|
end
|
|
end
|
|
end
|