workarea-admin 3.4.21 → 3.4.22
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.
- checksums.yaml +4 -4
- data/app/controllers/workarea/admin/content_assets_controller.rb +1 -3
- data/app/controllers/workarea/admin/data_file_imports_controller.rb +1 -1
- data/app/helpers/workarea/admin/application_helper.rb +10 -0
- data/app/views/workarea/admin/data_file_imports/new.html.haml +1 -1
- data/app/views/workarea/admin/pricing_discounts/edit.html.haml +16 -5
- data/config/locales/en.yml +2 -0
- data/test/helpers/workarea/admin/application_helper_test.rb +16 -0
- data/test/integration/workarea/admin/assets_integration_test.rb +4 -2
- data/test/integration/workarea/admin/data_file_imports_integration_test.rb +8 -0
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b32e6145f8e516f84b24cea472151ef5821625ad0bb9b58b63d190b38cadd82b
|
4
|
+
data.tar.gz: 10600313f90bff7a68beeb48f734e050e8d97de0d8b8a11d6a2b5dbed7b441aa
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6dfc32ad70d7d4f0171d9afda5ca88ff69b263939fb6f730c8615be88b462c929d88fdbcf4429cdc894ad5f136fb642b3b5a46d7b1f1d563410b6ad28ace69ae
|
7
|
+
data.tar.gz: cb490aad1714c7c2679ace4c67657d9ac2665a9bce53f4c9e42b9035070f8c3d5155b7a88a7093f73429ff0e214428ea4a1c671af19f260d8af3a6105f322c40
|
@@ -7,9 +7,7 @@ module Workarea
|
|
7
7
|
after_action :track_index_filters, only: :index
|
8
8
|
|
9
9
|
def index
|
10
|
-
if Configuration::S3.configured?
|
11
|
-
DirectUpload.ensure_cors!(request.url)
|
12
|
-
end
|
10
|
+
DirectUpload.ensure_cors!(request.url) if Configuration::S3.configured?
|
13
11
|
|
14
12
|
search = Search::AdminAssets.new(params)
|
15
13
|
@search = Admin::SearchViewModel.new(search, view_model_options)
|
@@ -8,7 +8,7 @@ module Workarea
|
|
8
8
|
|
9
9
|
def sample
|
10
10
|
filename = "#{@import.name.downcase.underscore}.#{@import.file_type}"
|
11
|
-
send_data @import.sample_file_content, filename: filename, type: @import.
|
11
|
+
send_data @import.sample_file_content, filename: filename, type: @import.mime_type, disposition: :attachment
|
12
12
|
end
|
13
13
|
|
14
14
|
def create
|
@@ -156,6 +156,16 @@ module Workarea
|
|
156
156
|
new_query_string_params = request.query_parameters.merge(page: page)
|
157
157
|
"#{request.path}?#{new_query_string_params.to_query}"
|
158
158
|
end
|
159
|
+
|
160
|
+
def duration_in_words(duration)
|
161
|
+
parts = duration.parts
|
162
|
+
return t('workarea.duration.seconds', count: 0) if parts.empty?
|
163
|
+
|
164
|
+
parts
|
165
|
+
.sort_by { |unit, _ | ActiveSupport::Duration::PARTS.index(unit) }
|
166
|
+
.map { |unit, val| t("workarea.duration.#{unit}", count: val) }
|
167
|
+
.to_sentence
|
168
|
+
end
|
159
169
|
end
|
160
170
|
end
|
161
171
|
end
|
@@ -33,7 +33,7 @@
|
|
33
33
|
- Workarea.config.data_file_formats.each do |file_type|
|
34
34
|
= link_to_unless @import.file_type.to_s == file_type.to_s, file_type.upcase, url_for(import: { model_type: @import.model_type, file_type: file_type }), data: { turbolinks: false }
|
35
35
|
%br
|
36
|
-
= link_to t('workarea.admin.data_file_imports.new.download_sample'), url_for(params.merge(action: 'sample')) if @import.samples.present?
|
36
|
+
= link_to t('workarea.admin.data_file_imports.new.download_sample'), url_for(params.merge(action: 'sample', format: @import.file_type)) if @import.samples.present?
|
37
37
|
|
38
38
|
- if @import.samples.blank?
|
39
39
|
%p.align-center= t('workarea.admin.data_file_imports.new.no_samples')
|
@@ -30,11 +30,22 @@
|
|
30
30
|
= text_field_tag 'discount[tag_list]', @discount.tag_list, class: 'text-box'
|
31
31
|
%span.property__note= t('workarea.admin.form.csv_field_note')
|
32
32
|
|
33
|
-
.
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
33
|
+
.grid
|
34
|
+
.grid__cell.grid__cell--50.grid__cell--25-at-medium
|
35
|
+
.property
|
36
|
+
%span.property__name
|
37
|
+
= t('workarea.admin.fields.active')
|
38
|
+
= inline_svg('workarea/admin/i18n.svg', class: 'svg-icon svg-icon--small') if locale_options.many? && Workarea.config.localized_active_fields
|
39
|
+
= toggle_button_for 'discount[active]', @discount.active?
|
40
|
+
.grid__cell.grid__cell--50.grid__cell--25-at-medium
|
41
|
+
.property
|
42
|
+
%span.property__name
|
43
|
+
= t('workarea.admin.fields.auto_deactivate')
|
44
|
+
= link_to '#auto-deactivate-info', data: { tooltip: '' } do
|
45
|
+
= inline_svg('workarea/admin/icons/help.svg', class: 'svg-icon svg-icon--small svg-icon--blue')
|
46
|
+
= toggle_button_for 'discount[auto_deactivate]', @discount.auto_deactivate?
|
47
|
+
|
48
|
+
#auto-deactivate-info.tooltip-content= t('workarea.admin.pricing_discounts.edit.auto_deactivate_info', duration: duration_in_words(Workarea.config.discount_staleness_ttl))
|
38
49
|
|
39
50
|
.grid
|
40
51
|
.grid__cell.grid__cell--33.grid__cell--25-at-medium
|
data/config/locales/en.yml
CHANGED
@@ -1502,6 +1502,7 @@ en:
|
|
1502
1502
|
allow_sale_items: Allow Sale Items
|
1503
1503
|
allow_sale_items: Allow Sale Items
|
1504
1504
|
amount: Amount
|
1505
|
+
auto_deactivate: Auto Deactivate
|
1505
1506
|
automate_metadata: Automate Metadata
|
1506
1507
|
available: Available Units
|
1507
1508
|
avatar: Avatar
|
@@ -2661,6 +2662,7 @@ en:
|
|
2661
2662
|
list_help: You can allow more than one user tag for this discount by separating them with commas, e.g. vip, employee.
|
2662
2663
|
edit:
|
2663
2664
|
page_title: Attributes for %{name}
|
2665
|
+
auto_deactivate_info: A discount that can be auto-deactivated will becomes inactive automatically if it has not been updated or redeemed in the last %{duration}.
|
2664
2666
|
flash_messages:
|
2665
2667
|
removed: These changes have been removed
|
2666
2668
|
saved: Your changes have been saved
|
@@ -78,6 +78,22 @@ module Workarea
|
|
78
78
|
result = pagination_path_for(page: 2)
|
79
79
|
assert_equal('/foo?asdf=blah&page=2', result)
|
80
80
|
end
|
81
|
+
|
82
|
+
def test_duration_in_words
|
83
|
+
assert_equal(
|
84
|
+
t('workarea.duration.days', count: 2),
|
85
|
+
duration_in_words(2.days)
|
86
|
+
)
|
87
|
+
|
88
|
+
assert_equal(
|
89
|
+
[
|
90
|
+
t('workarea.duration.years', count: 1),
|
91
|
+
t('workarea.duration.months', count: 2),
|
92
|
+
t('workarea.duration.days', count: 12),
|
93
|
+
].to_sentence,
|
94
|
+
duration_in_words(2.months + 1.years + 12.days)
|
95
|
+
)
|
96
|
+
end
|
81
97
|
end
|
82
98
|
end
|
83
99
|
end
|
@@ -6,13 +6,15 @@ module Workarea
|
|
6
6
|
include Admin::IntegrationTest
|
7
7
|
|
8
8
|
def test_ensures_cors_policy_for_bulk_upload
|
9
|
-
|
9
|
+
Workarea.s3.expects(:put_bucket_cors).once
|
10
10
|
get admin.content_assets_path
|
11
11
|
assert(response.ok?)
|
12
12
|
|
13
|
-
DirectUpload.expects(:ensure_cors!).never
|
14
13
|
get admin.content_assets_path, xhr: true
|
15
14
|
assert(response.ok?)
|
15
|
+
|
16
|
+
get admin.content_assets_path
|
17
|
+
assert(response.ok?)
|
16
18
|
end
|
17
19
|
|
18
20
|
def test_can_create_an_asset
|
@@ -79,6 +79,14 @@ module Workarea
|
|
79
79
|
|
80
80
|
file = create_tempfile(response.body, extension: file_type)
|
81
81
|
assert(IO.read(file.path).present?)
|
82
|
+
assert_equal(
|
83
|
+
"#{MIME::Types.type_for(file_type).first.to_s}; charset=utf-8",
|
84
|
+
response.headers['Content-Type']
|
85
|
+
)
|
86
|
+
assert_equal(
|
87
|
+
%(attachment; filename="catalog product.#{file_type}"),
|
88
|
+
response.headers['Content-Disposition']
|
89
|
+
)
|
82
90
|
|
83
91
|
assert_no_changes 'Catalog::Product.first' do
|
84
92
|
post admin.data_file_imports_path,
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: workarea-admin
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.4.
|
4
|
+
version: 3.4.22
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ben Crouse
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-11-
|
11
|
+
date: 2019-11-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: workarea-core
|
@@ -16,28 +16,28 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - '='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 3.4.
|
19
|
+
version: 3.4.22
|
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.4.
|
26
|
+
version: 3.4.22
|
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.4.
|
33
|
+
version: 3.4.22
|
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.4.
|
40
|
+
version: 3.4.22
|
41
41
|
description: Provides site administration functionality for the Workarea Commerce
|
42
42
|
Platform.
|
43
43
|
email:
|