|
|
|
@ -123,118 +123,26 @@ class ProjectsController < ApplicationController
|
|
|
|
|
|
|
|
|
|
def index
|
|
|
|
|
#Modified by nie
|
|
|
|
|
# @offset, @limit = api_offset_and_limit({:limit => 10})
|
|
|
|
|
# @project_count = Project.visible.count
|
|
|
|
|
# @project_pages = Paginator.new @project_count, @limit, params['page']
|
|
|
|
|
# @offset ||= @project_pages.offset
|
|
|
|
|
# @projects = Project.visible.offset(@offset).limit(@limit).order('lft').all
|
|
|
|
|
@project_type = params[:project_type]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@offset, @limit = api_offset_and_limit({:limit => 10})
|
|
|
|
|
@projects_status = ProjectStatus.visible.where("project_statuses.project_type <> ? or project_statuses.project_type is null", 1)
|
|
|
|
|
# @projects_status = ProjectStatus.visible
|
|
|
|
|
# @projects_status.each do |project|
|
|
|
|
|
# if Project.visible.find_by_id("#{project.project_id}")
|
|
|
|
|
# project.project_type = Project.visible.find_by_id("#{project.project_id}").project_type
|
|
|
|
|
# project.save
|
|
|
|
|
# end
|
|
|
|
|
# end
|
|
|
|
|
# @projects.each do |project|
|
|
|
|
|
# @admin = project.users_by_role[Role.find(3)]
|
|
|
|
|
# unless @admin.nil?
|
|
|
|
|
# @admin.each do |user|
|
|
|
|
|
# ProjectInfo.create(:user_id => user.id, :project_id => project.id)
|
|
|
|
|
# end
|
|
|
|
|
#
|
|
|
|
|
# end
|
|
|
|
|
# end
|
|
|
|
|
# @projects = Project.where("project_type <> ? or project_type is null", 1)
|
|
|
|
|
# @projects.each do |project|
|
|
|
|
|
# @id = project.id
|
|
|
|
|
# @users = Member.find_by_sql("SELECT
|
|
|
|
|
# members.user_id
|
|
|
|
|
# FROM members
|
|
|
|
|
# INNER JOIN users
|
|
|
|
|
# ON members.user_id = users.id
|
|
|
|
|
# WHERE members.project_id = #{@id}
|
|
|
|
|
# AND (users.type = 'User' AND users.status = 1);")
|
|
|
|
|
# @users.each do |user|
|
|
|
|
|
# UserGrade.create(:project_id => project.id, :user_id => user.user_id)
|
|
|
|
|
# end
|
|
|
|
|
# #ProjectStatus.create(:changesets_count => project.changesets.count, :project_id => project.id, :watchers_count => project.watcher_users.count)
|
|
|
|
|
# end
|
|
|
|
|
# @projects_status = Project.visible.like(params[:name]) if params[:name].present?
|
|
|
|
|
@project_count = @projects_status.count
|
|
|
|
|
@limit = 10
|
|
|
|
|
@project_count = Project.visible.where("project_type = ?", 0).count
|
|
|
|
|
@project_pages = Paginator.new @project_count, @limit, params['page']
|
|
|
|
|
|
|
|
|
|
@offset ||= @project_pages.reverse_offset
|
|
|
|
|
|
|
|
|
|
# @projects = @projects.offset(@offset).limit(@limit).order('created_on DESC').all
|
|
|
|
|
if params[:project_sort_type].present?
|
|
|
|
|
case params[:project_sort_type]
|
|
|
|
|
when '0'
|
|
|
|
|
@offset ||= @project_pages.reverse_offset
|
|
|
|
|
unless @offset == 0
|
|
|
|
|
@projects_status = @projects_status.joins(:project).reorder("projects.created_on").offset(@offset).limit(@limit).all.reverse
|
|
|
|
|
else
|
|
|
|
|
limit = @project_count % @limit
|
|
|
|
|
if limit == 0
|
|
|
|
|
limit = @limit
|
|
|
|
|
end
|
|
|
|
|
@projects_status = @projects_status.joins(:project).reorder("projects.created_on").offset(@offset).limit(@limit).all.reverse
|
|
|
|
|
end
|
|
|
|
|
@projects = @projects = Project.visible.where("project_type = ?", 0).order("created_on desc").offset(@project_pages.offset).limit(@limit).all
|
|
|
|
|
@s_type = 0
|
|
|
|
|
# @projects = @projects.sort {|x,y| y.created_on <=> x.created_on }
|
|
|
|
|
# @projects = @projects[@offset, @limit]
|
|
|
|
|
when '1'
|
|
|
|
|
@offset ||= @project_pages.reverse_offset
|
|
|
|
|
unless @offset == 0
|
|
|
|
|
@projects_status = @projects_status.reorder('grade').offset(@offset).limit(@limit).all.reverse
|
|
|
|
|
else
|
|
|
|
|
limit = @project_count % @limit
|
|
|
|
|
if limit == 0
|
|
|
|
|
limit = @limit
|
|
|
|
|
end
|
|
|
|
|
@projects_status = @projects_status.reorder('grade').offset(@offset).limit(limit).all.reverse
|
|
|
|
|
end
|
|
|
|
|
@projects = sort_project_demo project_type = 0, order_by="grade desc", @project_pages.offset, @limit
|
|
|
|
|
@s_type = 1
|
|
|
|
|
|
|
|
|
|
#@projects = @projects[@offset, @limit]
|
|
|
|
|
when '2'
|
|
|
|
|
@offset ||= @project_pages.reverse_offset
|
|
|
|
|
unless @offset == 0
|
|
|
|
|
@projects_status = @projects_status.reorder('watchers_count').offset(@offset).limit(@limit).all.reverse
|
|
|
|
|
else
|
|
|
|
|
limit = @project_count % @limit
|
|
|
|
|
if limit == 0
|
|
|
|
|
limit = @limit
|
|
|
|
|
end
|
|
|
|
|
@projects_status = @projects_status.reorder('watchers_count').offset(@offset).limit(limit).all.reverse
|
|
|
|
|
end
|
|
|
|
|
@projects = sort_project_demo project_type = 0, order_by="watchers_count desc", @project_pages.offset, @limit
|
|
|
|
|
@s_type = 2
|
|
|
|
|
end
|
|
|
|
|
else
|
|
|
|
|
@offset ||= @project_pages.reverse_offset
|
|
|
|
|
unless @offset == 0
|
|
|
|
|
@projects_status = @projects_status.reorder('grade').offset(@offset).limit(@limit).all.reverse
|
|
|
|
|
else
|
|
|
|
|
limit = @project_count % @limit
|
|
|
|
|
if limit == 0
|
|
|
|
|
limit = @limit
|
|
|
|
|
end
|
|
|
|
|
@projects_status = @projects_status.reorder('grade').offset(@offset).limit(limit).all.reverse
|
|
|
|
|
end
|
|
|
|
|
@projects = sort_project_demo project_type = 0, order_by="grade desc", @project_pages.offset, @limit
|
|
|
|
|
@s_type = 1
|
|
|
|
|
# @projects = @projects.sort {|x,y| y.created_on <=> x.created_on }
|
|
|
|
|
# @projects = @projects[@offset, @limit]
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
@projects = []
|
|
|
|
|
@projects_status.each do |obj|
|
|
|
|
|
@projects << Project.visible.find_by_id("#{obj.project_id}") unless Project.visible.find_by_id("#{obj.project_id}").nil?
|
|
|
|
|
end
|
|
|
|
|
#end
|
|
|
|
|
respond_to do |format|
|
|
|
|
|
format.html {
|
|
|
|
|
render :layout => 'base'
|
|
|
|
@ -256,99 +164,28 @@ class ProjectsController < ApplicationController
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def course
|
|
|
|
|
#Modified by nie
|
|
|
|
|
# @offset, @limit = api_offset_and_limit({:limit => 10})
|
|
|
|
|
# @project_count = Project.visible.count
|
|
|
|
|
# @project_pages = Paginator.new @project_count, @limit, params['page']
|
|
|
|
|
# @offset ||= @project_pages.offset
|
|
|
|
|
# @projects = Project.visible.offset(@offset).limit(@limit).order('lft').all
|
|
|
|
|
@project_type = params[:project_type]
|
|
|
|
|
|
|
|
|
|
@offset, @limit = api_offset_and_limit({:limit => 10})
|
|
|
|
|
@projects_status = ProjectStatus.visible.where("project_type = ?", 1)
|
|
|
|
|
# @projects.each do |project|
|
|
|
|
|
# @admin = project.users_by_role[Role.find(3)]
|
|
|
|
|
# unless @admin.nil?
|
|
|
|
|
# @admin.each do |user|
|
|
|
|
|
# ProjectInfo.create(:user_id => user.id, :project_id => project.id)
|
|
|
|
|
# end
|
|
|
|
|
#
|
|
|
|
|
# end
|
|
|
|
|
# end
|
|
|
|
|
# @projects.each do |project|
|
|
|
|
|
# ProjectStatus.create(:changesets_count => project.changesets.count, :project_id => project.id, :watchers_count => project.watcher_users.count)
|
|
|
|
|
# end
|
|
|
|
|
#@projects_status = Project.visible.like(params[:name]) if params[:name].present?
|
|
|
|
|
@project_count = @projects_status.count
|
|
|
|
|
@limit = 10;
|
|
|
|
|
@project_count = Project.visible.where("project_type = 1").count
|
|
|
|
|
@project_pages = Paginator.new @project_count, @limit, params['page']
|
|
|
|
|
|
|
|
|
|
@offset ||= @project_pages.reverse_offset
|
|
|
|
|
|
|
|
|
|
#@projects = @projects.offset(@offset).limit(@limit).order('created_on DESC').all
|
|
|
|
|
if params[:project_sort_type].present?
|
|
|
|
|
case params[:project_sort_type]
|
|
|
|
|
when '0'
|
|
|
|
|
@offset ||= @project_pages.reverse_offset
|
|
|
|
|
unless @offset == 0
|
|
|
|
|
@projects_status = @projects_status.offset(@offset).limit(@limit).all.reverse
|
|
|
|
|
else
|
|
|
|
|
limit = @project_count % @limit
|
|
|
|
|
if limit == 0
|
|
|
|
|
limit = @limit
|
|
|
|
|
end
|
|
|
|
|
@projects_status = @projects_status.offset(@offset).limit(limit).all.reverse
|
|
|
|
|
end
|
|
|
|
|
@projects = Project.visible.where("project_type = ?", 1).order("created_on desc").offset(@project_pages.offset).limit(@limit).all
|
|
|
|
|
@s_type = 0
|
|
|
|
|
# @projects = @projects.sort {|x,y| y.created_on <=> x.created_on }
|
|
|
|
|
# @projects = @projects[@offset, @limit]
|
|
|
|
|
when '1'
|
|
|
|
|
@offset ||= @project_pages.reverse_offset
|
|
|
|
|
unless @offset == 0
|
|
|
|
|
@projects_status = @projects_status.reorder('course_ac_para').offset(@offset).limit(@limit).all.reverse
|
|
|
|
|
else
|
|
|
|
|
limit = @project_count % @limit
|
|
|
|
|
if limit == 0
|
|
|
|
|
limit = @limit
|
|
|
|
|
end
|
|
|
|
|
@projects_status = @projects_status.reorder('course_ac_para').offset(@offset).limit(limit).all.reverse
|
|
|
|
|
end
|
|
|
|
|
@projects = sort_project_demo 1, "course_ac_para desc", @project_pages.offset, @limit
|
|
|
|
|
@s_type = 1
|
|
|
|
|
|
|
|
|
|
#@projects = @projects[@offset, @limit]
|
|
|
|
|
when '2'
|
|
|
|
|
@offset ||= @project_pages.reverse_offset
|
|
|
|
|
unless @offset == 0
|
|
|
|
|
@projects_status = @projects_status.reorder('watchers_count').offset(@offset).limit(@limit).all.reverse
|
|
|
|
|
else
|
|
|
|
|
limit = @project_count % @limit
|
|
|
|
|
if limit == 0
|
|
|
|
|
limit = @limit
|
|
|
|
|
end
|
|
|
|
|
@projects_status = @projects_status.reorder('watchers_count').offset(@offset).limit(limit).all.reverse
|
|
|
|
|
end
|
|
|
|
|
@projects = sort_project_demo 1, "watchers_count desc", @project_pages.offset, @limit
|
|
|
|
|
@s_type = 2
|
|
|
|
|
end
|
|
|
|
|
else
|
|
|
|
|
@offset ||= @project_pages.reverse_offset
|
|
|
|
|
unless @offset == 0
|
|
|
|
|
@projects_status = @projects_status.offset(@offset).limit(@limit).all.reverse
|
|
|
|
|
else
|
|
|
|
|
limit = @project_count % @limit
|
|
|
|
|
if limit == 0
|
|
|
|
|
limit = @limit
|
|
|
|
|
end
|
|
|
|
|
@projects_status = @projects_status.offset(@offset).limit(limit).all.reverse
|
|
|
|
|
end
|
|
|
|
|
@s_type = 0
|
|
|
|
|
# @projects = @projects.sort {|x,y| y.created_on <=> x.created_on }
|
|
|
|
|
# @projects = @projects[@offset, @limit]
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
@projects = []
|
|
|
|
|
@projects_status.each do |obj|
|
|
|
|
|
@projects << Project.visible.find_by_id("#{obj.project_id}") unless Project.visible.find_by_id("#{obj.project_id}").nil?
|
|
|
|
|
logger.debug("-------------------------------------------------")
|
|
|
|
|
@projects = Project.visible.where("project_type = ?", 1).order("created_on desc").offset(@project_pages.offset).limit(@limit).all
|
|
|
|
|
logger.debug("-------------------------------------------------")
|
|
|
|
|
@s_type = 0
|
|
|
|
|
end
|
|
|
|
|
#end
|
|
|
|
|
respond_to do |format|
|
|
|
|
|
format.html {
|
|
|
|
|
render :layout => 'base'
|
|
|
|
@ -369,6 +206,15 @@ class ProjectsController < ApplicationController
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def sort_project_demo project_type, order_by, offset, limit
|
|
|
|
|
#Project.visible.joins(:project_status).where("#{Project.table_name}.project_type = ?", project_type).order(order_by).offset(offset).limit(limit).all
|
|
|
|
|
Project.visible.find_by_sql("
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM projects AS p RIGHT OUTER JOIN (
|
|
|
|
|
SELECT project_id,grade FROM project_statuses
|
|
|
|
|
WHERE project_type = #{project_type} ORDER BY #{order_by} LIMIT #{limit} OFFSET #{offset}) AS t ON p.id = t.project_id ")
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def search
|
|
|
|
|
#modified by nie
|
|
|
|
|
@projects = Project.visible
|
|
|
|
|