30 lines
762 B
Ruby
30 lines
762 B
Ruby
# frozen_string_literal: true
|
|
|
|
module Reports::Visits
|
|
extend ActiveSupport::Concern
|
|
|
|
class_methods do
|
|
def report_visits(report)
|
|
group_filter = report.filters.dig(:group)
|
|
report.add_filter("group", type: "group", default: group_filter)
|
|
|
|
report.icon = "user"
|
|
|
|
basic_report_about report,
|
|
UserVisit,
|
|
:by_day,
|
|
report.start_date,
|
|
report.end_date,
|
|
group_filter
|
|
add_counts report, UserVisit, "visited_at"
|
|
|
|
report.prev30Days =
|
|
UserVisit.where(
|
|
"visited_at >= ? and visited_at < ?",
|
|
report.start_date - 30.days,
|
|
report.start_date,
|
|
).count
|
|
end
|
|
end
|
|
end
|