From 8a26fd4343bc4dd0ef78c7b56c78bb0e1d82b0d7 Mon Sep 17 00:00:00 2001 From: z9hang Date: Thu, 16 Apr 2015 17:28:08 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AF=BE=E7=A8=8B=E9=85=8D=E7=BD=AE=EF=BC=9A?= =?UTF-8?q?=E6=88=90=E5=91=98=E9=85=8D=E7=BD=AE=E5=A4=84=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E6=90=9C=E7=B4=A0=E6=88=90=E5=91=98=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/courses_controller.rb | 17 ++++++++++++++- app/views/courses/_course_members.html.erb | 11 ++++++++++ app/views/courses/search_member.js.erb | 1 + config/locales/courses/zh.yml | 6 +++++- config/routes.rb | 1 + lib/redmine.rb | 2 +- public/javascripts/course.js | 25 ++++++++++++++++++++++ public/stylesheets/courses.css | 2 ++ 8 files changed, 62 insertions(+), 3 deletions(-) create mode 100644 app/views/courses/search_member.js.erb diff --git a/app/controllers/courses_controller.rb b/app/controllers/courses_controller.rb index c12f59f21..c4ef0fe60 100644 --- a/app/controllers/courses_controller.rb +++ b/app/controllers/courses_controller.rb @@ -20,7 +20,7 @@ class CoursesController < ApplicationController before_filter :can_show_course, :except => [] before_filter :logged_user_by_apptoken,:only => [:show,:new_homework,:feedback] before_filter :find_course, :except => [ :index, :search,:list, :new,:join,:unjoin, :create, :copy, :statistics, :new_join, :course, :enterprise_course, :course_enterprise,:view_homework_attaches,:join_private_courses] - before_filter :authorize_course, :only => [:show, :settings, :edit, :update, :modules, :close, :reopen, :view_homework_attaches, :course] + before_filter :authorize_course, :only => [:show, :settings, :edit, :update, :modules, :close, :reopen, :view_homework_attaches, :course,:search_member] before_filter :authorize_course_global, :only => [:view_homework_attaches, :new,:create] before_filter :require_admin, :only => [:copy, :archive, :unarchive, :destroy, :calendar] before_filter :toggleCourse, :only => [:finishcourse, :restartcourse] @@ -418,6 +418,21 @@ class CoursesController < ApplicationController end + def search_member + if User.current.allowed_to?(:as_teacher,@course) + q = "#{params[:q].strip}" + @roles = Role.givable.all[3..5] + if q.nil? || q == "" + @members = @course.member_principals.includes(:roles, :principal).all.sort + else + @members = searchmember_by_name(@course.member_principals.includes(:roles, :principal).all.sort,q) + end + + else + render_403 + end + end + def create cs = CoursesService.new @course = cs.create_course(params,User.current)[:course] diff --git a/app/views/courses/_course_members.html.erb b/app/views/courses/_course_members.html.erb index 38ef7e9db..db6ec4b55 100644 --- a/app/views/courses/_course_members.html.erb +++ b/app/views/courses/_course_members.html.erb @@ -1,3 +1,14 @@ +
+ <%= form_tag({:controller => 'courses', :action => 'search_member'},:id => "course_member_search_form", :method => :get, :class => "search_form_course",:remote => true) do %> + + <%= text_field_tag 'q', params[:q], :placeholder => l(:label_user_name), :class => "search_text fl" %> + + <%= l(:label_search)%> + +
+ + <% end %> +