Workarea 3.1.19

Missing SVGs in WYSIWYG Editor

There was some configuration preventing SVGs from being displayed in the WYSIWYG editor. Although we fixed this issue a few patch versions back, it reared its ugly head recently due to a change in how InlineSvg set its initial asset finder. In an attempt to preserve existing functionality and prevent problems, we conditionally add our own asset finder if the finder in InlineSvg wasn't going to work for us. However, the gem now configures this asset finder after we are configuring our own, making that conditional configuration no longer possible. We're now only setting InlineSvg.config.asset_finder if the asset finder hasn't already been set.

Issues

Pull Requests

Commits

Always Store Total Results from Analytics as an Integer

Since the Analytics::Search#total_results attribute is stored using MongoDB's #set command, it doesn't go through the Mongoid type-casting process, which in turn can cause String data to be saved into the database. We're now ensuring that the data saved into this field is cast to an Integer prior to being persisted.

Issues

Pull Requests

Commits

Fix ordering for embedded documents

When a model is embedded within another model, the object given back is not always a Mongoid::Criteria, causing some strange issues when using (or decorating) one of these models. Update the Workarea::Ordering mixin to explicitly return the parent's criteria when finding siblings of a given document.

Issues

Pull Requests

Commits

Disallow Search Customizations for "*" Queries

The Elasticsearch * query has special meaning, always returning all documents in the index in whatever faceting/ordering you specify. They won't be deleteable as of v3.2, so it's best to just not allow admins to create search customizations for the "*" query at all.

Issues

Pull Requests

Commits

Fix Discrepancy in "Missing Variants" Alert

The alert for missing variants renders a different number than what is actually on the page. The link to the results of this query tacks on an additional ?status=active flag to filter out products that are inactive. This is inconsistent with the number displayed on the alert, which has no condition. Since products missing variants are by default inactive, we are removing this additional param as it serves no purpose anymore. The amount of products with missing variants in the alert and the amount of products on the results page are now equal.

Issues

Pull Requests

Commits

Define reverse association from Fulfillment::Item to Fulfillment

The lack of this reverse association caused some cognitive overhead, but was also the root cause of a bug involving Mongoid's atomic updates system, which produced an error in the admin when attempting to update fulfillment items.

Issues

Pull Requests

Commits

Show category name in the timeline when updating category product rules

When updating a product rule based on a given category, we're now showing the category's full name in the timeline rather than its BSON ID. This helps identify the categories added/removed to another category's rules.