Skip to content

Commit 2d0c0d6

Browse files
dhernandez-quoinpnabutovsky
authored andcommitted
Merged in r2-2966-numeric-family-number (pull request #6896)
R2-2966 - Cannot search for family records by all-numeric Family Numbers Approved-by: Pavel Nabutovsky
2 parents 4a2c84d + 2e80429 commit 2d0c0d6

File tree

2 files changed

+20
-4
lines changed

2 files changed

+20
-4
lines changed

app/services/search_filter_service.rb

+13-2
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,14 @@
55
# Transform a params hash into SearchFilters::SearchFiklter objects
66
class SearchFilterService
77
EXCLUDED = %w[format controller action page per order order_by fields id_search].freeze
8+
FILTERABLE_MODELS = [Child, Incident, TracingRequest, RegistryRecord, Family].freeze
89

910
def self.build_filters(params, permitted_field_names)
1011
service = SearchFilterService.new
1112
filter_params = service.select_filter_params(params, permitted_field_names)
1213
filter_params = DestringifyService.destringify(filter_params.to_h, true)
13-
service.build_filters(filter_params)
14+
id_params = service.select_id_params(params)
15+
service.build_filters(filter_params.merge(id_params))
1416
end
1517

1618
# rubocop:disable Metrics/AbcSize
@@ -46,7 +48,16 @@ def build_filters(params)
4648
# rubocop:enable Metrics/PerceivedComplexity
4749

4850
def select_filter_params(params, permitted_field_names)
49-
filter_params = params.except(*EXCLUDED)
51+
excluded_params = EXCLUDED + filterable_id_fields
52+
filter_params = params.except(*excluded_params)
5053
filter_params.select { |key, _| permitted_field_names.any? { |name| key.match?(/#{name}[0-5]?$/) } }
5154
end
55+
56+
def select_id_params(params)
57+
params.select { |key, _| filterable_id_fields.include?(key) }
58+
end
59+
60+
def filterable_id_fields
61+
@filterable_id_fields = FILTERABLE_MODELS.map(&:filterable_id_fields).flatten
62+
end
5263
end

spec/mailers/record_action_mailer_spec.rb

+7-2
Original file line numberDiff line numberDiff line change
@@ -416,7 +416,7 @@
416416
end
417417
end
418418

419-
describe 'transition request with diferent locale' do
419+
describe 'transition request with different locale' do
420420
before do
421421
@user1.locale = 'ar-LB'
422422
@user1.save(validate: false)
@@ -432,7 +432,12 @@
432432

433433
it 'renders the body' do
434434
expect(mail.text_part.body.encoded)
435-
.to match('مستخدم بريميرو user2 من مؤسسة Test Agency يطلب أن تنقل ملكية هذا السجل من نوع Case ومعرّف')
435+
.to match(
436+
%(مستخدم بريميرو user2 من الهيئة Test Agency يطلب أن تنقل ملكية هذا السجل من نوع Case ومعرّف
437+
<a href=\"https://localhost:3000/v2/cases/#{@case.id}\">#{@case.short_id}</a>
438+
بحيث يتمكنون من تقديم خدمات إدارة للشخص في منطقتهم. إذا كان التحويل مقبولا من طرفك، يرجى النقر على رابط معرف نوع السجل
439+
Case في هذا الايميل لفتح نوع السجل Case في بريميرو والبدء بعملية التحويل.).squish
440+
)
436441
end
437442
end
438443

0 commit comments

Comments
 (0)