# HG changeset patch # User Chris Cannam # Date 1295443621 0 # Node ID 6a2f8e88344ebf1e36bec0534350af0ed440e182 # Parent c7d72c765cc6165537b7492ca85405ca02604a3d Bug #51: make New Member box show matching users only when at least 2 characters have been typed in search (avoid really long results lists) diff -r c7d72c765cc6 -r 6a2f8e88344e app/controllers/members_controller.rb --- a/app/controllers/members_controller.rb Wed Jan 19 12:41:34 2011 +0000 +++ b/app/controllers/members_controller.rb Wed Jan 19 13:27:01 2011 +0000 @@ -94,6 +94,7 @@ def autocomplete_for_member @principals = Principal.active.like(params[:q]).find(:all, :limit => 100) - @project.principals + logger.debug "Query for #{params[:q]} returned #{@principals.size} results" render :layout => false end diff -r c7d72c765cc6 -r 6a2f8e88344e app/helpers/application_helper.rb --- a/app/helpers/application_helper.rb Wed Jan 19 12:41:34 2011 +0000 +++ b/app/helpers/application_helper.rb Wed Jan 19 13:27:01 2011 +0000 @@ -273,7 +273,7 @@ def principals_check_box_tags(name, principals) s = '' principals.sort.each do |principal| - s << "\n" + s << "\n" end s end diff -r c7d72c765cc6 -r 6a2f8e88344e app/views/members/autocomplete_for_member.rhtml --- a/app/views/members/autocomplete_for_member.rhtml Wed Jan 19 12:41:34 2011 +0000 +++ b/app/views/members/autocomplete_for_member.rhtml Wed Jan 19 13:27:01 2011 +0000 @@ -1,1 +1,3 @@ -<%= principals_check_box_tags 'member[user_ids][]', @principals %> \ No newline at end of file +<% if params[:q] && params[:q].length > 1 %> +<%= principals_check_box_tags 'member[user_ids][]', @principals %> +<% end %> diff -r c7d72c765cc6 -r 6a2f8e88344e app/views/projects/settings/_members.rhtml --- a/app/views/projects/settings/_members.rhtml Wed Jan 19 12:41:34 2011 +0000 +++ b/app/views/projects/settings/_members.rhtml Wed Jan 19 13:27:01 2011 +0000 @@ -50,7 +50,7 @@ -<% principals = Principal.active.find(:all, :limit => 10, :order => 'type, login, lastname ASC') - @project.principals %> +<% principals = Principal.active.find(:all, :limit => 100, :order => 'type, login, lastname ASC') - @project.principals %>
<% if roles.any? && principals.any? %> @@ -66,9 +66,11 @@ :url => { :controller => 'members', :action => 'autocomplete_for_member', :id => @project }, :with => 'q') %> - +
- <%= principals_check_box_tags 'member[user_ids][]', principals %> + <% if params[:q] && params[:q].length > 1 %> + <%= principals_check_box_tags 'member[user_ids][]', @principals %> + <% end %>

<%= l(:label_role_plural) %>: diff -r c7d72c765cc6 -r 6a2f8e88344e config/locales/en-GB.yml --- a/config/locales/en-GB.yml Wed Jan 19 12:41:34 2011 +0000 +++ b/config/locales/en-GB.yml Wed Jan 19 13:27:01 2011 +0000 @@ -947,7 +947,7 @@ label_user_mail_option_only_my_events: Only for things I watch or I'm involved in label_user_mail_option_only_assigned: Only for things I am assigned to notice_not_authorized_archived_project: The project you're trying to access has been archived. - label_principal_search: "Search for user or group:" + label_principal_search: "Search by name:" label_user_search: "Search for user:" field_visible: Visible setting_emails_header: Emails header diff -r c7d72c765cc6 -r 6a2f8e88344e config/locales/en.yml --- a/config/locales/en.yml Wed Jan 19 12:41:34 2011 +0000 +++ b/config/locales/en.yml Wed Jan 19 13:27:01 2011 +0000 @@ -795,7 +795,7 @@ label_profile: Profile label_subtask_plural: Subtasks label_project_copy_notifications: Send email notifications during the project copy - label_principal_search: "Search for user or group:" + label_principal_search: "Search by name:" label_user_search: "Search for user:" button_login: Login