Class: Spree::Admin::PromotionWeekendRulesController
- Inherits:
-
PromotionEventsRulesController
- Object
- ResourceController
- PromotionEventsRulesController
- Spree::Admin::PromotionWeekendRulesController
- Defined in:
- app/controllers/spree/admin/promotion_weekend_rules_controller.rb
Instance Method Summary collapse
-
#collection_url(_options = {}) ⇒ Object
override.
- #load_events ⇒ Object
-
#model_class ⇒ Object
override.
-
#permitted_resource_params ⇒ Object
override.
- #remove_exception_date ⇒ Object
Methods inherited from PromotionEventsRulesController
#beginning_of_year, #end_of_year, #ensure_year, #month_name, #object_name, #year
Instance Method Details
#collection_url(_options = {}) ⇒ Object
override
49 50 51 |
# File 'app/controllers/spree/admin/promotion_weekend_rules_controller.rb', line 49 def collection_url( = {}) edit_admin_promotion_weekend_rule_path(@promotion_rule.promotion_id, @promotion_rule.id) end |
#load_events ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'app/controllers/spree/admin/promotion_weekend_rules_controller.rb', line 18 def load_events @events = [] (beginning_of_year..end_of_year).each do |date| if @promotion_rule.exception?(date) @events << SpreeCmCommissioner::CalendarEvent.new( from_date: date, to_date: date, title: 'Exception', options: { exception: true } ) elsif @promotion_rule.date_eligible?(date) @events << SpreeCmCommissioner::CalendarEvent.new( from_date: date, to_date: date, title: 'Eligible Date', options: {} ) end end end |
#model_class ⇒ Object
override
54 55 56 |
# File 'app/controllers/spree/admin/promotion_weekend_rules_controller.rb', line 54 def model_class SpreeCmCommissioner::Promotion::Rules::Weekend end |
#permitted_resource_params ⇒ Object
override
41 42 43 44 45 46 |
# File 'app/controllers/spree/admin/promotion_weekend_rules_controller.rb', line 41 def permitted_resource_params preferred_exception_dates = @promotion_rule.preferred_exception_dates.presence || [] preferred_exception_dates << params.require(:new_exception_date).permit(:start_date, :length, :title).to_json { :preferred_exception_dates => preferred_exception_dates } end |
#remove_exception_date ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 |
# File 'app/controllers/spree/admin/promotion_weekend_rules_controller.rb', line 6 def remove_exception_date index = params['exception_date_index'].to_i @promotion_rule.preferred_exception_dates.delete_at(index) if index.present? flash[:success] = (@promotion_rule, :successfully_updated) if @promotion_rule.save # reload page respond_to do |format| format.js { render inline: 'location.reload();' } # rubocop:disable Rails/RenderInline end end |