workarea 3.5.15 → 3.5.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +481 -0
  3. metadata +10 -10
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9c1de4a77ebc26c0f22c4612756cd74ead315753d4aadc9f3757b3088facb7da
4
- data.tar.gz: e65ba51df0b5b6a027e3e4e251df060b2d1b145bee8a3813515183498717da0c
3
+ metadata.gz: a9d83e57ebc873715ffec1c8778eb615e64940d7f17f0e128b9c8e835dd05d37
4
+ data.tar.gz: 8fffe204d6291e53c8759be61fa69ef39d8c664c8dd737fefb5e06e7dd43543a
5
5
  SHA512:
6
- metadata.gz: 12d89aacb5432dce53921ea244813da696403912c5982c66fe1eb7e21446981eda90df757a0c5a706e591131e55b30684ddb7cf9264fcbb33263207023ec5655
7
- data.tar.gz: ca54ea778182b40a1831fa89232216e99785dea734bce28f5a8b8795544aa437e35ac16736152f65b89740ae0cf6c9d1c0d03de89a491321f614f37284f4b597
6
+ metadata.gz: 3fe1377da5e3edb38651952dae858fd68605bdc6eef028d54ee8aa40d0b99aae18eeda3b37a46929e9d9ffd7a7398e92587ac333e294c92baf014773bc93d4bd
7
+ data.tar.gz: 49471d87ab03ac22ec521fda60d88da4b6669b02e9fff287e9e47a12e3de4e847dc5ccd329bba5aac5f2c5e53b588ead7e54bef0d851bede0486e8e26f0fa40a
@@ -1,3 +1,484 @@
1
+ Workarea 3.5.20 (2020-09-30)
2
+ --------------------------------------------------------------------------------
3
+
4
+ * Rename Admin::ProductViewModel#options to avoid conflict with normal options method
5
+
6
+
7
+ Matt Duffy
8
+
9
+ * Improve UX of default search filter sizes
10
+
11
+
12
+ Ben Crouse
13
+
14
+ * Improve clarity of discount verbiage
15
+
16
+ This hopes to address some recent confusion around how the discount
17
+ works.
18
+
19
+ Ben Crouse
20
+
21
+ * Fix safe navigation method calls
22
+
23
+ This will raise if the menu content is nil.
24
+
25
+ Ben Crouse
26
+
27
+ * Update preconfigured session length to match recommendations
28
+
29
+
30
+ Ben Crouse
31
+
32
+ * Remove unnecessary Capybara blocking when testing content is not present
33
+
34
+ Capybara's `page.has_content?` and similar methods block until a timeout
35
+ is reached if they can't find the content. This is not what we want if
36
+ we're checking that the content does *not* exist, switch to using
37
+ `refute_text` in these scenarios.
38
+
39
+ The timeout is equal to the number of installed plugins and we have
40
+ client apps with 30+, which means that the 38 instances removed in this
41
+ commit could represent twenty minutes of unnecessary blocking in some
42
+ scenarios.
43
+
44
+ Thanks to James Anaipakos in
45
+ https://discourse.workarea.com/t/capybara-refute-assertions-waiting-full-default-wait-time/1610
46
+ for alerting me to the issue.
47
+
48
+ Jonathan Mast
49
+
50
+ * Update docs/source/articles/decorate-and-write-tests.html.md
51
+
52
+ Co-authored-by: Ben Crouse <bcrouse@workarea.com>
53
+
54
+ Tom Scott
55
+
56
+ * Update docs/source/articles/decorate-and-write-tests.html.md
57
+
58
+ Co-authored-by: Ben Crouse <bcrouse@workarea.com>
59
+
60
+ Tom Scott
61
+
62
+ * Update docs/source/articles/http-caching.html.md
63
+
64
+ Co-authored-by: Ben Crouse <bcrouse@workarea.com>
65
+
66
+ Tom Scott
67
+
68
+ * Notate Rack::Cache Ignore Params In Documentation
69
+
70
+ Add documentation explaining why one might want to ignore query string
71
+ params in `Rack::Cache`, how to do it in a Workarea environment, and
72
+ which plugins will do it for you.
73
+
74
+ WORKAREA-287
75
+
76
+ Tom Scott
77
+
78
+ * Clarify Test Setup and Teardown in Documentation
79
+
80
+ Add documentation explaining why the `setup` and `teardown` macros are
81
+ recommended for use with Workarea to set up and teardown tests, as well
82
+ as some clear examples of how to do this properly.
83
+
84
+ WORKAREA-271
85
+
86
+ Tom Scott
87
+
88
+ * Handle `nil` Percentages in Tax Rates UI
89
+
90
+ The `TaxApplication` module already handles percentages that are not
91
+ present, but the tax rates UI expects values there. This results in some
92
+ avoidable 500 errors within admin when you blank out a tax rate
93
+ percentage field. To resolve this, Workarea now makes sure that all
94
+ percentages are of type `Float`, so they can be displayed as "0%" in
95
+ the admin whenever a `nil` value is encountered.
96
+
97
+ WORKAREA-278
98
+
99
+ Tom Scott
100
+
101
+ * Fix Precision of Tax Rates UI
102
+
103
+ The `:step` values of the new/edit forms and precision configuration for
104
+ `#number_to_percentage` were not only rounding certain tax rates to an
105
+ incorrect number, but were also showing a bunch of insignificant zeroes
106
+ in the admin for tax rates. To resolve this, configure
107
+ `#number_to_percentage` to have 3-decimal precision, and strip all
108
+ insignificant zeroes from the display, leaving the admin with a much
109
+ nicer percentage display than what was presented before.
110
+
111
+ WORKAREA-278
112
+
113
+ Tom Scott
114
+
115
+ * Redirect back to the previous page after stopping impersonation
116
+
117
+ Currently we redirect to the user's show page, which can be pretty
118
+ disorienting.
119
+
120
+ Ben Crouse
121
+
122
+
123
+
124
+ Workarea 3.5.19 (2020-09-16)
125
+ --------------------------------------------------------------------------------
126
+
127
+ * Fix Editing Product Images in Admin
128
+
129
+ When an image does not include an option, the edit page errors because
130
+ `#parameterize` cannot be called on `@image.option` since that is
131
+ returning `nil`. Additionally, the line of code in which this is called
132
+ is meant to set an ID attribute on the element for which an image is
133
+ rendered. There doesn't seem to be anything in our codebase that uses
134
+ this, and furthermore since there's no validation for unique options per
135
+ set of product images, this could cause a duplicate ID error in certain
136
+ scenarios. To resolve this, the ID attribute has been removed from this
137
+ `<img>` tag.
138
+
139
+ WORKAREA-254
140
+
141
+ Tom Scott
142
+
143
+ * Improve display of disabled toggles
144
+
145
+ When a toggle button is disabled, it should reflect that visually
146
+ instead of just looking like it should be functional.
147
+
148
+ Ben Crouse
149
+
150
+ * Add config to allow defining a default tax code for shipping services
151
+
152
+ WORKAREA-256
153
+
154
+ Matt Duffy
155
+
156
+ * Fix incorrect tracking and metrics after impersonation
157
+
158
+ Not managing the email cookie and unintentional merging of metrics leads
159
+ to incorrect values in the admin.
160
+
161
+ Ben Crouse
162
+
163
+ * Remove CSV Messaging For Options Fields
164
+
165
+ This removes the "Comma separated: just, like, this" messaging and
166
+ tooltip that explains more about comma-separated fields for filters and
167
+ details. Options do not have these same constraints, and this help
168
+ bubble just serves as a point of confusion for admins.
169
+
170
+ WORKAREA-266
171
+
172
+ Tom Scott
173
+
174
+ * Update inventory sku jump to text
175
+
176
+ Co-authored-by: Ben Crouse <bcrouse@workarea.com>
177
+
178
+ Matt Duffy
179
+
180
+ * Make Order::Item#fulfilled_by? the canonical check of item's fulfillment
181
+
182
+ Methods such as #shipping? and #download? defined from available
183
+ fulfillment policies now call #fulfilled_by rather than being called
184
+ by it. This allows #fulfilled_by? to be modified to support more
185
+ complex scenarios like bundled items from kits.
186
+
187
+ WORKAREA-273
188
+
189
+ Matt Duffy
190
+
191
+ * Update admin views for consistent display of inventory availability
192
+
193
+ WORKAREA-262
194
+
195
+ Matt Duffy
196
+
197
+
198
+
199
+ Workarea 3.5.18 (2020-09-01)
200
+ --------------------------------------------------------------------------------
201
+
202
+ * Set Default Inventory Policy to "Standard" in Create Product Workflow
203
+
204
+ When creating a new product through the workflow, setting the
205
+ "Inventory" on a particular SKU would still cause the `Inventory::Sku`
206
+ to be created with the "Ignore" policy rather than "Standard". Setting
207
+ inventory on a SKU now automatically causes the `Inventory::Sku` record
208
+ to be created with a policy of "Standard" so as to deduct the given
209
+ inventory to the varaint. When no inventory is given, Workarea will fall
210
+ back to the default of "Ignore".
211
+
212
+ WORKAREA-265
213
+
214
+ Tom Scott
215
+
216
+ * Fix Admin Configuration for Email Addresses
217
+
218
+ The hard-coded `config.email_from` and `config.email_to` settings
219
+ conflict with the out-of-box administrable configuration for the "Email
220
+ From" and "Email To" settings. This causes a warning for admins that
221
+ explain why the settings on "Email To" and "Email From" won't take
222
+ effect. Since the whole purpose of moving these settings to admin
223
+ configuration was to let admins actually change them, the
224
+ `config.email_from` and `config.email_to` settings have been removed
225
+ from both default configuration and the `workarea:install` generator.
226
+
227
+ WORKAREA-270
228
+
229
+ Tom Scott
230
+
231
+ * Add Permissions To Admin::ConfigurationsController
232
+
233
+ Admins without "Settings" access are no longer able to access the
234
+ administrable configuration settings defined in a Workarea application's
235
+ initializer.
236
+
237
+ WORKAREA-261
238
+
239
+ Tom Scott
240
+
241
+ * Handle missing or invalid current impersonation
242
+
243
+ This surfaced as a random failing test, this should make the feature more robust.
244
+
245
+ Ben Crouse
246
+
247
+ * Fix wrong sorting on default admin index pages
248
+
249
+ The query for an admin index page can end up inadvertantly introduce a
250
+ scoring variation, which can cause results to not match the `updated_at`
251
+ default sort.
252
+
253
+ This makes `updated_at` the true default sort, and allows the general
254
+ admin search to override, where `_score` is still the desired default
255
+ sort.
256
+
257
+ Ben Crouse
258
+
259
+ * Visually improve changesets card when no changesets
260
+
261
+
262
+ Ben Crouse
263
+
264
+ * Add modifier for better disabled workflow button display
265
+
266
+ This makes it visually clearer that a workflow button is disabled.
267
+
268
+ Ben Crouse
269
+
270
+ * Add asset index view heading append point
271
+
272
+
273
+ Ben Crouse
274
+
275
+ * Pass user into append point
276
+
277
+
278
+ Ben Crouse
279
+
280
+ * Add append point for storefront admin toolbar
281
+
282
+
283
+ Ben Crouse
284
+
285
+ * Add Rack env key for checking whether it's an asset request
286
+
287
+ This is useful for plugins like site builder. This also reduces
288
+ allocations by moving the regex into a constant and consolidates the
289
+ check from multiple spots.
290
+
291
+ This also skips force passing Rack::Cache for asset requests if you're
292
+ an admin (minor performance improvement).
293
+
294
+ Ben Crouse
295
+
296
+ * Add param to allow disabling the admin toolbar in the storefront
297
+
298
+ Used in the site builder plugin. Add disable_admin_toolbar=true to the
299
+ query string to turn off the admin toolbar for that page.
300
+
301
+ Ben Crouse
302
+
303
+ * Add minor remote selects features to support site builder
304
+
305
+ This includes an option for the dropdown parent, and an option to allow
306
+ autosubmitting a remote select upon selection.
307
+
308
+ Ben Crouse
309
+
310
+ * Fix constant loading error related to metrics
311
+
312
+ Sometimes an error will be raised when Workarea middleware is doing
313
+ segmentation logic around `Metrics::User`.
314
+
315
+ Ben Crouse
316
+
317
+ * Move rake task logic into modules
318
+
319
+ This will allow decorating this logic for plugins or builds that need
320
+ to. For example, site builder needs to search-index resources that are
321
+ unique per-site.
322
+
323
+ Ben Crouse
324
+
325
+ * Add append point for admin top of page
326
+
327
+
328
+ Ben Crouse
329
+
330
+
331
+
332
+ Workarea 3.5.17 (2020-08-19)
333
+ --------------------------------------------------------------------------------
334
+
335
+ * Fix missing release changes for CSV importing with embedded models
336
+
337
+ Trying to update an embedded model via CSV import with a release causes
338
+ an existing changeset for the root model to get destroyed. This happens
339
+ because the CSV import calls `#save` on the root, which has no changes
340
+ so it removes the changeset.
341
+
342
+ This patch fixes by iterating over the models the CSV row might affect
343
+ and calling `#save` on the embedded ones first (if necessary) to ensure
344
+ the changesets get correctly created and to avoid calling the save on
345
+ the root without changes which removes the existing changeset.
346
+
347
+ Ben Crouse
348
+
349
+ * Return Status of `Checkout#update`
350
+
351
+ For APIs and other consumers of the Checkout model, return a boolean
352
+ response from the `#update` method to signify whether the operation
353
+ succeeded or failed. This response is used directly in the API to return
354
+ an `:unprocessable_entity` response code when an update operation fails.
355
+
356
+ WORKAREA-253
357
+
358
+ Tom Scott
359
+
360
+ * Remove port from host configuration in installer
361
+
362
+ Ports aren't part of hosts, this causes problems when the value is used
363
+ like a true host.
364
+
365
+ This PR also fixes mailer links with missing ports as a result of this
366
+ change.
367
+
368
+ Ben Crouse
369
+
370
+ * Bump Chartkick to fix bundler audit warning
371
+
372
+ The vulnerability won't affect Workarea in use, but it'll be easier to fix builds doing this.
373
+
374
+ Ben Crouse
375
+
376
+ * Allow inquiry subjects to be localized
377
+
378
+ WORKAREA-238
379
+
380
+ Matt Duffy
381
+
382
+ * Update inquiry subject documentation
383
+
384
+ WORKAREA-238
385
+
386
+ Matt Duffy
387
+
388
+ * Remove order summary append point from mailer that is meant for storefront views
389
+
390
+
391
+ Matt Duffy
392
+
393
+
394
+
395
+ Workarea 3.5.16 (2020-07-22)
396
+ --------------------------------------------------------------------------------
397
+
398
+ * Add js module to allow inserting remote requests onto the page
399
+
400
+
401
+ Matt Duffy
402
+
403
+ * Configure Sliced Credit Card Attributes
404
+
405
+ To prevent an unnecessary decoration of the `Workarea::Payment` class,
406
+ the attributes sliced out of the Hash given to `Workarea::Payment#set_credit_card`
407
+ is now configurable in initializers. This same set of attributes is also
408
+ used in the `Users::CreditCardsController`, so the configuration will be
409
+ reused when users are attempting to add a new credit card to their
410
+ account.
411
+
412
+ WORKAREA-257
413
+
414
+ Tom Scott
415
+
416
+ * Setup PlaceOrderIntegrationTest in a Method
417
+
418
+ Currently, decorating the PlaceOrderIntegrationTest to edit the way its
419
+ set up (such as when adding an additional step) is impossible, you have
420
+ to basically copy everything out of the `setup` block and duplicate it
421
+ in your tests. Setup blocks should be methods anyway, so convert this to
422
+ a method and allow it to be decorated in host apps.
423
+
424
+ Tom Scott
425
+
426
+ * Fix `Hash#[]` Access On Administrable Options
427
+
428
+ Accessing administrable options on `Workarea.config` can produce
429
+ unexpected results if you don't use the traditional method accessor
430
+ syntax. For example, an admin field like this:
431
+
432
+ ```ruby
433
+ Workarea::Configuration.define_fields do
434
+ field :my_admin_setting, type: :string, default: 'default value'
435
+ end
436
+ ```
437
+
438
+ ...will only be available at `Workarea.config.my_admin_setting`:
439
+
440
+ ```ruby
441
+ Workarea.config.my_admin_setting # => "default value"
442
+ Workarea.config[:my_admin_setting] # => nil
443
+ ```
444
+
445
+ To resolve this, the code for fetching a key's value from the database
446
+ has been moved out of `#method_missing` and into an override of `#[]`.
447
+ [Since the OrderedOptions superclass already overrides this][1] to call
448
+ `#[]`, we can safely move this code and still maintain all functionality.
449
+
450
+ [1]: https://github.com/rails/rails/blob/fbe2433be6e052a1acac63c7faf287c52ed3c5ba/activesupport/lib/active_support/ordered_options.rb#L41-L58
451
+
452
+ Tom Scott
453
+
454
+ * Fix race condition when merging user metrics
455
+
456
+
457
+ Ben Crouse
458
+
459
+ * Improve Content Area Select UX
460
+
461
+ Remove the current content name and replace it with a static label
462
+ indicating what the `<select>` menu to the right of it is selecting,
463
+ which is the current content area. This UI only displays when there are
464
+ multiple areas for a given `Content`.
465
+
466
+ WORKAREA-244
467
+
468
+ Tom Scott
469
+
470
+ * Changes to support package product kits
471
+
472
+
473
+ Matt Duffy
474
+
475
+ * Update inventory and fulfillment sku policy info text, allow appending
476
+
477
+
478
+ Matt Duffy
479
+
480
+
481
+
1
482
  Workarea 3.5.15 (2020-07-07)
2
483
  --------------------------------------------------------------------------------
3
484
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: workarea
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.5.15
4
+ version: 3.5.20
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ben Crouse
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-07-07 00:00:00.000000000 Z
11
+ date: 2020-09-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: workarea-core
@@ -16,56 +16,56 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 3.5.15
19
+ version: 3.5.20
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 3.5.15
26
+ version: 3.5.20
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: workarea-storefront
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - '='
32
32
  - !ruby/object:Gem::Version
33
- version: 3.5.15
33
+ version: 3.5.20
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - '='
39
39
  - !ruby/object:Gem::Version
40
- version: 3.5.15
40
+ version: 3.5.20
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: workarea-admin
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - '='
46
46
  - !ruby/object:Gem::Version
47
- version: 3.5.15
47
+ version: 3.5.20
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - '='
53
53
  - !ruby/object:Gem::Version
54
- version: 3.5.15
54
+ version: 3.5.20
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: workarea-testing
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - '='
60
60
  - !ruby/object:Gem::Version
61
- version: 3.5.15
61
+ version: 3.5.20
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - '='
67
67
  - !ruby/object:Gem::Version
68
- version: 3.5.15
68
+ version: 3.5.20
69
69
  description: Workarea is an enterprise-grade Ruby on Rails commerce platform.
70
70
  email:
71
71
  - bcrouse@workarea.com