Workarea 3.3.5

Patch release notes for Workarea 3.3.5.

Fix Error in Image Collection When Missing Product Image Option

When a product image's option is explicitly set to nil, an error occurred in the Workarea::ImageCollection when trying to determine whether the option was selected. Ensure that image.option is a String prior to making this comparison to prevent a cryptic NoMethodError from occurring.

Issues

Pull Requests

Commits

Fix Error on Display of Email Content Updates in Activity Feed

When email content updates were displayed in the activity feed, a syntax error was thrown due to a lack of parenthesis at the else end of a ternary statement in Haml. Once this error was resolved, however, a new error would be thrown stating that Content::Email#name was not a method. Workarea now defines this method on Content::Email as the titleized version of #type, in order to view the activity feed for email content properly in admin.

Issues

Pull Requests

Commits

Add IDs to all Text Heading Tags in Documentation

Add custom renderer for including id="" attributes in heading text for linking purposes.

Issues

Pull Requests

Commits

Don't Send Status Email To Non Admins

If admin permissions are only partially removed from a user, status emails can still be sent to email addresses which are no longer admins. Check :admin status in addition to :status_email_recipient when finding emails to send status emails to.

Issues

Pull Requests

Commits

Don't Send Refund Emails When Amount is Zero

When an order for $0.00 is refunded, a transactional email was sent indicating that the order had been refunded. The core system no longer does this, instead refraining to deliver the email if the refund amount is $0.00.

Issues

Pull Requests

Commits

This regression was introduced in v3.2.0 when the product's ID from the #search_text was removed in order to improve matching. That field is full-text analyzed, and was causing incorrect matches to occur when performing an admin search, but as a result of its removal, the "jump to" autocomplete would no longer match on product ID or SKUs. These data points have been added into the #jump_to_search_text field, which is not analyzed as fulltext, so that products can be matched by ID or SKUs in the jump-to autocomplete.

Issues

Pull Requests

Commits

Assign Dragonfly Attributes in Data File Imports

When importing catalog products with embedded image URLs, e.g. with the header images_image_url, the image could not be added because the attribute was not being sensed as a field on the model. Now, attributes that start with any dragonfly_accessor field names (such as "image") are assigned to the model explicitly, in order to go through the right procedures that Dragonfly (and the rest of our app) expects.

Issues

Pull Requests

Commits

Use Asset Host From ENV Variable

To ease configuring an application when it is hosted in production, Workarea now reads the Rails.configuration.asset_host configuration from a $WORKAREA_ASSET_HOST environment variable if it's present. This allows the infrastructure/hosting team to define a CDN URL without needing intervention by an implementation team.

Issues

Pull Requests

Commits

Adjusts wysihtml5 to use the correct method for preserving link targets. This was previously called preserve:, but the reference was never adjusted when upgrading the library in v3. It has been adjusted to any, which is the new syntax for doing the same thing.

Solved by Kristin Henson.

Issues

Pull Requests

Commits

Fix Issue with Rack::Attack Throttle on Forgot Password Attempts

Requests to the Forgot Password page, now protected with Rack::Attack, were being blocked on the first try for everyone. This was due to inconsistent names for the block argument request handler, req and request. The out-of-box Rack::Attack configuration now uses request for the block argument every time, improving consistency and readability.

Issues

Pull Requests

Commits

Prevent Unexpected Behavior in Drawers Caused By Optional Fields

Event propagation was causing unexpected behaviour with optional fields within drawers, causing the drawer to close when the prompt is removed. Preventing propagation allows the optionalFields module to work in the context of a drawer.

Issues

Pull Requests

Commits

Now on GitHub