- When creating a new order, it's not necessary to display the "Line items can't be blank" as the order has just been created and the user is rightly doing configuration about line items
The previous permissions assumed that an adjustment's "adjustable" could only be only line items or orders, and that's no longer true. It's now commonly a shipment or a payment as well.
There's no need to create an instance of such class for every call to
one of its methods. The balance is computed each time anyway, so it'll
always be up-to-date.
This keeps the `OrderBalance` abstraction but removes the old code now
that the feature is enabled for all users in all instances and there are
no bugs reported. It's become dead code.
We were also patching ActiveRecord::Relation for the `#find_by_param`
methods but we are not using those any more. They were deprecated a
while ago. We now use `find_by(permalink: ...)`.
This guard clause was returning an instance of an unpermitted Params object (containing a blank hash) here, which was causing unexpected results in various places. Returning a blank hash explicitly resolved the issue.
Fixes:
4) Admin::OrderCyclesController create as a manager of a shop when creation is successful returns success: true and a valid edit path
Failure/Error:
@order_cycle_params ||= PermittedAttributes::OrderCycle.new(params).call.
to_h.with_indifferent_access
ActionController::UnfilteredParameters:
unable to convert unpermitted parameters to hash
# ./app/controllers/admin/order_cycles_controller.rb:245:in `order_cycle_params'
# ./app/controllers/admin/order_cycles_controller.rb:44:in `create'
# ./spec/support/controller_requests_helper.rb:49:in `process_action_with_route'
# ./spec/support/controller_requests_helper.rb:27:in `spree_post'
# ./spec/controllers/admin/order_cycles_controller_spec.rb:124:in `block (5 levels) in <module:Admin>'
- As VariantUnitManager.variantUnitOptions() returns array formatted like this: `"Weight (g)", "weight_1"` and `product.variant_unit_scale` is formatted like this `weight_1.0` there is no possible match for the <select /> element
- So, remove the trailing `.0` from `product.variant_unit_scale` to match the options
Fixes:
2) Spree::Classification won't destroy if classification is the primary taxon
(Used from /home/runner/work/openfoodnetwork/openfoodnetwork/spec/models/enterprise_group_spec.rb:43:in `block (3 levels) in <top (required)>')
Failure/Error: expect(classification.destroy).to be false
Fixes:
Api::V0::TaxonsController as an admin cannot create a new taxon with invalid taxonomy_id
Failure/Error: expect(json_response["error"]).to eq("Invalid resource. Please fix errors and try again.")
expected: "Invalid resource. Please fix errors and try again."
got: nil
(compared using ==)
# ./spec/controllers/api/v0/taxons_controller_spec.rb:105:in `block (3 levels) in <top (required)>'
- Use the ActiveRecord adapter
- Use a middle to cache data through memoization (see https://github.com/jnunemaker/flipper/blob/master/docs/Optimization.md)
- Create the group `admins`: only user which are admins
- Create `unit_price` feature attached to `admins` group
- Add method `flipper_id` on User