Class: Spree::Admin::PriceListsController

Inherits:
ResourceController show all
Includes:
ProductsBreadcrumbConcern
Defined in:
app/controllers/spree/admin/price_lists_controller.rb

Instance Method Summary collapse

Methods inherited from ResourceController

belongs_to, #create, #destroy, #edit, #index, #new, #update

Methods included from TableConcern

#apply_table_sort, #custom_sort_active?, #process_table_query_state, #table, #table_key, #table_registered?

Methods included from BreadcrumbConcern

#add_breadcrumb_icon_instance_var

Instance Method Details

#activateObject

PUT /admin/price_lists/:id/activate



18
19
20
21
22
23
24
25
26
27
# File 'app/controllers/spree/admin/price_lists_controller.rb', line 18

def activate
  if @price_list.starts_at.present?
    @price_list.schedule!
    flash[:success] = Spree.t('admin.price_lists.scheduled')
  else
    @price_list.activate!
    flash[:success] = Spree.t('admin.price_lists.activated')
  end
  redirect_to spree.admin_price_list_path(@price_list)
end

#deactivateObject

PUT /admin/price_lists/:id/deactivate



30
31
32
33
34
# File 'app/controllers/spree/admin/price_lists_controller.rb', line 30

def deactivate
  @price_list.deactivate!
  flash[:success] = Spree.t('admin.price_lists.deactivated')
  redirect_to spree.admin_price_list_path(@price_list)
end

#edit_pricesObject

GET /admin/price_lists/:price_list_id/edit_prices



7
8
9
10
11
12
13
14
15
# File 'app/controllers/spree/admin/price_lists_controller.rb', line 7

def edit_prices
  @currency = params[:currency] || current_store.default_currency
  @currency_symbol = ::Money::Currency.find(@currency).symbol
  @prices = @price_list.prices.
            includes(variant: [:product, { option_values: :option_type }]).
            where(currency: @currency).
            joins(variant: :product).
            order("#{Spree::Product.table_name}.name ASC", "#{Spree::Variant.table_name}.position ASC")
end