Sha256: ae4531f2ef460f4b245690c50c3ca3dc6ba1f1b909ac05440499f7aed858868e
Contents?: true
Size: 1.47 KB
Versions: 21
Compression:
Stored size: 1.47 KB
Contents
# frozen_string_literal: true require 'csv' module Spree module Admin class PromotionCodesController < Spree::Admin::ResourceController def index @promotion = Spree::Promotion.accessible_by(current_ability, :read).find(params[:promotion_id]) @promotion_codes = @promotion.promotion_codes.order(:value) respond_to do |format| format.html do @promotion_codes = @promotion_codes.page(params[:page]).per(50) end format.csv do filename = "promotion-code-list-#{@promotion.id}.csv" headers["Content-Type"] = "text/csv" headers["Content-disposition"] = "attachment; filename=\"#{filename}\"" end end end def new @promotion = Spree::Promotion.accessible_by(current_ability, :read).find(params[:promotion_id]) @promotion_code = @promotion.promotion_codes.build end def create @promotion = Spree::Promotion.accessible_by(current_ability, :read).find(params[:promotion_id]) @promotion_code = @promotion.promotion_codes.build(value: params[:promotion_code][:value]) if @promotion_code.save flash[:success] = flash_message_for(@promotion_code, :successfully_created) redirect_to admin_promotion_promotion_codes_url(@promotion) else flash.now[:error] = @promotion_code.errors.full_messages.to_sentence render_after_create_error end end end end end
Version data entries
21 entries across 21 versions & 1 rubygems