With the help of the bullet gem, and since we remove a couple of N+1s
already, remove them all was just a few keystrokes away. This commits
gets us from 42 SQL queries to 17, and 364.5ms to 253.9ms on my machine
where I just have the sample data's orders. As usual, this will have
a much bigger impact in scenarios with more data.
This removes the N+1 queries caused by
`Api::Admin::OrderSerialier#ready_to_capture` when used from
`Api::OrdersController#index`. While it's fine for the single-order
controller actions, it's not for this one that deals with a collection
of orders.
Fortunately, `SearchOrders` is used only in this controller action so we
can put the `includes` calls there, otherwise, we would need to refactor
it a bit to pass in a context-specific AR relation.
The "map" page didn't have a separate Transifex string for the page title. Instead the string 'label_map' was being used, which is also used elsewhere on the website. So no good idea to change that.
To make the page title independent from 'label_map' the title string is changed to 'map_title' (like on shops page, producers page etc.).
- Thus, warning about modifying the opening date of an order cycle with active subscription will trigger (see `spec/features/admin/order_cycles/list_spec.rb`)
- As we use `altInput`, the original input is hidden. This plugin forward the `id` attribute of the original input to the input created on-the-fly and used by end user.
The enterprise fees are recreated and the shipping and payment fees are updated. The rest of the deleted code is not necessary (eg #with_open_adjustments). Everything else that needs to happen here is already done automatically (eg updating order totals).
- We now use altInput which is the only visible input to the end user.
- This input inherits all the classes from the component who instantiated it, but not the `.flatpickr-input` class.
- Add more specification to have a beautiful white background with pointer component.
- altInput is used to display the date to the end user: this field must be i18nized
- dateFormat is the date format used through the front and the backend
- Use a new class to specify css customization
- Add to `line_item.rb` a fake method: `unit_price_price_and_unit` @andrewpbrett will change it with real values.
- Add a new variable: $text-xs to specify small font-size
squash "Display unit price on /cart page"
- .total-price element must be a div (display: block) to be text right aligned (and not being float: right)
- use .option-text to display a grey text
- use display: flex to display question mark icon and text information
Rails 5 introduced some breaking changes to these built-in methods, and the new versions no longer work correctly in relation to decrementing stock with VariantOverrides.