workarea 3.5.15 → 3.5.20

Sign up to get free protection for your applications and to get access to all the features.
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