From 615bc7d444d773721855a05392b4669d6239c913 Mon Sep 17 00:00:00 2001 From: alan <547533434@qq.com> Date: Wed, 3 Dec 2014 19:17:10 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=AF=BE=E7=A8=8B=E5=88=86?= =?UTF-8?q?=E7=BB=84=E7=9A=84=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: alan <547533434@qq.com> --- app/controllers/courses_controller.rb | 23 +++++++++++ app/helpers/courses_helper.rb | 13 ++++++ app/views/courses/_groups_name.html.erb | 51 ++++++++++++++++++++++++ app/views/courses/_member_list.html.erb | 1 + app/views/courses/member.html.erb | 18 +++++++-- app/views/courses/searchmembers.js | 4 ++ config/routes.rb | 2 + public/images/btn1.png | Bin 0 -> 769 bytes public/stylesheets/course_group.css | 25 +++++++++--- 9 files changed, 129 insertions(+), 8 deletions(-) create mode 100644 app/views/courses/_groups_name.html.erb create mode 100644 app/views/courses/searchmembers.js create mode 100644 public/images/btn1.png diff --git a/app/controllers/courses_controller.rb b/app/controllers/courses_controller.rb index 78f75f31a..12b733669 100644 --- a/app/controllers/courses_controller.rb +++ b/app/controllers/courses_controller.rb @@ -196,12 +196,35 @@ class CoursesController < ApplicationController end end + def searchmembers + @render_file = 'member_list' + + @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) + @results = paginateHelper @results + + end + + def addgroups + + end + + def updategroupname + + end + + def searchgroupmembers + + end def member ## 有角色参数的才是课程,没有的就是项目 @render_file = 'member_list' @teachers= searchTeacherAndAssistant(@course) @canShowCode = isCourseTeacher(User.current.id,@course) && params[:role] != '1' @role = params[:role] + @course_groups = @course.course_groups if @course.course_groups @course_group_id = params[:@course_group_id] unless params[:@course_group_id].nil? case params[:role] when '1' diff --git a/app/helpers/courses_helper.rb b/app/helpers/courses_helper.rb index 92f95bdc1..9e18c9f54 100644 --- a/app/helpers/courses_helper.rb +++ b/app/helpers/courses_helper.rb @@ -186,6 +186,19 @@ module CoursesHelper end members end + def searchStudent_by_name project, name + #searchPeopleByRoles(project, StudentRoles) + members = [] + project.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 searchCountByRoles project, roles_id diff --git a/app/views/courses/_groups_name.html.erb b/app/views/courses/_groups_name.html.erb new file mode 100644 index 000000000..804b3f805 --- /dev/null +++ b/app/views/courses/_groups_name.html.erb @@ -0,0 +1,51 @@ + +<%# if course_groups.any? %> + + + + <%# end %> \ No newline at end of file diff --git a/app/views/courses/_member_list.html.erb b/app/views/courses/_member_list.html.erb index a6ee0b9b4..cd620c52f 100644 --- a/app/views/courses/_member_list.html.erb +++ b/app/views/courses/_member_list.html.erb @@ -1,3 +1,4 @@ + <% if members.any? %> <% members.each do |member| %>
diff --git a/app/views/courses/member.html.erb b/app/views/courses/member.html.erb index aff9ffeb5..4f7b395b0 100644 --- a/app/views/courses/member.html.erb +++ b/app/views/courses/member.html.erb @@ -1,13 +1,25 @@ <%= stylesheet_link_tag 'course_group', :media => 'all' %> +
-
+
+ <%# if @canShowCode %> +
+ <%= render :partial => 'groups_name', locals: {:course_groups => @course_groups} %> +
+ <%# end %> + +
+
<%= error_messages_for 'member' %> <%= render :partial => @render_file, :locals => {:members => @members} %>
diff --git a/app/views/courses/searchmembers.js b/app/views/courses/searchmembers.js new file mode 100644 index 000000000..efe47a9c0 --- /dev/null +++ b/app/views/courses/searchmembers.js @@ -0,0 +1,4 @@ +/** + * Created by Administrator on 2014/12/2. + */ +$("#member_content").html("<%= escape_javascript( render :partial => @render_file, :locals => {:members => @results})%>"); \ No newline at end of file diff --git a/config/routes.rb b/config/routes.rb index 1d28a9ae6..7a6a8aae0 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -643,10 +643,12 @@ RedmineApp::Application.routes.draw do get 'member', :controller => 'courses', :action => 'member', :as => 'member' post 'finishcourse' post 'restartcourse' + match "searchmembers", :controller => 'courses', :action => 'searchmembers', :via => [:post,:get] end collection do match 'join_private_courses', :via => [:get, :post] + end match '/member', :to => 'courses#member', :as => 'member', :via => :get diff --git a/public/images/btn1.png b/public/images/btn1.png new file mode 100644 index 0000000000000000000000000000000000000000..f7f7f1c77a32dc643afd8f07ae8ec36391147856 GIT binary patch literal 769 zcmV+c1OEJpP)004R= z004l4008;_004mL004C`008P>0026e000+nl3&F}00009a7bBm000ie000ie0hKEb z8vp8`5&{I_ii;YG&IK|pW8mFm?RxoRFj!ziNdZb$q5p8mbQ zI>Gwu>4{pc7IoTf@;#3%=w`E_!{I=UMuTcKH&i{J&vZN2$~p zZF9jqsA$@DyQO}=Pd=b7my1)7U}Djj&4R*$FuX0Y(AlEW*zrvG@_)Y zxkV7iCdV>1ZC+ib#!StprizeAF=$L1#CgJuci5XZkfj8@t6CWuR4CO!yhmlhgdo03ykOEdAuk& zXRf11LbN;<2jd*FznAX|sCHv)nxu#}o)zUhdGdW8J>FU7n?Q4QeEhT7jL@JC`n1>F zWHPbq9GA35QmnisZ=m-8u@Q`WjCtcMH6>(PoXi`~_wDHIjhoV@Mh)4JjD4{Q*3ie} zd5z~~ob*kbmsQ8-!-Qf)+id2DegkqkwPW=7EOYSMZSH@Z^szAs^X$Wl+UjY!TvGS> z*;Xqq86Y<=FEkho$VX*gtyU?xUMa!@rB(I8eqaF;*kIlz45Gh(*0eJfe!X5N-&cM8 zKV10GfSyh#YMTnb*XxmIN~s9s>-E|esi^;4uu7$3i+Mnn%jJ&>AM}Cwfro~%3x<;| zl}fhRY9F93fMqfGKZKJC(5$1(yY9xjNI_kIDn!cVQYe~BE`@WUs6wP%E`_4G