forgeplus/app/helpers/messages_helper.rb

68 lines
2.8 KiB
Ruby
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

module MessagesHelper
def by_user_liked?(obj, user)
obj.praise_treads.user_liker(user).present?
end
# 置顶降序排序(置顶排最前面)
def sort_by_sticky(messages)
messages = messages.sort_by {|message| -message.sticky } if messages.map(&:sticky).include?(1)
return messages
end
# 根据回复数(包含二级回复)排序
def sort_by_all_replies(sort, sort_type, arr)
return arr unless sort_type == "hot"
logger.info("####====> order by replies")
arr.each do |message|
message.total_replies_count = message.replies_count + message.children.sum(:replies_count)
end
return arr.sort_by { |msg| sort == 1 ? msg.total_replies_count : -msg.total_replies_count }
end
def validate_delete_params
return normal_status(403, "") unless current_user.teacher_of_course?(@board.course)
return normal_status(2, "缺少ids参数") if params[:ids].blank?
return normal_status(2, "参数ids格式不对") unless params[:ids].is_a? Array
end
def validate_move_params
return normal_status(2, "参数ids不能为空") if params[:ids].blank?
return normal_status(2, "参数ids格式错误") unless params[:ids].is_a? Array
return normal_status(2, "参数to_board_id不能为空") if params[:to_board_id].blank?
end
def message_validate_create_params
msg = if params[:select_board_id].blank?
"目录id不能为空"
elsif params[:subject].blank?
"帖子标题不能为空!"
elsif params[:content].blank?
"帖子内容不能为空!"
elsif params.has_key?(:attachment_ids) && !params[:attachment_ids].is_a?(Array)
"参数attachment_ids格式错误"
else
nil
end
normal_status(2, msg) unless msg.nil?
end
def validate_update_params
normal_status(2, "目录id不能为空") if params.has_key?(:select_board_id) && params[:select_board_id].blank?
normal_status(2, "帖子标题不能为空!") if params.has_key?(:subject) && params[:subject].blank?
normal_status(2, "帖子内容不能为空!") if params.has_key?(:content) && params[:content].blank?
end
def validate_send_message_to_course_params
return normal_status(2, "ids参数不能为空") if params[:ids].blank?
return normal_status(2, "参数ids格式不对") unless params[:ids].is_a? Array
return normal_status(2, "to_course_ids参数不能为空") if params[:to_course_ids].blank?
return normal_status(2, "参数to_course_ids格式不对") unless params[:to_course_ids].is_a? Array
end
def validate_page_size
return if !params.has_key?(:page_size)
return normal_status(0, "每页请求的数量只能为5-50") if params[:page_size].to_i < 5 || params[:page_size].to_i > 50
end
end