Return an error if no order_cycle_set params are submitted to #bulk_update action

This commit is contained in:
Rob Harrington
2018-03-01 16:44:36 +11:00
committed by Maikel Linke
parent 18f7ec992d
commit b14f27f956
3 changed files with 11 additions and 2 deletions

View File

@@ -10,6 +10,7 @@ module Admin
before_filter :require_coordinator, only: :new
before_filter :remove_protected_attrs, only: [:update]
before_filter :check_editable_schedule_ids, only: [:create, :update]
before_filter :require_order_cycle_set_params, only: [:bulk_update]
around_filter :protect_invalid_destroy, only: :destroy
create.after :sync_subscriptions
update.after :sync_subscriptions
@@ -218,10 +219,14 @@ module Admin
end
def order_cycle_set
return unless params[:order_cycle_set]
OrderCycleSet.new(@order_cycles, params[:order_cycle_set])
end
def require_order_cycle_set_params
return if params[:order_cycle_set]
render json: { errors: t('admin.order_cycles.bulk_update.no_data') }, status: :unprocessable_entity
end
def ams_prefix_whitelist
[:basic, :index]
end

View File

@@ -811,6 +811,8 @@ en:
destroy_errors:
orders_present: That order cycle has been selected by a customer and cannot be deleted. To prevent customers from accessing it, please close it instead.
schedule_present: That order cycle is linked to a schedule and cannot be deleted. Please unlink or delete the schedule first.
bulk_update:
no_data: Hm, something went wrong. No order cycle data found.
producer_properties:
index:
title: Producer Properties

View File

@@ -222,8 +222,10 @@ module Admin
it "does nothing when no data is supplied" do
expect do
spree_put :bulk_update
spree_put :bulk_update, format: :json
end.to change(oc, :orders_open_at).by(0)
json_response = JSON.parse(response.body)
expect(json_response['errors']).to eq I18n.t('admin.order_cycles.bulk_update.no_data')
end
end