|
|
|
@ -146,8 +146,20 @@ class ProjectsController < ApplicationController
|
|
|
|
|
#
|
|
|
|
|
# end
|
|
|
|
|
# end
|
|
|
|
|
# @projects = Project.where("project_type <> ? or project_type is null", 1)
|
|
|
|
|
# @projects.each do |project|
|
|
|
|
|
# ProjectStatus.create(:changesets_count => project.changesets.count, :project_id => project.id, :watchers_count => project.watcher_users.count)
|
|
|
|
|
# @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
|
|
|
|
@ -175,13 +187,13 @@ class ProjectsController < ApplicationController
|
|
|
|
|
when '1'
|
|
|
|
|
@offset ||= @project_pages.reverse_offset
|
|
|
|
|
unless @offset == 0
|
|
|
|
|
@projects_status = @projects_status.reorder('changesets_count').offset(@offset).limit(@limit).all.reverse
|
|
|
|
|
@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('changesets_count').offset(@offset).limit(limit).all.reverse
|
|
|
|
|
@projects_status = @projects_status.reorder('grade').offset(@offset).limit(limit).all.reverse
|
|
|
|
|
end
|
|
|
|
|
@s_type = 1
|
|
|
|
|
|
|
|
|
@ -202,13 +214,13 @@ class ProjectsController < ApplicationController
|
|
|
|
|
else
|
|
|
|
|
@offset ||= @project_pages.reverse_offset
|
|
|
|
|
unless @offset == 0
|
|
|
|
|
@projects_status = @projects_status.reorder('changesets_count').offset(@offset).limit(@limit).all.reverse
|
|
|
|
|
@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('changesets_count').offset(@offset).limit(limit).all.reverse
|
|
|
|
|
@projects_status = @projects_status.reorder('grade').offset(@offset).limit(limit).all.reverse
|
|
|
|
|
end
|
|
|
|
|
@s_type = 1
|
|
|
|
|
# @projects = @projects.sort {|x,y| y.created_on <=> x.created_on }
|
|
|
|
@ -524,8 +536,9 @@ class ProjectsController < ApplicationController
|
|
|
|
|
r = Role.givable.find_by_id(Setting.new_project_user_role_id.to_i) || Role.givable.first
|
|
|
|
|
m = Member.new(:user => User.current, :roles => [r])
|
|
|
|
|
project = ProjectInfo.new(:user_id => User.current.id, :project_id => @project.id)
|
|
|
|
|
if (params[:project][:is_public] == '1' && @course_tag != "1") || (@course_tag=="1" && params[:project][:is_public] == '1')
|
|
|
|
|
project_status = ProjectStatus.create(:project_id => @project.id, :watchers_count => 0, :changesets_count => 0, :project_type => @course_tag)
|
|
|
|
|
UserGrade.create(:user_id => User.current.id, :project_id => @project.id, :grade => 0)
|
|
|
|
|
if params[:project][:is_public] == '1'
|
|
|
|
|
project_status = ProjectStatus.create(:project_id => @project.id, :watchers_count => 0, :changesets_count => 0, :grade => 0, :project_type => @course_tag)
|
|
|
|
|
end
|
|
|
|
|
@project.members << m
|
|
|
|
|
@project.project_infos << project
|
|
|
|
@ -747,6 +760,20 @@ class ProjectsController < ApplicationController
|
|
|
|
|
if @project.project_type == 1
|
|
|
|
|
render :layout => 'base_courses'
|
|
|
|
|
end
|
|
|
|
|
# roles = Role.find_all_givable
|
|
|
|
|
# members = @project.member_principals.includes(:roles, :principal).all.sort
|
|
|
|
|
#
|
|
|
|
|
# users = UserGrade.find_by_sql("select * from user_grades where project_id = #{@project.id}").sort {|a,b| a[:grade] <=> b[:grade]}
|
|
|
|
|
#
|
|
|
|
|
# temp = []
|
|
|
|
|
# users.each do |user|
|
|
|
|
|
# members.each do |member|
|
|
|
|
|
# if member[:user_id] == user[:user_id]
|
|
|
|
|
# temp << member
|
|
|
|
|
# end
|
|
|
|
|
# end
|
|
|
|
|
# end
|
|
|
|
|
# temps = temp.reverse
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
# def news
|
|
|
|
@ -790,7 +817,7 @@ class ProjectsController < ApplicationController
|
|
|
|
|
project_status = ProjectStatus.find_by_project_id(@project.id)
|
|
|
|
|
project_status.destroy
|
|
|
|
|
elsif params[:project][:is_public] == '1'
|
|
|
|
|
project_status = ProjectStatus.create(:project_id => @project.id, :watchers_count => 0, :changesets_count => 0, :project_type => 1)
|
|
|
|
|
project_status = ProjectStatus.create(:project_id => @project.id, :watchers_count => 0, :changesets_count => 0,:grade => 0, :project_type => 1)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
respond_to do |format|
|
|
|
|
|