Note we're excluding a few files: * Configuration files that weren't generated by us * Migration files that weren't generated by us * The Gemfile, since it includes an important comment that must be on the same line as the gem declaration * The Budget::Stats class, since the heading statistics are a mess and having shorter lines would require a lot of refactoring
94 lines
2.4 KiB
Ruby
94 lines
2.4 KiB
Ruby
module CommentsHelper
|
|
def comment_tree_title_text(commentable)
|
|
if commentable.class == Legislation::Question
|
|
t("legislation.questions.comments.comments_title")
|
|
else
|
|
t("comments_helper.comments_title")
|
|
end
|
|
end
|
|
|
|
def leave_comment_text(commentable)
|
|
if commentable.class == Legislation::Question
|
|
t("legislation.questions.comments.form.leave_comment")
|
|
else
|
|
t("comments.form.leave_comment")
|
|
end
|
|
end
|
|
|
|
def comment_link_text(parent_id)
|
|
parent_id.present? ? t("comments_helper.reply_link") : t("comments_helper.comment_link")
|
|
end
|
|
|
|
def comment_button_text(parent_id, commentable)
|
|
if commentable.class == Legislation::Question
|
|
if parent_id.present?
|
|
t("comments_helper.reply_button")
|
|
else
|
|
t("legislation.questions.comments.comment_button")
|
|
end
|
|
else
|
|
if parent_id.present?
|
|
t("comments_helper.reply_button")
|
|
else
|
|
t("comments_helper.comment_button")
|
|
end
|
|
end
|
|
end
|
|
|
|
def parent_or_commentable_dom_id(parent_id, commentable)
|
|
parent_id.blank? ? dom_id(commentable) : "comment_#{parent_id}"
|
|
end
|
|
|
|
def child_comments_of(parent)
|
|
if @comment_tree.present?
|
|
@comment_tree.ordered_children_of(parent)
|
|
else
|
|
parent.children
|
|
end
|
|
end
|
|
|
|
def commentable_path(comment)
|
|
polymorphic_path(comment.commentable)
|
|
end
|
|
|
|
def user_level_class(comment)
|
|
if comment.as_administrator?
|
|
"is-admin"
|
|
elsif comment.as_moderator?
|
|
"is-moderator"
|
|
elsif comment.user.official?
|
|
"level-#{comment.user.official_level}"
|
|
else
|
|
"" # Default no special user class
|
|
end
|
|
end
|
|
|
|
def comment_author_class(comment, author_id)
|
|
if comment.user_id == author_id
|
|
"is-author"
|
|
else
|
|
"" # Default not author class
|
|
end
|
|
end
|
|
|
|
def require_verified_resident_for_commentable?(commentable, current_user)
|
|
return false if current_user.administrator? || current_user.moderator?
|
|
|
|
commentable.respond_to?(:comments_for_verified_residents_only?) &&
|
|
commentable.comments_for_verified_residents_only? &&
|
|
!current_user.residence_verified?
|
|
end
|
|
|
|
def comments_closed_for_commentable?(commentable)
|
|
commentable.respond_to?(:comments_closed?) && commentable.comments_closed?
|
|
end
|
|
|
|
def comments_closed_text(commentable)
|
|
if commentable.class == Legislation::Question
|
|
t("legislation.questions.comments.comments_closed")
|
|
else
|
|
t("comments.comments_closed")
|
|
end
|
|
end
|
|
end
|