/backend/app/controllers/spree/admin/promotions_controller.rb
https://github.com/fig/spree · Ruby · 37 lines · 30 code · 7 blank · 0 comment · 2 complexity · 68ed9bb32e45895538e9b9087d967d2b MD5 · raw file
- 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