| Class | Sadmin::ScheduleEventsController |
| In: |
app/controllers/sadmin/schedule_events_controller.rb
|
| Parent: | Sadmin::EventsController |
Controlador para el acceso a las agendas privadas desde la parte de administración de la web.
Sólo los usuarios que tienen permiso para ver alguna agenda privada pueden acceder a este controlador.
Cambiar la agenda de un evento.
# File app/controllers/sadmin/schedule_events_controller.rb, line 47
47: def change_schedule
48: if params[:new_schedule_id].eql?('agenda')
49: change_schedule_to_agenda
50: else
51: if s = Schedule.exists?(params[:new_schedule_id])
52: @schedule = Schedule.find(params[:new_schedule_id])
53: @event.update_attributes(:schedule_id => @schedule.id)
54: redirect_to sadmin_schedule_event_path(:id => @event.id, :schedule_id => @schedule.id)
55: else
56: flash[:warning] = t('sadmin.events.no_ha_indicado_la_agenda')
57: redirect_to sadmin_event_path(@event)
58: end
59: end
60: end
Eliminar evento.
Los eventos privados no están incluidos en las alertas por email así que se pueden borrar directamente.
# File app/controllers/sadmin/schedule_events_controller.rb, line 32
32: def destroy
33: get_event
34: month = @event.starts_at.month
35: year = @event.starts_at.year
36:
37: if @event.destroy
38: flash[:notice] = t('sadmin.eliminado_correctamente', :what => Event.human_name)
39: redirect_to calendar_sadmin_events_url(:year => year, :month => month)
40: else
41: flash[:error] = t('sadmin.no_eliminado_correctamente', :what => Event.human_name)
42: redirect_to :action => 'show'
43: end
44: end
Formulario para crear nuevo evento privado.
# File app/controllers/sadmin/schedule_events_controller.rb, line 16
16: def new
17: @title = t('sadmin.modificar_what', :what => Event.human_name)
18:
19: begin
20: default_date = Date.parse("#{@year}-#{@month}-#{@day}")
21: rescue ArgumentError
22: default_date = Time.now
23: end
24:
25: @event = @schedule.events.new(:starts_at => default_date, :ends_at => default_date, :confirmed => true)
26:
27: end