Sha256: 5d329f859fdfd62b5fc8e80a2fd225c5d50755878afe4ccc564acaf43285dd76

Contents?: true

Size: 1.35 KB

Versions: 2

Compression:

Stored size: 1.35 KB

Contents

class SectionsController < ArtfullyOseController
  before_filter :find_chart, :except => [:on_sale, :off_sale]

  def new
    @section = @chart.sections.build()
    render :layout => false
  end

  def create
    @section = Section.new
    params[:section][:price] = Section.price_to_cents(params[:section][:price])
    @section.update_attributes(params[:section])
    @section.chart_id = @chart.id
    if @section.save
      Ticket.create_many(@chart.show, @section, @section.capacity, true)
    else
      flash[:error] = "We couldn't save your ticket type because " + @section.errors.full_messages.to_sentence
    end
    redirect_to event_show_path(@chart.show.event, @chart.show)
  end
  
  def on_sale
    @qty = params[:quantity].to_i
    @section = Section.find(params[:id])
    @section.put_on_sale @qty
    flash[:notice] = "Tickets in section #{@section.name} are now on sale"
    redirect_to event_show_path(@section.chart.show.event, @section.chart.show)
  end
  
  def off_sale
    @qty = params[:quantity].to_i
    @section = Section.find(params[:id])
    @section.take_off_sale @qty
    flash[:notice] = "Tickets in section #{@section.name} are now off sale"
    redirect_to event_show_path(@section.chart.show.event, @section.chart.show)
  end

  private

    def find_chart
      @chart = Chart.find(params[:chart_id] || params[:section][:chart_id])
    end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
artfully_ose-1.0.0.rc4 app/controllers/sections_controller.rb
artfully_ose-1.0.0.rc3 app/controllers/sections_controller.rb