The way we set up email sending completely changes with Spree 2. This
change encapsulates that code in a single method so that it can be
changed easily and doesn't create further merge conflicts while we are
still working on the master branch and the Spree upgrade.
When a user hit cancel while editing a product it took them to the spree
products index page instead of the bulk edit page. The button was part
of a shared view for all resources so changing it's actions were not
readily available.
It was suggested that instead of carrying our own separate controller
action we could just override the index action of the products
controller with the bulk edit functionality instead. This has the
advantage of removing some overrides and allows us to not add
additional overrides in the future.
Assigns meaningful names to the boolean conditions to make it easier
to understand, breaks down the big and nested if/else and converts the
specs to RSpec 3.
Note the check `!spree_current_user.admin?` has been removed because
in admin/base_controller_decorator.rb `#authorize_admin` is already
called.
On my computer it took 3 seconds to load all four orders with all the
attached order cycles and enterprises.
Runtime before: 56.38 seconds
Runtime after: 25.14 seconds
This really speeds up developing reports.
This conversion is done by Transpec 3.3.0 with the following command:
transpec spec/controllers/spree/admin/reports_controller_spec.rb
* 20 conversions
from: obj.should
to: expect(obj).to
* 14 conversions
from: obj.should_not
to: expect(obj).not_to
* 5 conversions
from: == expected
to: eq(expected)
* 4 conversions
from: obj.stub(:message)
to: allow(obj).to receive(:message)
* 2 conversions
from: obj.should_receive(:message)
to: expect(obj).to receive(:message)
For more details: https://github.com/yujinakayama/transpec#supported-conversions
Extracts the JSON response from the admin's line item controller which
are only used by the bulk management feature into its own controller.
This decouples spree from an OFN-only feature and allows to remove
unnecessary code. Furthermore, Admin::LineItemsController is gone in
Spree 2.4.0.beta. See: https://github.com/spree/spree/pull/5280