Sha256: 514ce6880fcf0db37803d03d9a8c69ceeacad268f5b5c3d929648b69760a396b

Contents?: true

Size: 1.58 KB

Versions: 62

Compression:

Stored size: 1.58 KB

Contents

module Workarea
  class Admin::PricingDiscountsController < Admin::ApplicationController
    required_permissions :marketing

    before_action :check_publishing_authorization
    before_action :find_discount, except: :index
    after_action :track_index_filters, only: :index

    def index
      search = Search::AdminDiscounts.new(
        params.merge(autocomplete: request.xhr?)
      )

      @search = Admin::DiscountSearchViewModel.new(search, view_model_options)
    end

    def show
      @discount = Admin::DiscountViewModel.wrap(@discount, view_model_options)
    end

    def edit
      @discount = Admin::DiscountViewModel.wrap(@discount, view_model_options)
    end

    def update
      if @discount.update_attributes(params[:discount])
        flash[:success] = t('workarea.admin.pricing_discounts.flash_messages.saved')
        redirect_to pricing_discount_path(@discount)
      else
        @discount = Admin::DiscountViewModel.wrap(@discount, view_model_options)
        render params[:template] || :edit, status: :unprocessable_entity
      end
    end

    def insights
      @discount = Admin::DiscountViewModel.new(@discount, view_model_options)
    end

    def rules
      @discount = Admin::DiscountViewModel.wrap(@discount, view_model_options)
    end

    def destroy
      @discount.destroy
      flash[:success] = t('workarea.admin.pricing_discounts.flash_messages.removed')
      redirect_to pricing_discounts_path
    end

    private

    def find_discount
      # TODO: v4 dry up view model wrapping in this file
      @discount = Pricing::Discount.find(params[:id])
    end
  end
end

Version data entries

62 entries across 62 versions & 1 rubygems

Version Path
workarea-admin-3.5.27 app/controllers/workarea/admin/pricing_discounts_controller.rb
workarea-admin-3.5.26 app/controllers/workarea/admin/pricing_discounts_controller.rb
workarea-admin-3.4.45 app/controllers/workarea/admin/pricing_discounts_controller.rb
workarea-admin-3.5.25 app/controllers/workarea/admin/pricing_discounts_controller.rb
workarea-admin-3.5.23 app/controllers/workarea/admin/pricing_discounts_controller.rb
workarea-admin-3.4.44 app/controllers/workarea/admin/pricing_discounts_controller.rb
workarea-admin-3.5.22 app/controllers/workarea/admin/pricing_discounts_controller.rb
workarea-admin-3.4.43 app/controllers/workarea/admin/pricing_discounts_controller.rb
workarea-admin-3.5.21 app/controllers/workarea/admin/pricing_discounts_controller.rb
workarea-admin-3.4.42 app/controllers/workarea/admin/pricing_discounts_controller.rb
workarea-admin-3.5.20 app/controllers/workarea/admin/pricing_discounts_controller.rb
workarea-admin-3.4.41 app/controllers/workarea/admin/pricing_discounts_controller.rb
workarea-admin-3.5.19 app/controllers/workarea/admin/pricing_discounts_controller.rb
workarea-admin-3.4.40 app/controllers/workarea/admin/pricing_discounts_controller.rb
workarea-admin-3.5.18 app/controllers/workarea/admin/pricing_discounts_controller.rb
workarea-admin-3.4.39 app/controllers/workarea/admin/pricing_discounts_controller.rb
workarea-admin-3.5.17 app/controllers/workarea/admin/pricing_discounts_controller.rb
workarea-admin-3.4.38 app/controllers/workarea/admin/pricing_discounts_controller.rb
workarea-admin-3.5.16 app/controllers/workarea/admin/pricing_discounts_controller.rb
workarea-admin-3.4.37 app/controllers/workarea/admin/pricing_discounts_controller.rb