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 %> +