solidus_reviews 1.6.0 → 1.7.0
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/models/spree/review.rb +17 -0
- data/app/overrides/spree/products/show/add_reviews_after_product_properties.html.erb.deface +3 -0
- data/config/initializers/add_spree_reviews_to_menu.rb +33 -0
- data/lib/solidus_reviews/version.rb +1 -1
- data/spec/models/review_spec.rb +12 -0
- metadata +5 -6
- data/app/overrides/add_reviews_after_product_properties.rb +0 -7
- data/app/overrides/add_reviews_tab_to_admin.rb +0 -20
- data/app/overrides/add_reviews_to_admin_configuration_sidebar.rb +0 -20
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a4e942dd7285deb7b0cf758d8fbe4a953ce2b963633663548973d92d3de96011
|
4
|
+
data.tar.gz: 13c4dcf8795994edf582f417d48b584d1cebc8c393656c43d0688a75301aa500
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 32089cd4cb4ab16ef7da9cb8f6f865a01d0e98676f274736a2ec6978227390434b10bbe03ce64e5ee6df3ce9a69c15a306f57fab5164bd65be04ede4e67d090d
|
7
|
+
data.tar.gz: b6020cf9ef67a93fee51d2c9622a1b62d1423414396781159048f47965ec0e4b289069fb7576fea5d4aaae9eb02cfdc73abfce6231f6fedd4599734ba1f1cb2e
|
data/app/models/spree/review.rb
CHANGED
@@ -27,6 +27,23 @@ class Spree::Review < ApplicationRecord
|
|
27
27
|
scope :not_approved, -> { where(approved: false) }
|
28
28
|
scope :default_approval_filter, -> { Spree::Reviews::Config[:include_unapproved_reviews] ? all : approved }
|
29
29
|
|
30
|
+
def self.ransackable_attributes(*)
|
31
|
+
[
|
32
|
+
"approved",
|
33
|
+
"name",
|
34
|
+
"review",
|
35
|
+
"title"
|
36
|
+
]
|
37
|
+
end
|
38
|
+
|
39
|
+
def self.ransackable_associations(*)
|
40
|
+
[
|
41
|
+
"feedback_reviews",
|
42
|
+
"product",
|
43
|
+
"user"
|
44
|
+
]
|
45
|
+
end
|
46
|
+
|
30
47
|
def feedback_stars
|
31
48
|
return 0 if feedback_reviews.size <= 0
|
32
49
|
|
@@ -0,0 +1,33 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
Rails.application.config.to_prepare do
|
4
|
+
Spree::Backend::Config.configure do |config|
|
5
|
+
config.menu_items = config.menu_items.map do |item|
|
6
|
+
if item.label.to_sym == :settings
|
7
|
+
# The API of the MenuItem class changes in Solidus 4.2.0
|
8
|
+
if item.respond_to?(:children)
|
9
|
+
item.children << Spree::BackendConfiguration::MenuItem.new(
|
10
|
+
label: :reviews,
|
11
|
+
condition: -> { can?(:admin, Spree::ReviewsConfiguration) },
|
12
|
+
url: -> { Spree::Core::Engine.routes.url_helpers.edit_admin_review_settings_path },
|
13
|
+
match_path: /review_settings/
|
14
|
+
)
|
15
|
+
else
|
16
|
+
item.sections << :reviews
|
17
|
+
end
|
18
|
+
elsif item.label.to_sym == :products
|
19
|
+
if item.respond_to?(:children)
|
20
|
+
item.children << Spree::BackendConfiguration::MenuItem.new(
|
21
|
+
label: :reviews,
|
22
|
+
condition: -> { can?(:admin, Spree::Review) },
|
23
|
+
url: -> { Spree::Core::Engine.routes.url_helpers.admin_reviews_path },
|
24
|
+
match_path: /reviews/
|
25
|
+
)
|
26
|
+
else
|
27
|
+
item.sections << :reviews
|
28
|
+
end
|
29
|
+
end
|
30
|
+
item
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
data/spec/models/review_spec.rb
CHANGED
@@ -123,6 +123,18 @@ describe Spree::Review do
|
|
123
123
|
end
|
124
124
|
end
|
125
125
|
|
126
|
+
describe '.ransackable_attributes' do
|
127
|
+
subject { described_class.ransackable_attributes }
|
128
|
+
|
129
|
+
it { is_expected.to contain_exactly("approved", "name", "review", "title") }
|
130
|
+
end
|
131
|
+
|
132
|
+
describe '.ransackable_associations' do
|
133
|
+
subject { described_class.ransackable_associations }
|
134
|
+
|
135
|
+
it { is_expected.to contain_exactly("feedback_reviews", "product", "user") }
|
136
|
+
end
|
137
|
+
|
126
138
|
describe '#recalculate_product_rating' do
|
127
139
|
let(:product) { create(:product) }
|
128
140
|
let!(:review) { create(:review, product: product) }
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: solidus_reviews
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Solidus Contrib
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-01-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: solidus_core
|
@@ -115,9 +115,7 @@ files:
|
|
115
115
|
- app/models/spree/review.rb
|
116
116
|
- app/models/spree/reviews_ability.rb
|
117
117
|
- app/models/spree/reviews_configuration.rb
|
118
|
-
- app/overrides/add_reviews_after_product_properties.
|
119
|
-
- app/overrides/add_reviews_tab_to_admin.rb
|
120
|
-
- app/overrides/add_reviews_to_admin_configuration_sidebar.rb
|
118
|
+
- app/overrides/spree/products/show/add_reviews_after_product_properties.html.erb.deface
|
121
119
|
- app/views/spree/admin/feedback_reviews/index.html.erb
|
122
120
|
- app/views/spree/admin/review_settings/edit.html.erb
|
123
121
|
- app/views/spree/admin/reviews/_form.html.erb
|
@@ -147,6 +145,7 @@ files:
|
|
147
145
|
- bin/rake
|
148
146
|
- bin/sandbox
|
149
147
|
- bin/setup
|
148
|
+
- config/initializers/add_spree_reviews_to_menu.rb
|
150
149
|
- config/initializers/constants.rb
|
151
150
|
- config/initializers/load_preferences.rb
|
152
151
|
- config/locales/de-CH.yml
|
@@ -233,7 +232,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
233
232
|
- !ruby/object:Gem::Version
|
234
233
|
version: '0'
|
235
234
|
requirements: []
|
236
|
-
rubygems_version: 3.
|
235
|
+
rubygems_version: 3.5.3
|
237
236
|
signing_key:
|
238
237
|
specification_version: 4
|
239
238
|
summary: Review and rating functionality for your Solidus store.
|
@@ -1,20 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
Spree::Backend::Config.configure do |config|
|
4
|
-
config.menu_items.detect { |menu_item|
|
5
|
-
menu_item.label == :products
|
6
|
-
}.sections << :reviews
|
7
|
-
end
|
8
|
-
|
9
|
-
Deface::Override.new(
|
10
|
-
virtual_path: "spree/admin/shared/_product_sub_menu",
|
11
|
-
name: "reviews_admin_tab",
|
12
|
-
insert_bottom: "[data-hook='admin_product_sub_tabs']",
|
13
|
-
disabled: false
|
14
|
-
) do
|
15
|
-
<<-HTML
|
16
|
-
<% if can? :admin, Spree::Review %>
|
17
|
-
<%= tab(:reviews, label: 'review_management') %>
|
18
|
-
<% end %>
|
19
|
-
HTML
|
20
|
-
end
|
@@ -1,20 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
Spree::Backend::Config.configure do |config|
|
4
|
-
config.menu_items.detect { |menu_item|
|
5
|
-
menu_item.label == :settings
|
6
|
-
}.sections << :review_settings
|
7
|
-
end
|
8
|
-
|
9
|
-
Deface::Override.new(
|
10
|
-
virtual_path: "spree/admin/shared/_settings_sub_menu",
|
11
|
-
name: "converted_admin_configurations_menu",
|
12
|
-
insert_bottom: "[data-hook='admin_settings_sub_tabs']",
|
13
|
-
disabled: false
|
14
|
-
) do
|
15
|
-
<<-HTML
|
16
|
-
<% if can? :admin, Spree::ReviewsConfiguration %>
|
17
|
-
<%= tab :reviews, url: spree.edit_admin_review_settings_path, match_path: /review_settings/ %>
|
18
|
-
<% end %>
|
19
|
-
HTML
|
20
|
-
end
|