aboutsummaryrefslogtreecommitdiffstats
path: root/app/services/referential_overview.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/services/referential_overview.rb')
-rw-r--r--app/services/referential_overview.rb21
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