Sha256: 01b5ceb97ae72aed00ccc02ba64fc40abc8506251d233fcd7e30d58a89c1c66a

Contents?: true

Size: 1.19 KB

Versions: 2

Compression:

Stored size: 1.19 KB

Contents

class MembershipTypesController < ArtfullyOseController
  def index
    @membership_types = current_organization.membership_types.paginate(:page => params[:page], :per_page => 50)

    respond_to do |format|
      format.html

      format.csv do
        @filename = 'membership_types.csv'
        @csv_string = @membership_types.to_comma
        send_data @csv_string, :filename => @filename, :type => 'text/csv', :disposition => 'attachment'
      end
    end
  end

  def new
    with_type_selected do
      @membership_type = Kernel.const_get(params[:type].camelize).new
    end
  end

  def create
    @membership_type = MembershipType.new(params[:membership_type])
    @membership_type.organization = current_organization
    @membership_type.save
    redirect_to membership_types_path
  end

  def edit
    @membership_type = MembershipType.find(params[:id])
  end

  def update
    @membership_type = MembershipType.find(params[:id])
    @membership_type.update_attributes(params[:membership_type])
    flash[:notice] = "Your changes have been saved"
    redirect_to membership_types_path
  end

  private
    def with_type_selected
      render :type and return if params[:type].blank?
      yield
    end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
artfully_ose-1.2.0.pre.16 app/controllers/membership_types_controller.rb
artfully_ose-1.2.0.pre.15 app/controllers/membership_types_controller.rb