class Sadmin::ScheduleEventsController

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.

Public Instance Methods

change_schedule() click to toggle source

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
destroy() click to toggle source

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
new() click to toggle source

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