From e6efa0f48306555965bf1b4cb5491584f7c1111a Mon Sep 17 00:00:00 2001 From: alan <547533434@qq.com> Date: Sat, 6 Dec 2014 16:49:38 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E3=80=8A=E7=82=B9?= =?UTF-8?q?=E5=87=BB=E5=88=86=E7=8F=AD=EF=BC=8C=E6=90=9C=E7=B4=A2=E6=A0=8F?= =?UTF-8?q?=E4=B8=8D=E8=A7=81=E4=BA=86=E3=80=8Bbug=20Signed-off-by:=20alan?= =?UTF-8?q?=20<547533434@qq.com>?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/courses/_member_list.html.erb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/courses/_member_list.html.erb b/app/views/courses/_member_list.html.erb index 1c71d915a..a02ca83e2 100644 --- a/app/views/courses/_member_list.html.erb +++ b/app/views/courses/_member_list.html.erb @@ -5,7 +5,7 @@ <% end %>    <%= l(:label_current_group)%>: <%= @group.name %> <% end %> - <% if @show_serch%> + <% if @subPage_title == l(:label_student_list) %> <%= form_tag( searchmembers_course_path(@course), method: 'get',:class => "f_l",:style => "margin-left: 5px; ",:remote=>true) do %> <%= text_field_tag 'name', params[:name], name: "name", :class => 'f_1', :style => "height:15px"%> <%= submit_tag l(:label_search), :class => "f_2"%> From 5c33c578bb0fe829aaf431d80a650f7b885a96df Mon Sep 17 00:00:00 2001 From: alan <547533434@qq.com> Date: Mon, 8 Dec 2014 16:50:20 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E5=A2=9E=E5=87=8F=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=E3=80=8A=E8=AF=BE=E7=A8=8B=E5=88=86=E7=8F=AD=E6=A8=A1=E5=9D=97?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=BD=93=E5=88=86=E7=8F=AD=E4=B8=AD=E6=B2=A1?= =?UTF-8?q?=E6=9C=89=E5=AD=A6=E7=94=9F=E6=97=B6=EF=BC=8C=E5=8F=AF=E4=BB=A5?= =?UTF-8?q?=E5=88=A0=E9=99=A4=E8=AF=A5=E5=88=86=E7=8F=AD=E3=80=8B=20Signed?= =?UTF-8?q?-off-by:=20alan=20<547533434@qq.com>?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/courses_controller.rb | 10 ++++++++++ app/views/courses/_groups_name.html.erb | 7 +++++++ app/views/courses/deletegroup.js.erb | 1 + config/locales/zh.yml | 1 + config/routes.rb | 3 ++- public/images/pic_del.gif | Bin 0 -> 100 bytes 6 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 app/views/courses/deletegroup.js.erb create mode 100644 public/images/pic_del.gif 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 0000000000000000000000000000000000000000..436fd1f922b59a5d68374e2c9d282d4948220a4f GIT binary patch literal 100 zcmZ?wbhEHb6!EW`}gP1p99%oF$Tq-EQ|~ctPDCJE=Vl{vu4Dq vP1**>l$!R2zp~KUcF2J>)YB*>YEkO-jk1a-dUDS5y1ucAEs+jnVz34P*>NJV literal 0 HcmV?d00001 From d8a568e685525893f5d2ca1edaa00512d9321559 Mon Sep 17 00:00:00 2001 From: alan <547533434@qq.com> Date: Tue, 9 Dec 2014 14:57:10 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E3=80=8A=E5=88=86?= =?UTF-8?q?=E7=8F=AD=E6=90=9C=E7=B4=A2=E5=AD=A6=E7=94=9F=E3=80=8B=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=20Signed-off-by:=20alan=20<547533434@qq.com>?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/courses_controller.rb | 7 ++++++- app/helpers/courses_helper.rb | 12 ++++++++++++ app/views/courses/_member_list.html.erb | 6 +++++- 3 files changed, 23 insertions(+), 2 deletions(-) diff --git a/app/controllers/courses_controller.rb b/app/controllers/courses_controller.rb index 756595e70..788237444 100644 --- a/app/controllers/courses_controller.rb +++ b/app/controllers/courses_controller.rb @@ -205,7 +205,12 @@ class CoursesController < ApplicationController @is_remote = true q = "#{params[:name].strip}" #(redirect_to stores_url, :notice => l(:label_sumbit_empty);return) if params[:name].blank? - @results = searchStudent_by_name(@course, q) + if params[:incourse] + @results = searchStudent_by_name(@course, q) + else + group = CourseGroup.find(params[:search_group_id]) + @results = searchgroupstudent_by_name(group, @course, q) + end @result_count = @results.count @results = paginateHelper @results diff --git a/app/helpers/courses_helper.rb b/app/helpers/courses_helper.rb index 3b7e811f6..bf3810030 100644 --- a/app/helpers/courses_helper.rb +++ b/app/helpers/courses_helper.rb @@ -184,6 +184,18 @@ module CoursesHelper end members end + def searchgroupstudent_by_name(group, project, q) + members = [] + group.members.each do |m| + if m && m.user && m.user.allowed_to?(:as_student,project) + username = m.user[:lastname].to_s + m.user[:firstname].to_s + if(m.user[:login].to_s.include?(name) || m.user.user_extensions[:student_id].to_s.include?(name) || username.include?(name)) + members << m + end + end + end + members + end def searchStudent_by_group group, project #searchPeopleByRoles(project, StudentRoles) members = [] diff --git a/app/views/courses/_member_list.html.erb b/app/views/courses/_member_list.html.erb index a02ca83e2..b77d359d0 100644 --- a/app/views/courses/_member_list.html.erb +++ b/app/views/courses/_member_list.html.erb @@ -8,7 +8,11 @@ <% if @subPage_title == l(:label_student_list) %> <%= form_tag( searchmembers_course_path(@course), method: 'get',:class => "f_l",:style => "margin-left: 5px; ",:remote=>true) do %> <%= text_field_tag 'name', params[:name], name: "name", :class => 'f_1', :style => "height:15px"%> - <%= submit_tag l(:label_search), :class => "f_2"%> + <% if @group %> + <%= hidden_field "#{@group.id}", params[:search_group_id], name: 'search_group_id' %> + <%= submit_tag l(:label_search), :name => "ingroup",:class => "f_2"%> + <% end %> + <%= submit_tag l(:label_search), :name => 'incourse',:class => "f_2"%> <%#= link_to l(:label_search),'' , :class => 'f_2' %> <% end %> <% end %> From 90a01c8d84b615abc1daa43e3e402361659499d1 Mon Sep 17 00:00:00 2001 From: alan <547533434@qq.com> Date: Tue, 9 Dec 2014 15:16:43 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E5=AF=B9=E6=96=B0=E5=A2=9E=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E3=80=8A=E6=B7=BB=E5=8A=A0=E5=AD=A6=E7=94=9F=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E7=8F=AD=E5=86=85=E6=90=9C=E7=B4=A2=E5=92=8C=E8=AF=BE?= =?UTF-8?q?=E5=86=85=E6=90=9C=E7=B4=A2=E3=80=8B=E6=A0=B7=E5=BC=8F=E5=BE=AE?= =?UTF-8?q?=E8=B0=83=20Signed-off-by:=20alan=20<547533434@qq.com>?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/courses_controller.rb | 6 ++-- app/helpers/courses_helper.rb | 2 +- app/views/courses/_groups_name.html.erb | 36 ------------------------ app/views/courses/_member_list.html.erb | 6 ++-- app/views/courses/member.html.erb | 37 +++++++++++++++++++++++++ config/locales/zh.yml | 2 ++ 6 files changed, 46 insertions(+), 43 deletions(-) diff --git a/app/controllers/courses_controller.rb b/app/controllers/courses_controller.rb index 788237444..326ae0f42 100644 --- a/app/controllers/courses_controller.rb +++ b/app/controllers/courses_controller.rb @@ -207,9 +207,9 @@ class CoursesController < ApplicationController #(redirect_to stores_url, :notice => l(:label_sumbit_empty);return) if params[:name].blank? if params[:incourse] @results = searchStudent_by_name(@course, q) - else - group = CourseGroup.find(params[:search_group_id]) - @results = searchgroupstudent_by_name(group, @course, q) + elsif params[:ingroup] + @group = CourseGroup.find(params[:search_group_id]) + @results = searchgroupstudent_by_name(@group, @course, q) end @result_count = @results.count @results = paginateHelper @results diff --git a/app/helpers/courses_helper.rb b/app/helpers/courses_helper.rb index bf3810030..a1199a55a 100644 --- a/app/helpers/courses_helper.rb +++ b/app/helpers/courses_helper.rb @@ -184,7 +184,7 @@ module CoursesHelper end members end - def searchgroupstudent_by_name(group, project, q) + def searchgroupstudent_by_name(group, project, name) members = [] group.members.each do |m| if m && m.user && m.user.allowed_to?(:as_student,project) diff --git a/app/views/courses/_groups_name.html.erb b/app/views/courses/_groups_name.html.erb index 68baa2ccd..ca0fed9c2 100644 --- a/app/views/courses/_groups_name.html.erb +++ b/app/views/courses/_groups_name.html.erb @@ -1,40 +1,4 @@ -