forgeplus/app/controllers/project_categories_controll...

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