You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
educoder/app/helpers/messages_helper.rb

68 lines
2.8 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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