26 lines
1.1 KiB
Ruby
26 lines
1.1 KiB
Ruby
class ProjectCategoriesController < ApplicationController
|
|
before_action :re_total_count, only: [:pinned_index]
|
|
def index
|
|
# @project_categories = ProjectCategory.search(params[:name]).without_content
|
|
q = ProjectCategory.ransack(name_cont: params[:name])
|
|
@project_categories = q.result(distinct: true)
|
|
end
|
|
|
|
def pinned_index
|
|
@project_categories = ProjectCategory.where.not(pinned_index: 0).order(pinned_index: :desc)
|
|
end
|
|
|
|
def group_list
|
|
@project_categories = ProjectCategory.select("id, name, projects_count, private_projects_count, (projects_count - private_projects_count) as public_projects_count").having('public_projects_count > 0').order(public_projects_count: :desc)
|
|
# projects = Project.no_anomory_projects.visible
|
|
# @category_group_list = projects.joins(:project_category).group("project_categories.id", "project_categories.name").size
|
|
end
|
|
|
|
def re_total_count
|
|
# 未分类项目与其他放在一起
|
|
other_category = ProjectCategory.find_by(name: "其它")
|
|
other_count = Project.where(project_category_id: [15,nil]).count
|
|
other_category.update(projects_count: other_count)
|
|
end
|
|
end
|