mirror of
https://github.com/we-promise/sure.git
synced 2026-04-08 14:54:49 +00:00
* feat(settings): split imports and exports * feat(security): sanitize pagination params to prevent abuse * fix(settings): fix syntax in settings nav * feat(settings): internationalize family_exports and imports UI strings * fix(settings): fix coderabbit review * fix(settings): fix coderabbit review * fix(settings): fix coderabbit review * Change default per_page value from 20 to 10 Signed-off-by: Juan José Mata <jjmata@jjmata.com> * Add `/family_export` to navigation * Consistency with old defaults * Align `safe_per_page` even if not DRY --------- Signed-off-by: Julien Orain <julien.orain@gmail.com> Signed-off-by: Juan José Mata <jjmata@jjmata.com> Signed-off-by: Juan José Mata <juanjo.mata@gmail.com> Co-authored-by: JulienOrain <your-github-email@example.com> Co-authored-by: Juan José Mata <jjmata@jjmata.com> Co-authored-by: Juan José Mata <juanjo.mata@gmail.com>
16 lines
373 B
Ruby
16 lines
373 B
Ruby
# frozen_string_literal: true
|
|
|
|
module SafePagination
|
|
extend ActiveSupport::Concern
|
|
|
|
private
|
|
def safe_per_page(default = 10)
|
|
allowed_values = [ 10, 20, 30, 50, 100 ]
|
|
per_page = params[:per_page].to_i
|
|
|
|
return default if per_page <= 0
|
|
|
|
allowed_values.include?(per_page) ? per_page : allowed_values.min_by { |v| (v - per_page).abs }
|
|
end
|
|
end
|