/backend/app/controllers/spree/admin/promotions_controller.rb
Ruby | 37 lines | 30 code | 7 blank | 0 comment | 2 complexity | 68ed9bb32e45895538e9b9087d967d2b MD5 | raw file
Possible License(s): BSD-3-Clause
- module Spree
- module Admin
- class PromotionsController < ResourceController
- before_action :load_data
- helper 'spree/admin/promotion_rules'
- protected
- def location_after_save
- spree.edit_admin_promotion_url(@promotion)
- end
- def load_data
- @calculators = Rails.application.config.spree.calculators.promotion_actions_create_adjustments
- @promotion_categories = Spree::PromotionCategory.order(:name)
- end
- def collection
- return @collection if defined?(@collection)
- params[:q] ||= HashWithIndifferentAccess.new
- params[:q][:s] ||= 'id desc'
- @collection = super
- @search = @collection.ransack(params[:q])
- @collection = @search.result(distinct: true).
- includes(promotion_includes).
- page(params[:page]).
- per(params[:per_page] || Spree::Config[:admin_promotions_per_page])
- end
- def promotion_includes
- [:promotion_actions]
- end
- end
- end
- end