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 65 def change_schedule if params[:new_schedule_id].eql?('agenda') change_schedule_to_agenda else if s = Schedule.exists?(params[:new_schedule_id]) @schedule = Schedule.find(params[:new_schedule_id]) @event.update_attributes(:schedule_id => @schedule.id) redirect_to sadmin_schedule_event_path(:id => @event.id, :schedule_id => @schedule.id) else flash[:warning] = t('sadmin.events.no_ha_indicado_la_agenda') redirect_to sadmin_event_path(@event) end end 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 50 def destroy get_event month = @event.starts_at.month year = @event.starts_at.year if @event.destroy flash[:notice] = t('sadmin.eliminado_correctamente', :article => Event.human_name.gender_article, :what => Event.human_name) redirect_to calendar_sadmin_events_url(:year => year, :month => month) else flash[:error] = t('sadmin.no_eliminado_correctamente', :article => Event.human_name.gender_article, :what => Event.human_name) redirect_to :action => 'show' end end
Formulario para crear nuevo evento privado.
# File app/controllers/sadmin/schedule_events_controller.rb, line 34 def new @title = t('sadmin.modificar_what', :what => Event.human_name) begin default_date = Date.parse("#{@year}-#{@month}-#{@day}") rescue ArgumentError default_date = Time.now end @event = @schedule.events.new(:starts_at => default_date, :ends_at => default_date) end