A calendar management project, for events and activities related to communities fighting for freedoms.
This can be related to software, art, data, hardware, content, commons, internet.
https://www.agendadulibre.org
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
agenda-libre-ruby/app/controllers/digests_controller.rb

32 lines
934 B

7 years ago
# A digest of all events over a period of time
class DigestsController < ApplicationController
has_scope :region, :locality, :tag
has_scope :near, type: :hash, using: %i[location distance]
7 years ago
has_scope :moderated, default: nil, allow_blank: true
has_scope :period, allow_blank: true, type: :hash, using: %i[year week],
default: (
lambda do
{ year: (Time.zone.today + 7.days).year,
week: (Time.zone.today + 7.days).cweek }
end)
before_action :set_week, if: -> { params[:period] }
before_action :set_events, only: [:show]
def show
render :markdown
end
private
def set_week
@week = Time.commercial params[:period][:year].to_i,
params[:period][:week].to_i
end
def set_events
@week ||= Time.zone.today + 7.days
7 years ago
@events = apply_scopes Event
end
end