diff options
Diffstat (limited to 'app/services')
| -rw-r--r-- | app/services/referential_overview.rb | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/app/services/referential_overview.rb b/app/services/referential_overview.rb index 5b0e144db..14e917bbe 100644 --- a/app/services/referential_overview.rb +++ b/app/services/referential_overview.rb @@ -1,14 +1,16 @@ class ReferentialOverview attr_reader :h + PER_PAGE = 10 + def initialize referential, h @referential = referential - @page = 1 + @page = h.params[pagination_param_name]&.to_i || 1 @h = h end def lines - @referential.metadatas_lines.includes(:company).page(@page).map{|l| Line.new(l, @referential, period.first, h)} + referential_lines.includes(:company).map{|l| Line.new(l, @referential, period.first, h)} end def period @@ -23,6 +25,21 @@ class ReferentialOverview @weeks.values end + def referential_lines + @referential.metadatas_lines.page(@page).per_page(PER_PAGE) + end + + ### Pagination + + delegate :empty?, :first, :total_pages, :size, :total_entries, :offset, :length, to: :referential_lines + def current_page + @page + end + + def pagination_param_name + "referential_#{@referential.slug}_overview" + end + class Line attr_reader :h attr_reader :referential_line |
