From a2c47c0d125ea843a81674e3a5cb2edd2d911bd3 Mon Sep 17 00:00:00 2001 From: Nicolas Florentin Date: Mon, 20 Nov 2023 13:53:49 +0100 Subject: [PATCH] member can be searched by username ignoring accents --- app/models/user.rb | 4 ++++ spec/controllers/users_controller_spec.rb | 9 +++++++++ 2 files changed, 13 insertions(+) diff --git a/app/models/user.rb b/app/models/user.rb index 771dbfea..73b534c6 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -9,6 +9,10 @@ class User < ApplicationRecord :timeoutable ] + ransacker :username do + Arel.sql('unaccent(users.username)') + end + GENDERS = %w( female male diff --git a/spec/controllers/users_controller_spec.rb b/spec/controllers/users_controller_spec.rb index f8a3f7a2..db53b651 100644 --- a/spec/controllers/users_controller_spec.rb +++ b/spec/controllers/users_controller_spec.rb @@ -140,6 +140,15 @@ expect(assigns(:members)).to include(member) end + + it 'allows to search a member ignoring accents of user\'s username' do + user = Fabricate(:user, username: 'fôô', email: 'test@email.com') + member = Fabricate(:member, user: user, organization: test_organization) + + get :index, params: { q: { member_search_cont: "foo" } } + + expect(assigns(:members)).to include(member) + end end end