| Class | Ma::EventsController |
| In: |
app/controllers/ma/events_controller.rb
|
| Parent: | Ma::BaseController |
Controlador para los eventos que se muestran en la Agencia Multimedia
Sólo los periodistas y los usuarios registrados con permiso para acceder a la parte de medios pueden acceder a los métodos de este controlador.
Lista de los eventos actuales.
Se cogen sólo los eventos de los 3 próximos días.
# File app/controllers/ma/events_controller.rb, line 12
12: def index
13: @title = t('documents.Events')
14: @current_events = Event.in_agencia.published.translated.current
15: # Para la agencia se cogen sólo los eventos de los 3 próximos días.
16: @future_events = Event.in_agencia.published.translated.future.find(:all, :conditions => ["starts_at <= ?", Time.zone.now + Event::AM_INTERVAL])
17: #@passed_events = Event.in_agencia.published.translated.current(Time.now-1.day)-@current_events
18: @passed_events = Event.in_agencia.published.translated.passed.find(:all, :limit => 4, :order => 'ends_at desc')
19:
20: if params[:irekia_only].to_i.eql?(1)
21: @title << ": #{t('events.Solo_irekia')}"
22: @current_events = @current_events.find_all {|evt| evt.irekia_coverage?}
23: @future_events = @future_events.find_all {|evt| evt.irekia_coverage?}
24: @passed_events = @passed_events.find_all {|evt| evt.irekia_coverage?}
25: else
26: @title << ": #{t('events.Todos')}"
27: end
28: end
Lista de eventos pasados.
# File app/controllers/ma/events_controller.rb, line 31
31: def passed
32: @title = t('documents.EventsArchive')
33: finder = Event.in_agencia.published.translated
34: if params[:irekia_only].to_i.eql?(1)
35: finder = Event.in_agencia.published.translated.with_irekia_coverage
36: end
37:
38: @events = finder.paginate(:page => params[:page], :per_page => 10,
39: :include => [:organization => :icon],
40: :conditions => ["ends_at < ?", Time.zone.now.beginning_of_day],
41: :order => "starts_at DESC")
42:
43:
44: end
Ver los datos de un evento.
# File app/controllers/ma/events_controller.rb, line 47
47: def show
48: begin
49: @event = Event.in_agencia.published.find(params[:id])
50:
51: respond_to do |format|
52: format.html { render }
53: format.ics { render :template => "/events/show", :layout => false}
54: end
55: rescue ActiveRecord::RecordNotFound
56: if can_edit?("events")
57: @event = Event.in_agencia.find(params[:id])
58: else
59: raise ActiveRecord::RecordNotFound
60: end
61: end
62: end