parent
66f93150f6
commit
c9b84d0a35
|
@ -78,21 +78,9 @@ class CoursesController < ApplicationController
|
||||||
format.js { render :partial => 'set_join', :locals => {:user => User.current, :course => Course.find(params[:object_id]), :object_id => params[:object_id]} }
|
format.js { render :partial => 'set_join', :locals => {:user => User.current, :course => Course.find(params[:object_id]), :object_id => params[:object_id]} }
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
def join_group
|
|
||||||
group = CourseGroup.find(params[:object_id])
|
|
||||||
member = Member.find(:conditions => {:course_id => @course.id, :user_id => User.current.id}).first
|
|
||||||
member.course_group_id = group.id
|
|
||||||
member.save
|
|
||||||
end
|
|
||||||
def unjoin_group
|
|
||||||
member = Member.find(:conditions => {:course_group_id => params[object_id], :user_id => User.current.id}).first
|
|
||||||
member.course_group_id = 0
|
|
||||||
member.save
|
|
||||||
end
|
|
||||||
|
|
||||||
def new_join_group
|
|
||||||
|
|
||||||
end
|
|
||||||
def join_private_courses
|
def join_private_courses
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
format.js
|
format.js
|
||||||
|
@ -239,20 +227,43 @@ class CoursesController < ApplicationController
|
||||||
end
|
end
|
||||||
@course_groups = @course.course_groups
|
@course_groups = @course.course_groups
|
||||||
end
|
end
|
||||||
|
def join_group
|
||||||
|
group = CourseGroup.find(params[:object_id])
|
||||||
|
member = Member.where(:course_id => @course.id, :user_id => User.current.id).first
|
||||||
|
member.course_group_id = group.id
|
||||||
|
member.save
|
||||||
|
@group = group
|
||||||
|
search_group_members group
|
||||||
|
end
|
||||||
|
def unjoin_group
|
||||||
|
group = CourseGroup.find(params[:object_id])
|
||||||
|
member = Member.where(:course_id => @course.id, :user_id => User.current.id).first
|
||||||
|
member.course_group_id = 0
|
||||||
|
member.save
|
||||||
|
@group = group
|
||||||
|
search_group_members group
|
||||||
|
end
|
||||||
def searchgroupmembers
|
def searchgroupmembers
|
||||||
@render_file = 'member_list'
|
@render_file = 'member_list'
|
||||||
@canShowCode = isCourseTeacher(User.current.id,@course) && params[:role] != '1'
|
@canShowCode = isCourseTeacher(User.current.id,@course) && params[:role] != '1'
|
||||||
@is_remote = true
|
@is_remote = true
|
||||||
if params[:group_id] && params[:group_id] != "0"
|
if params[:group_id] && params[:group_id] != "0"
|
||||||
@group = CourseGroup.find(params[:group_id])
|
@group = CourseGroup.find(params[:group_id])
|
||||||
@results = searchStudent_by_group(@group)
|
@results = searchStudent_by_group(@group, @course)
|
||||||
else
|
else
|
||||||
@results = searchStudent(@course)
|
@results = searchStudent(@course)
|
||||||
end
|
end
|
||||||
|
|
||||||
@results = paginateHelper @results
|
@results = paginateHelper @results
|
||||||
end
|
end
|
||||||
|
def search_group_members group
|
||||||
|
@render_file = 'member_list'
|
||||||
|
@canShowCode = isCourseTeacher(User.current.id,@course) && params[:role] != '1'
|
||||||
|
@is_remote = true
|
||||||
|
|
||||||
|
@results = searchStudent_by_group(group, @course)
|
||||||
|
@results = paginateHelper @results
|
||||||
|
end
|
||||||
def member
|
def member
|
||||||
## 有角色参数的才是课程,没有的就是项目
|
## 有角色参数的才是课程,没有的就是项目
|
||||||
@render_file = 'member_list'
|
@render_file = 'member_list'
|
||||||
|
|
|
@ -199,7 +199,7 @@ module CoursesHelper
|
||||||
end
|
end
|
||||||
members
|
members
|
||||||
end
|
end
|
||||||
def searchStudent_by_group group
|
def searchStudent_by_group group, project
|
||||||
#searchPeopleByRoles(project, StudentRoles)
|
#searchPeopleByRoles(project, StudentRoles)
|
||||||
members = []
|
members = []
|
||||||
group.members.each do |m|
|
group.members.each do |m|
|
||||||
|
|
|
@ -113,21 +113,27 @@ module WatchersHelper
|
||||||
|
|
||||||
@isjoin = false
|
@isjoin = false
|
||||||
coursegroups.each do |g|
|
coursegroups.each do |g|
|
||||||
@isjoin = user.member_of_course_group?(g)
|
g.members.each do |mem|
|
||||||
|
if mem.user_id == user.id
|
||||||
|
@isjoin = true
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
url_t = join_group_path(:object_id => group.id)
|
url_t = join_group_path(:object_id => group.id)
|
||||||
url_f = try_join_group_path(:object_id => group.id)
|
url_f = join_group_path(:object_id => group.id)
|
||||||
if @isjoin == true
|
if @isjoin == true
|
||||||
joined = user.member_of_course_group?(group)
|
joined = user.member_of_course_group?(group)
|
||||||
text = l(:label_exit_course)
|
text = l(:label_exit_course)
|
||||||
|
|
||||||
if joined
|
if joined
|
||||||
link_to text, url_t, :remote => true, :method => 'delete', :id => "#{group.id}", :confirm => l(:text_are_you_sure_out), :class => []+options
|
link_to text, {:controller => "courses", :action => "join_group", :object_id => "#{group.id}"}, :remote => true, :method => 'delete', :id => "#{group.id}", :confirm => l(:text_are_you_sure_out_group), :class => []+options
|
||||||
|
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
text = l(:label_new_join)
|
text = l(:label_new_join)
|
||||||
link_to text, url_f, :remote => true, :method => 'post', :id => "#{group.id}", :class => []+options
|
form_tag({:controller => "courses", :action => "join_group", :object_id => "#{group.id}"}, :remote => true, :method => 'post') do
|
||||||
|
submit_tag text, class: "submit f_l", style: "width: 43px;height: 21px;"
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -146,7 +152,8 @@ module WatchersHelper
|
||||||
if joined
|
if joined
|
||||||
link_to text, url_t, :remote => true, :method => method, :id => "#{course.id}", :confirm => l(:text_are_you_sure_out), :class => []+options
|
link_to text, url_t, :remote => true, :method => method, :id => "#{course.id}", :confirm => l(:text_are_you_sure_out), :class => []+options
|
||||||
else
|
else
|
||||||
link_to text, url_f, :remote => true, :method => method, :id => "#{course.id}", :class => []+options
|
|
||||||
|
link_to text, url_f, :remote => true, :method => method, :id => "#{course.id}", :class => []+options
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
class CourseGroup < ActiveRecord::Base
|
class CourseGroup < ActiveRecord::Base
|
||||||
# attr_accessible :title, :body
|
# attr_accessible :title, :body
|
||||||
belongs_to :course
|
belongs_to :course
|
||||||
has_many :members, :include => [:principal, :roles], :conditions => "#{Principal.table_name}.type='User' AND #{Principal.table_name}.status=#{Principal::STATUS_ACTIVE}"
|
has_many :members
|
||||||
has_many :memberships, :class_name => 'Member'
|
has_many :memberships, :class_name => 'Member'
|
||||||
has_many :member_principals, :class_name => 'Member',
|
has_many :member_principals, :class_name => 'Member',
|
||||||
:include => :principal,
|
:include => :principal,
|
||||||
|
|
|
@ -26,7 +26,7 @@ class Principal < ActiveRecord::Base
|
||||||
|
|
||||||
has_many :members, :foreign_key => 'user_id', :dependent => :destroy
|
has_many :members, :foreign_key => 'user_id', :dependent => :destroy
|
||||||
has_many :memberships, :class_name => 'Member', :foreign_key => 'user_id', :include => [ :project, :roles ], :conditions => "#{Project.table_name}.status<>#{Project::STATUS_ARCHIVED}", :order => "#{Project.table_name}.name"
|
has_many :memberships, :class_name => 'Member', :foreign_key => 'user_id', :include => [ :project, :roles ], :conditions => "#{Project.table_name}.status<>#{Project::STATUS_ARCHIVED}", :order => "#{Project.table_name}.name"
|
||||||
has_many :coursememberships, :class_name => 'Member', :foreign_key => 'user_id', :include => [ :course, :roles ], :conditions => "#{Course.table_name}.status<>#{Course::STATUS_ARCHIVED}", :order => "#{Course.table_name}.name"
|
has_many :coursememberships, :class_name => 'Member', :foreign_key => 'user_id', :include => [ :course, :roles ], :order => "#{Course.table_name}.name"
|
||||||
has_many :projects, :through => :memberships
|
has_many :projects, :through => :memberships
|
||||||
#add by nwb
|
#add by nwb
|
||||||
has_many :courses, :through => :coursememberships
|
has_many :courses, :through => :coursememberships
|
||||||
|
|
|
@ -51,9 +51,6 @@
|
||||||
</span>
|
</span>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<div class="cl"></div>
|
|
||||||
<span class="f_l"><%= @group %><%= @subPage_title %></span>
|
|
||||||
<% if !@canShowCode %>
|
|
||||||
<%= join_in_course_group(@course.course_groups,@group, User.current) %>
|
|
||||||
<% end %>
|
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,12 @@
|
||||||
|
<div style="font-size: 18px">
|
||||||
|
<% if @group %>
|
||||||
|
<% if !@canShowCode %>
|
||||||
|
<%= join_in_course_group(@course.course_groups,@group, User.current) %>
|
||||||
|
<% end %>
|
||||||
|
<span ><%= @group.name %><%= @subPage_title %></span>
|
||||||
|
|
||||||
|
<% end %>
|
||||||
|
</div>
|
||||||
|
|
||||||
<% if members.any? %>
|
<% if members.any? %>
|
||||||
<% members.each do |member| %>
|
<% members.each do |member| %>
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
|
||||||
|
$("#member_content").html("<%= escape_javascript( render :partial => @render_file, :locals => {:members => @results})%>");
|
|
@ -0,0 +1,2 @@
|
||||||
|
|
||||||
|
$("#member_content").html("<%= escape_javascript( render :partial => @render_file, :locals => {:members => @results})%>");
|
|
@ -647,6 +647,8 @@ RedmineApp::Application.routes.draw do
|
||||||
match "searchgroupmembers", :via => [:post, :get]
|
match "searchgroupmembers", :via => [:post, :get]
|
||||||
match "updategroupname", :via => [:post, :get]
|
match "updategroupname", :via => [:post, :get]
|
||||||
match "addgroups", :via => [:post, :get]
|
match "addgroups", :via => [:post, :get]
|
||||||
|
post 'join_in/join_group', :to => 'courses#join_group', :as => 'join_group'
|
||||||
|
delete 'join_in/join_group', :to => 'courses#unjoin_group'
|
||||||
end
|
end
|
||||||
collection do
|
collection do
|
||||||
match 'join_private_courses', :via => [:get, :post]
|
match 'join_private_courses', :via => [:get, :post]
|
||||||
|
|
Loading…
Reference in New Issue