diff --git a/app/controllers/courses_controller.rb b/app/controllers/courses_controller.rb
index a14ade71a..756595e70 100644
--- a/app/controllers/courses_controller.rb
+++ b/app/controllers/courses_controller.rb
@@ -226,6 +226,16 @@ class CoursesController < ApplicationController
@course_groups = @course.course_groups
end
+ def deletegroup
+ CourseGroup.delete(params[:group_id])
+ @subPage_title = l :label_student_list
+ @canShowCode = isCourseTeacher(User.current.id,@course) && params[:role] != '1'
+ @is_remote = true
+ @members = searchStudent(@course)
+ @membercount = @members.count
+ @course_groups = @course.course_groups
+ end
+
def updategroupname
@subPage_title = l :label_student_list
if params[:group_name]
diff --git a/app/views/courses/_groups_name.html.erb b/app/views/courses/_groups_name.html.erb
index 096e84372..68baa2ccd 100644
--- a/app/views/courses/_groups_name.html.erb
+++ b/app/views/courses/_groups_name.html.erb
@@ -48,6 +48,13 @@
<%= link_to group_display, searchgroupmembers_course_path(@course,:group_id => group.id), method: 'get', remote: true,
:onclick => "checkclass('group_name_#{group.id}')",:style => " border:0px; color: #0d90c3; float:left;"%>
+ <% if @canShowCode && group.members.count == 0 %>
+ <%= link_to '', deletegroup_course_path(:group_id => group.id), :method => 'delete', :remote => true,
+ :data => {confirm: l(:label_delete_group)},
+ :class => 'f_1',
+ :style => "width: 16px;height: 21px;margin-top:3px;margin-left:5px;background: url(/images/pic_del.gif) no-repeat 0 0;"
+ %>
+ <% end %>
<% if @canShowCode %>
<% end %>
diff --git a/app/views/courses/deletegroup.js.erb b/app/views/courses/deletegroup.js.erb
new file mode 100644
index 000000000..a6f6933b9
--- /dev/null
+++ b/app/views/courses/deletegroup.js.erb
@@ -0,0 +1 @@
+$("#st_groups").html("<%= escape_javascript( render :partial => 'groups_name', locals: {:course_groups => @course_groups})%>");
\ No newline at end of file
diff --git a/config/locales/zh.yml b/config/locales/zh.yml
index c0bc4df73..f7ff4374a 100644
--- a/config/locales/zh.yml
+++ b/config/locales/zh.yml
@@ -572,6 +572,7 @@ zh:
label_member: 成员
label_search_member_count: 共搜索到
label_member_people: 人
+ label_delete_group: 确定删除分班?
label_current_group: 当前分班
label_limit_groupname: 组别名不能超出20字符
label_limit_groupname_null: 组别名不能为空
diff --git a/config/routes.rb b/config/routes.rb
index 835e6be6e..45f3071b3 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -646,7 +646,8 @@ RedmineApp::Application.routes.draw do
match "searchmembers", :controller => 'courses', :action => 'searchmembers', :via => [:post,:get]
match "searchgroupmembers", :via => [:post, :get]
match "updategroupname", :via => [:post, :get]
- match "addgroups", :via => [:post, :get]
+ match "addgroups", :via => [:post, :get]
+ match 'deletegroup', :via => [:delete]
post 'join_in/join_group', :to => 'courses#join_group', :as => 'join_group'
delete 'join_in/join_group', :to => 'courses#unjoin_group'
end
diff --git a/public/images/pic_del.gif b/public/images/pic_del.gif
new file mode 100644
index 000000000..436fd1f92
Binary files /dev/null and b/public/images/pic_del.gif differ