# HG changeset patch # User Chris Cannam # Date 1295443621 0 # Node ID 32b5adec7422a6d7b0afd04df8749e21ae7f98e2 # Parent 11e93d30115add3d559a9d97496eeb7763140ab6 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 11e93d30115a -r 32b5adec7422 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 11e93d30115a -r 32b5adec7422 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 11e93d30115a -r 32b5adec7422 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 11e93d30115a -r 32b5adec7422 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 11e93d30115a -r 32b5adec7422 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 @@ -951,7 +951,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 11e93d30115a -r 32b5adec7422 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 @@ -803,7 +803,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