|
|
|
@ -16,74 +16,77 @@
|
|
|
|
|
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
|
|
|
|
|
|
|
|
class WelcomeController < ApplicationController
|
|
|
|
|
# layout "base_welcome"
|
|
|
|
|
include ApplicationHelper
|
|
|
|
|
include WelcomeHelper
|
|
|
|
|
helper :project_score
|
|
|
|
|
caches_action :robots
|
|
|
|
|
caches_action :robots, :course, :contest, expires_in: 2.hours, layout: false
|
|
|
|
|
#before_filter :find_first_page, :only => [:index]
|
|
|
|
|
# before_filter :fake, :only => [:index, :course]
|
|
|
|
|
before_filter :entry_select, :only => [:index]
|
|
|
|
|
|
|
|
|
|
def index
|
|
|
|
|
# 企业版定制: params[:project]为传过来的参数
|
|
|
|
|
unless params[:organization].nil?
|
|
|
|
|
@organization = Organization.find params[:organization]
|
|
|
|
|
# @organization_projects = Project.joins(:project_status).joins("LEFT JOIN project_scores ON projects.id = project_scores.project_id").where("projects.organization_id = ?", @organization.id).order("score DESC").limit(10).all
|
|
|
|
|
@organization_projects = @organization.projects.visible.joins("LEFT JOIN project_scores ON projects.id = project_scores.project_id").order("project_scores.score DESC").limit(10).all
|
|
|
|
|
@part_projects = @organization_projects.count < 9 ? find_miracle_project( 9 - @organization_projects.count, 3,"score desc") : []
|
|
|
|
|
# @cur_projects = Project.find(params[:organization])
|
|
|
|
|
# @organization = @cur_projects.enterprise_name
|
|
|
|
|
# @organization_projects = (current_user.admin? || User.current.member_of?(@cur_projects)) ? Project.where("enterprise_name =? ", @organization) : Project.all_public.where("enterprise_name =? ", @organization)
|
|
|
|
|
# @e_count = @organization_projects.count
|
|
|
|
|
# @part_projects = []
|
|
|
|
|
# # 取十个
|
|
|
|
|
# @organization_projects.each do |obj|
|
|
|
|
|
# break if(@organization_projects[10] == obj)
|
|
|
|
|
# @part_projects << Project.visible.find_by_id("#{obj.id}") unless obj.id.nil?
|
|
|
|
|
# end
|
|
|
|
|
# # 不够十个的用最火项目替代
|
|
|
|
|
# @e_count < 9 ? @part_projects = find_miracle_project( 9 - @e_count, 3,"score desc") : @part_projects
|
|
|
|
|
# # 配置文件首页定制
|
|
|
|
|
@enterprise_page = FirstPage.find_by_page_type('enterprise')
|
|
|
|
|
if @enterprise_page.nil?
|
|
|
|
|
@enterprise_page = FirstPage.new
|
|
|
|
|
@enterprise_page.page_type = 'enterprise'
|
|
|
|
|
|
|
|
|
|
unless params[:organization].nil?
|
|
|
|
|
@organization = Organization.find params[:organization]
|
|
|
|
|
# @organization_projects = Project.joins(:project_status).joins("LEFT JOIN project_scores ON projects.id = project_scores.project_id").where("projects.organization_id = ?", @organization.id).order("score DESC").limit(10).all
|
|
|
|
|
@organization_projects = @organization.projects.visible.joins("LEFT JOIN project_scores ON projects.id = project_scores.project_id").order("project_scores.score DESC").limit(10).all
|
|
|
|
|
@part_projects = @organization_projects.count < 9 ? find_miracle_project( 9 - @organization_projects.count, 3,"score desc") : []
|
|
|
|
|
# @cur_projects = Project.find(params[:organization])
|
|
|
|
|
# @organization = @cur_projects.enterprise_name
|
|
|
|
|
# @organization_projects = (current_user.admin? || User.current.member_of?(@cur_projects)) ? Project.where("enterprise_name =? ", @organization) : Project.all_public.where("enterprise_name =? ", @organization)
|
|
|
|
|
# @e_count = @organization_projects.count
|
|
|
|
|
# @part_projects = []
|
|
|
|
|
# # 取十个
|
|
|
|
|
# @organization_projects.each do |obj|
|
|
|
|
|
# break if(@organization_projects[10] == obj)
|
|
|
|
|
# @part_projects << Project.visible.find_by_id("#{obj.id}") unless obj.id.nil?
|
|
|
|
|
# end
|
|
|
|
|
# # 不够十个的用最火项目替代
|
|
|
|
|
# @e_count < 9 ? @part_projects = find_miracle_project( 9 - @e_count, 3,"score desc") : @part_projects
|
|
|
|
|
# # 配置文件首页定制
|
|
|
|
|
@enterprise_page = FirstPage.find_by_page_type('enterprise')
|
|
|
|
|
if @enterprise_page.nil?
|
|
|
|
|
@enterprise_page = FirstPage.new
|
|
|
|
|
@enterprise_page.page_type = 'enterprise'
|
|
|
|
|
end
|
|
|
|
|
# 主页配置部分结束
|
|
|
|
|
end
|
|
|
|
|
# 主页配置部分结束
|
|
|
|
|
end
|
|
|
|
|
# end 企业版定制结束
|
|
|
|
|
# end 企业版定制结束
|
|
|
|
|
|
|
|
|
|
if @first_page.nil? || @first_page.sort_type.nil?
|
|
|
|
|
@projects = find_miracle_project(10, 3,"score desc")
|
|
|
|
|
else
|
|
|
|
|
case @first_page.sort_type
|
|
|
|
|
when 0
|
|
|
|
|
@my_projects = find_my_projects
|
|
|
|
|
@other_projects = @my_projects.count < 9 ? find_miracle_project( 9 - @my_projects.count, 3,"score desc") : []
|
|
|
|
|
@projects = find_miracle_project(10, 3,"created_on desc")
|
|
|
|
|
#@projects = @projects_all.order("created_on desc")
|
|
|
|
|
when 1
|
|
|
|
|
@my_projects = find_my_projects
|
|
|
|
|
@other_projects = @my_projects.count < 9 ? find_miracle_project( 9 - @my_projects.count, 3,"score desc") : []
|
|
|
|
|
@projects = find_miracle_project(10, 3,"score desc")
|
|
|
|
|
#@projects = @projects_all.order("grade desc")
|
|
|
|
|
when 2
|
|
|
|
|
@my_projects = find_my_projects
|
|
|
|
|
@other_projects = @my_projects.count < 9 ? find_miracle_project( 9 - @my_projects.count, 3,"score desc") : []
|
|
|
|
|
@projects = find_miracle_project(10, 3,"watchers_count desc")
|
|
|
|
|
#@projects = @projects_all.order("watchers_count desc")
|
|
|
|
|
if @first_page.nil? || @first_page.sort_type.nil?
|
|
|
|
|
@projects = find_miracle_project(10, 3,"score desc")
|
|
|
|
|
else
|
|
|
|
|
case @first_page.sort_type
|
|
|
|
|
when 0
|
|
|
|
|
@my_projects = find_my_projects
|
|
|
|
|
@other_projects = @my_projects.count < 9 ? find_miracle_project( 9 - @my_projects.count, 3,"score desc") : []
|
|
|
|
|
@projects = find_miracle_project(10, 3,"created_on desc")
|
|
|
|
|
#@projects = @projects_all.order("created_on desc")
|
|
|
|
|
when 1
|
|
|
|
|
@my_projects = find_my_projects
|
|
|
|
|
@other_projects = @my_projects.count < 9 ? find_miracle_project( 9 - @my_projects.count, 3,"score desc") : []
|
|
|
|
|
@projects = find_miracle_project(10, 3,"score desc")
|
|
|
|
|
#@projects = @projects_all.order("grade desc")
|
|
|
|
|
when 2
|
|
|
|
|
@my_projects = find_my_projects
|
|
|
|
|
@other_projects = @my_projects.count < 9 ? find_miracle_project( 9 - @my_projects.count, 3,"score desc") : []
|
|
|
|
|
@projects = find_miracle_project(10, 3,"watchers_count desc")
|
|
|
|
|
#@projects = @projects_all.order("watchers_count desc")
|
|
|
|
|
|
|
|
|
|
#gcm
|
|
|
|
|
#when '3'
|
|
|
|
|
#@projects=desc_sort_course_by_avtivity(@project_activity_count_array,@project_all_array)
|
|
|
|
|
# @projects=handle_project @projects_all,@project_activity_count
|
|
|
|
|
# @s_type = 3
|
|
|
|
|
# @projects = @projects[@project_pages.offset, @project_pages.per_page]
|
|
|
|
|
#gcm
|
|
|
|
|
#when '3'
|
|
|
|
|
#@projects=desc_sort_course_by_avtivity(@project_activity_count_array,@project_all_array)
|
|
|
|
|
# @projects=handle_project @projects_all,@project_activity_count
|
|
|
|
|
# @s_type = 3
|
|
|
|
|
# @projects = @projects[@project_pages.offset, @project_pages.per_page]
|
|
|
|
|
|
|
|
|
|
else
|
|
|
|
|
@projects = @projects_all.order("score desc")
|
|
|
|
|
else
|
|
|
|
|
@projects = @projects_all.order("score desc")
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
rescue Exception => e
|
|
|
|
|
render_404
|
|
|
|
|
end
|
|
|
|
|