Sha256: 8343151698de85d828487e08dc92b610796ae2f843ff9757b927082d79f93302

Contents?: true

Size: 1.59 KB

Versions: 1

Compression:

Stored size: 1.59 KB

Contents

class Admin::Muck::CouponsController < Admin::Muck::BaseController

  before_filter :get_coupon, :only => [:edit, :update, :destroy]
  
  def index
    @coupons = Coupon.by_newest
    render :template => 'admin/coupons/index'
  end

  def bulk
    @coupon = Coupon.new
    @coupon.code = Coupon.random_code
    render :template => 'admin/coupons/bulk'
  end
  
  def bulk_create
    emails = params[:emails].split(',')
    emails.each do |email|
      @coupon = Coupon.new(params[:coupon])
      @coupon.unlimited = false
      @coupon.use_limit = 1
      @coupon.uses = 0
      @coupon.code = Coupon.random_code
      @coupon.save!
      MuckCommerceMailer.deliver_coupon_code(email, params[:subject], params[:message], @coupon.code)
    end    
    redirect_to admin_coupons_path
  rescue ActiveRecord::RecordInvalid => ex
    render :template => 'admin/coupons/bulk'
  end
  
  def new
    @coupon = Coupon.new
    @coupon.code = Coupon.random_code
    render :template => 'admin/coupons/new'
  end
  
  def create
    @coupon = Coupon.new(params[:coupon])
    @coupon.save!
    redirect_to admin_coupons_path
  rescue ActiveRecord::RecordInvalid => ex
    render :template => 'admin/coupons/new'
  end

  def edit
    render :template => 'admin/coupons/edit'
  end
  
  def update
    @coupon.update_attributes!(params[:coupon])
    redirect_to admin_coupons_path
  rescue ActiveRecord::RecordInvalid => ex
    render :template => 'admin/coupons/edit'
  end

  def destroy
    @coupon.destroy
    redirect_to admin_coupons_path
  end
  
  protected

    def get_coupon
      @coupon = Coupon.find(params[:id])
    end
  
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
muck-commerce-0.1.8 app/controllers/admin/muck/coupons_controller.rb