diff --git a/app/controllers/admin/schedules_controller.rb b/app/controllers/admin/schedules_controller.rb index 44ccb48d64..59528cf158 100644 --- a/app/controllers/admin/schedules_controller.rb +++ b/app/controllers/admin/schedules_controller.rb @@ -3,7 +3,7 @@ require 'order_management/subscriptions/proxy_order_syncer' module Admin class SchedulesController < ResourceController - before_filter :adapt_params, only: [:create, :update] + before_filter :adapt_params, only: [:update] before_filter :check_editable_order_cycle_ids, only: [:create, :update] before_filter :check_dependent_subscriptions, only: [:destroy] create.after :sync_subscriptions @@ -28,6 +28,25 @@ module Admin end end + def create + invoke_callbacks(:create, :before) + @object.attributes = permitted_resource_params + @object.save! + + @object.order_cycle_ids = params[:order_cycle_ids] + if @object.save + invoke_callbacks(:create, :after) + flash[:success] = flash_message_for(@object, :successfully_created) + respond_with(@object) do |format| + format.html { redirect_to location_after_save } + format.js { render layout: false } + end + else + invoke_callbacks(:create, :fails) + respond_with(@object) + end + end + private def collection @@ -95,11 +114,7 @@ module Admin end def permitted_resource_params - params.require(:schedule).permit( - :id, - :name, - order_cycle_ids: [] - ) + params.require(:schedule).permit(:id, :name) end end end