Merge branch 'develop' into standalone_develop

This commit is contained in:
2023-04-07 17:22:44 +08:00
16 changed files with 151 additions and 6 deletions

View File

@@ -67,7 +67,7 @@ class Projects::ListMyQuery < ApplicationQuery
keywords = params[:search].to_s.each_char.select { |c| c.bytes.first < 240 }.join('')
q = projects.ransack(name_or_identifier_cont: keywords)
scope = q.result.includes(:project_category, :project_language,:owner, :repository, :has_pinned_users)
scope = q.result.includes(:project_category, :project_language,:owner, :repository, :has_pinned_users, :project_topics)
sort = Project.column_names.include?(params[:sort_by]) ? params[:sort_by] : "updated_on"
sort_direction = %w(desc asc).include?(params[:sort_direction]) ? params[:sort_direction] : "desc"

View File

@@ -3,7 +3,7 @@ class Projects::ListQuery < ApplicationQuery
attr_reader :params, :current_user_id
sort_columns :updated_on, :created_on, :forked_count, :praises_count, default_by: :updated_on, default_direction: :desc
sort_columns :updated_on, :created_on, :forked_count, :praises_count, default_by: :updated_on, default_direction: :desc, default_table: 'projects'
def initialize(params, current_user_id=nil)
@params = params
@@ -32,6 +32,7 @@ class Projects::ListQuery < ApplicationQuery
collection = by_project_type(collection)
collection = by_project_category(collection)
collection = by_project_language(collection)
collection = by_project_topic(collection)
collection
end
@@ -74,6 +75,10 @@ class Projects::ListQuery < ApplicationQuery
(params[:pinned].present? && params[:category_id].present?) ? items.pinned : items
end
def by_project_topic(items)
items.with_project_topic(params[:topic_id])
end
# 优化排序
def optimize_sorting(relations, sort_by)
if sort_by == "updated_on"