70 lines
2.5 KiB
Ruby
70 lines
2.5 KiB
Ruby
|
class Admins::ProjectStatisticsController < Admins::BaseController
|
||
|
|
||
|
|
||
|
def index
|
||
|
projects = Project.project_statics_select.all
|
||
|
by_time = params[:time]
|
||
|
project_type = params[:project_type]
|
||
|
is_private = params[:is_private]
|
||
|
project_category_id = params[:project_category_id]
|
||
|
project_language_id = params[:project_language_id]
|
||
|
license_id = params[:license_id]
|
||
|
|
||
|
projects = projects.where(project_type: project_type) if project_type.present?
|
||
|
projects = projects.where(is_private: is_private) if is_private.present?
|
||
|
projects = projects.where(project_category_id: project_category_id) if project_category_id.present?
|
||
|
projects = projects.where(project_language_id: project_language_id) if project_language_id.present?
|
||
|
projects = projects.where(license_id: license_id) if license_id.present?
|
||
|
|
||
|
if by_time.present?
|
||
|
case by_time.to_s
|
||
|
when "week"
|
||
|
projects = projects.group_by_week(:created_on).size
|
||
|
when "month"
|
||
|
projects = projects.group_by_month(:created_on).size
|
||
|
when "quarter"
|
||
|
projects = projects.group_by_month(:created_on).size
|
||
|
when "year"
|
||
|
projects = projects.group_by_year(:created_on).size
|
||
|
else
|
||
|
projects = projects.group_by_day(:created_on).size
|
||
|
end
|
||
|
end
|
||
|
@projects = projects
|
||
|
end
|
||
|
|
||
|
def visits_static
|
||
|
projects = Project.project_statics_select.all
|
||
|
by_time = params[:time]
|
||
|
project_type = params[:project_type]
|
||
|
is_private = params[:is_private]
|
||
|
project_category_id = params[:project_category_id]
|
||
|
project_language_id = params[:project_language_id]
|
||
|
license_id = params[:license_id]
|
||
|
|
||
|
projects = projects.where(project_type: project_type) if project_type.present?
|
||
|
projects = projects.where(is_private: is_private) if is_private.present?
|
||
|
projects = projects.where(project_category_id: project_category_id) if project_category_id.present?
|
||
|
projects = projects.where(project_language_id: project_language_id) if project_language_id.present?
|
||
|
projects = projects.where(license_id: license_id) if license_id.present?
|
||
|
|
||
|
if by_time.present?
|
||
|
case by_time.to_s
|
||
|
when "week"
|
||
|
projects = projects.group_by_week(:created_on).size
|
||
|
when "month"
|
||
|
projects = projects.group_by_month(:created_on).size
|
||
|
when "quarter"
|
||
|
projects = projects.group_by_month(:created_on).size
|
||
|
when "year"
|
||
|
projects = projects.group_by_year(:created_on).size
|
||
|
else
|
||
|
projects = projects.group_by_day(:created_on).size
|
||
|
end
|
||
|
end
|
||
|
@projects = projects
|
||
|
end
|
||
|
|
||
|
|
||
|
|
||
|
end
|