优化students_for_courses表相关逻辑
This commit is contained in:
parent
a4d06fbb12
commit
046142f437
|
@ -1,3 +1,4 @@
|
||||||
|
# -*coding:utf-8 -*-
|
||||||
# Redmine - project management software
|
# Redmine - project management software
|
||||||
# Copyright (C) 2006-2013 Jean-Philippe Lang
|
# Copyright (C) 2006-2013 Jean-Philippe Lang
|
||||||
#
|
#
|
||||||
|
@ -14,6 +15,7 @@
|
||||||
# You should have received a copy of the GNU General Public License
|
# You should have received a copy of the GNU General Public License
|
||||||
# along with this program; if not, write to the Free Software
|
# along with this program; if not, write to the Free Software
|
||||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
|
|
||||||
class MembersController < ApplicationController
|
class MembersController < ApplicationController
|
||||||
model_object Member
|
model_object Member
|
||||||
before_filter :find_model_object, :except => [:index, :create, :autocomplete]
|
before_filter :find_model_object, :except => [:index, :create, :autocomplete]
|
||||||
|
@ -124,7 +126,13 @@ class MembersController < ApplicationController
|
||||||
attrs = params[:membership].dup
|
attrs = params[:membership].dup
|
||||||
user_ids = attrs.delete(:user_ids)
|
user_ids = attrs.delete(:user_ids)
|
||||||
user_ids.each do |user_id|
|
user_ids.each do |user_id|
|
||||||
members << Member.new(:role_ids => params[:membership][:role_ids], :user_id => user_id)
|
member = Member.new(:role_ids => params[:membership][:role_ids], :user_id => user_id)
|
||||||
|
role = Role.find_by_id(params[:membership][:role_ids])
|
||||||
|
# 这里的判断只能通过角色名,可以弄成常量
|
||||||
|
if role.name == "学生"
|
||||||
|
StudentsForCourse.create(:student_id => user_id, :course_id =>@course.id)
|
||||||
|
end
|
||||||
|
members << member
|
||||||
#user_grades << UserGrade.new(:user_id => user_id, :course_id => @course.id)
|
#user_grades << UserGrade.new(:user_id => user_id, :course_id => @course.id)
|
||||||
if (params[:membership][:role_ids])
|
if (params[:membership][:role_ids])
|
||||||
role = Role.find(params[:membership][:role_ids][0])
|
role = Role.find(params[:membership][:role_ids][0])
|
||||||
|
@ -201,6 +209,15 @@ class MembersController < ApplicationController
|
||||||
|
|
||||||
if (params[:membership][:role_ids])
|
if (params[:membership][:role_ids])
|
||||||
role = Role.find(params[:membership][:role_ids][0])
|
role = Role.find(params[:membership][:role_ids][0])
|
||||||
|
# 这里的判断只能通过角色名,可以弄成常量
|
||||||
|
if role.name == "学生"
|
||||||
|
StudentsForCourse.create(:student_id => @member.user_id, :course_id =>@course.id)
|
||||||
|
else
|
||||||
|
joined = StudentsForCourse.where('student_id = ? and course_id = ?', @member.user_id,@course.id)
|
||||||
|
joined.each do |join|
|
||||||
|
join.delete
|
||||||
|
end
|
||||||
|
end
|
||||||
if role.allowed_to?(:is_manager)
|
if role.allowed_to?(:is_manager)
|
||||||
@courseInfo = CourseInfos.new(:user_id => @member.user_id, :course_id => @course.id)
|
@courseInfo = CourseInfos.new(:user_id => @member.user_id, :course_id => @course.id)
|
||||||
@courseInfo.save
|
@courseInfo.save
|
||||||
|
@ -271,6 +288,11 @@ class MembersController < ApplicationController
|
||||||
user.destroy
|
user.destroy
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
joined = StudentsForCourse.where('student_id = ? and course_id = ?', @member.user_id,@course.id)
|
||||||
|
joined.each do |join|
|
||||||
|
join.delete
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
format.html { redirect_to_settings_in_courses }
|
format.html { redirect_to_settings_in_courses }
|
||||||
|
|
Loading…
Reference in New Issue