events: allow rss feeds to show all events

RSS feeds can be easily parsed and hence can be used to populate program for
events with the proper tags. By adding the 'showall=true' to the query string,
it is possible to see all events corresponding to the requested criteria in
the RSS feed, whether past or future and more than 20.

Signed-off-by: Geneviève Bastien <gbastien@versatic.net>
This commit is contained in:
Geneviève Bastien 2016-09-02 21:41:11 -04:00
parent e749a62fa2
commit ec406e5c07

View File

@ -15,7 +15,7 @@ class EventsController < ApplicationController
respond_to do |format| respond_to do |format|
format.html format.html
format.json { @events = @events.future } format.json { @events = @events.future }
format.rss { @events = @events.future.order('id desc').limit 20 } format.rss { @events = filter_for_rss }
format.ics { @events = @events.last_year } format.ics { @events = @events.last_year }
format.xml format.xml
end end
@ -107,6 +107,14 @@ class EventsController < ApplicationController
:contact, :submitter, :tags :contact, :submitter, :tags
end end
def filter_for_rss
if(!params.has_key?(:showall))
@events.future.order('id desc').limit 20
else
@events.order('id desc')
end
end
def locked def locked
redirect_to edit_event_url(@event, secret: @event.secret), redirect_to edit_event_url(@event, secret: @event.secret),
alert: t('staleObjectError') alert: t('staleObjectError')