alchemy-solidus 3.2.0 → 4.0.0.pre.b2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b2d028fabca54565f96594753c68f1750d0db256bd15a659ca55a57e825c9add
4
- data.tar.gz: 065b2e46ab184830cbbc973f4feadc4f00130a691d659351bd5bb4077332ee74
3
+ metadata.gz: 1e758371bc495c388b64953e658acaec9d9f2708d21eaae8f76c686dc2279356
4
+ data.tar.gz: 95926d5d99a70dddbfc27ed4483b7c3176b9a91c89cf25f3a1664c64b5f9ff1c
5
5
  SHA512:
6
- metadata.gz: 60cadeaf346108d7d3c4095d462494ac94c0033e52b6a048a7afcc8d1611bdfea575cb2b74b5c681dabe232381af2658ee28ee7d927bf20b121337a746512057
7
- data.tar.gz: c9c3f830d7eba6477108160d6f292ea1bb5a5f6ab5d799295cecd9ffb2fb14b04ec236fe3af6b6d6050d83e77b390208356e5293826a6f79a5f82eb43735d896
6
+ metadata.gz: aa9b550cd214034f9d5e54154f6ba7cc6750d05c068273e1a0eb488d35b033a32e59242b087401fbcbd218db22256d09cd2019ee61163aaacf194650f7f7079c
7
+ data.tar.gz: 9ecfb5cb2985843b5e0c19768729c9f8b92c778860f292a3901339861222d8da9f4ba1b8e6dab3e5a5cd80bda25e68737b0852151c624b663b8da870916cde2d
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- [![Build Status](https://travis-ci.org/AlchemyCMS/alchemy-solidus.svg?branch=master)](https://travis-ci.org/AlchemyCMS/alchemy-solidus)
1
+ [![CI](https://github.com/AlchemyCMS/alchemy-solidus/workflows/CI/badge.svg?branch=main)](https://github.com/AlchemyCMS/alchemy-solidus/actions?query=workflow%3ACI+branch%3Amain)
2
2
  [![Gem Version](https://badge.fury.io/rb/alchemy-solidus.svg)](https://badge.fury.io/rb/alchemy-solidus)
3
3
 
4
4
  # Alchemy-Solidus
@@ -18,7 +18,7 @@ $.fn.alchemyTaxonSelect = function(options) {
18
18
  results: data.taxons.map(function(taxon) {
19
19
  return {
20
20
  id: taxon.id,
21
- text: taxon.name
21
+ text: taxon.pretty_name
22
22
  }
23
23
  }),
24
24
  more: page * data.per_page < data.total_count
@@ -4,14 +4,16 @@ module Alchemy
4
4
  class EssenceSpreeProduct < ActiveRecord::Base
5
5
  PRODUCT_ID = /\A\d+\z/
6
6
 
7
- belongs_to :product, class_name: 'Spree::Product',
8
- optional: true, foreign_key: 'spree_product_id'
7
+ belongs_to :product,
8
+ class_name: "Spree::Product",
9
+ optional: true,
10
+ foreign_key: "spree_product_id"
9
11
 
10
12
  acts_as_essence(ingredient_column: :product)
11
13
 
12
14
  def ingredient=(product_or_id)
13
15
  case product_or_id
14
- when PRODUCT_ID
16
+ when PRODUCT_ID, ""
15
17
  self.spree_product_id = product_or_id
16
18
  when Spree::Product
17
19
  self.product = product_or_id
@@ -4,14 +4,16 @@ module Alchemy
4
4
  class EssenceSpreeTaxon < ActiveRecord::Base
5
5
  TAXON_ID = /\A\d+\z/
6
6
 
7
- belongs_to :taxon, class_name: 'Spree::Taxon',
8
- optional: true, foreign_key: 'taxon_id'
7
+ belongs_to :taxon,
8
+ class_name: "Spree::Taxon",
9
+ optional: true,
10
+ foreign_key: "taxon_id"
9
11
 
10
12
  acts_as_essence(ingredient_column: :taxon)
11
13
 
12
14
  def ingredient=(taxon_or_id)
13
15
  case taxon_or_id
14
- when TAXON_ID
16
+ when TAXON_ID, ""
15
17
  self.taxon_id = taxon_or_id
16
18
  when Spree::Taxon
17
19
  self.taxon = taxon_or_id
@@ -4,13 +4,15 @@ module Alchemy
4
4
  class EssenceSpreeVariant < ActiveRecord::Base
5
5
  VARIANT_ID = /\A\d+\z/
6
6
 
7
- belongs_to :variant, class_name: 'Spree::Variant', optional: true
7
+ belongs_to :variant,
8
+ class_name: "Spree::Variant",
9
+ optional: true
8
10
 
9
11
  acts_as_essence(ingredient_column: :variant)
10
12
 
11
13
  def ingredient=(variant_or_id)
12
14
  case variant_or_id
13
- when VARIANT_ID
15
+ when VARIANT_ID, ""
14
16
  self.variant_id = variant_or_id
15
17
  when Spree::Variant
16
18
  self.variant = variant_or_id
@@ -19,7 +19,7 @@
19
19
  <% if content.essence.taxon %>
20
20
  initialSelection: {
21
21
  id: <%= content.essence.taxon_id %>,
22
- text: "<%= content.essence.taxon.name %>"
22
+ text: "<%= content.essence.taxon.pretty_name %>"
23
23
  }
24
24
  <% end %>
25
25
  })
@@ -0,0 +1,25 @@
1
+ <%= content_tag :div,
2
+ class: spree_product_editor.css_classes,
3
+ data: spree_product_editor.data_attributes do %>
4
+ <%= element_form.fields_for(:ingredients, spree_product_editor.ingredient) do |f| %>
5
+ <%= ingredient_label(spree_product_editor, :product_id) %>
6
+ <%= f.text_field :product_id,
7
+ value: spree_product_editor.product&.id,
8
+ class: 'alchemy_selectbox full_width' %>
9
+ <% end %>
10
+ <% end %>
11
+
12
+ <script>
13
+ $('#<%= spree_product_editor.form_field_id(:product_id) %>').alchemyProductSelect({
14
+ placeholder: "<%= Alchemy.t(:search_product, scope: 'solidus') %>",
15
+ apiToken: "<%= current_alchemy_user.spree_api_key %>",
16
+ baseUrl: "<%= spree.api_products_path %>",
17
+ query_params: <%== spree_product_editor.settings[:query_params].to_json %>,
18
+ <% if spree_product_editor.product %>
19
+ initialSelection: {
20
+ id: <%= spree_product_editor.product.id %>,
21
+ text: "<%= spree_product_editor.product.name %>"
22
+ }
23
+ <% end %>
24
+ })
25
+ </script>
@@ -0,0 +1 @@
1
+ <%= spree_product_view.product&.name %>
@@ -0,0 +1,25 @@
1
+ <%= content_tag :div,
2
+ class: spree_taxon_editor.css_classes,
3
+ data: spree_taxon_editor.data_attributes do %>
4
+ <%= element_form.fields_for(:ingredients, spree_taxon_editor.ingredient) do |f| %>
5
+ <%= ingredient_label(spree_taxon_editor, :taxon_id) %>
6
+ <%= f.text_field :taxon_id,
7
+ value: spree_taxon_editor.taxon&.id,
8
+ class: 'alchemy_selectbox full_width' %>
9
+ <% end %>
10
+ <% end %>
11
+
12
+ <script>
13
+ $('#<%= spree_taxon_editor.form_field_id(:taxon_id) %>').alchemyTaxonSelect({
14
+ placeholder: "<%= Alchemy.t(:search_taxon, scope: 'solidus') %>",
15
+ apiToken: "<%= current_alchemy_user.spree_api_key %>",
16
+ baseUrl: "<%= spree.api_taxons_path %>",
17
+ query_params: <%== spree_taxon_editor.settings[:query_params].to_json %>,
18
+ <% if spree_taxon_editor.taxon %>
19
+ initialSelection: {
20
+ id: <%= spree_taxon_editor.taxon.id %>,
21
+ text: "<%= spree_taxon_editor.taxon.pretty_name %>"
22
+ }
23
+ <% end %>
24
+ })
25
+ </script>
@@ -0,0 +1 @@
1
+ <%= spree_taxon_view.taxon&.name %>
@@ -0,0 +1,25 @@
1
+ <%= content_tag :div,
2
+ class: spree_variant_editor.css_classes,
3
+ data: spree_variant_editor.data_attributes do %>
4
+ <%= element_form.fields_for(:ingredients, spree_variant_editor.ingredient) do |f| %>
5
+ <%= ingredient_label(spree_variant_editor, :variant_id) %>
6
+ <%= f.text_field :variant_id,
7
+ value: spree_variant_editor.variant&.id,
8
+ class: 'alchemy_selectbox full_width' %>
9
+ <% end %>
10
+ <% end %>
11
+
12
+ <script>
13
+ $('#<%= spree_variant_editor.form_field_id(:variant_id) %>').alchemyVariantSelect({
14
+ placeholder: "<%= Alchemy.t(:search_variant, scope: 'solidus') %>",
15
+ apiToken: "<%= current_alchemy_user.spree_api_key %>",
16
+ baseUrl: "<%= spree.api_variants_path %>",
17
+ query_params: <%== spree_variant_editor.settings[:query_params].to_json %>,
18
+ <% if spree_variant_editor.variant %>
19
+ initialSelection: {
20
+ id: <%= spree_variant_editor.variant.id %>,
21
+ text: "<%= spree_variant_editor.variant.name %>"
22
+ }
23
+ <% end %>
24
+ })
25
+ </script>
@@ -0,0 +1 @@
1
+ <%= spree_variant_view.variant&.name %>
@@ -2,7 +2,7 @@ alchemy_module = {
2
2
  engine_name: 'spree',
3
3
  name: 'solidus',
4
4
  navigation: {
5
- controller: 'spree/admin/orders',
5
+ controller: '/spree/admin/orders',
6
6
  action: 'index',
7
7
  name: 'Store',
8
8
  inline_image: '<svg version="1.1" width="24px" height="24px" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" style="vertical-align: middle">
@@ -11,22 +11,22 @@ alchemy_module = {
11
11
  data: { turbolinks: false },
12
12
  sub_navigation: [
13
13
  {
14
- controller: 'spree/admin/orders',
14
+ controller: '/spree/admin/orders',
15
15
  action: 'index',
16
16
  name: 'Orders'
17
17
  },
18
18
  {
19
- controller: 'spree/admin/products',
19
+ controller: '/spree/admin/products',
20
20
  action: 'index',
21
21
  name: 'Products'
22
22
  },
23
23
  {
24
- controller: 'spree/admin/promotions',
24
+ controller: '/spree/admin/promotions',
25
25
  action: 'index',
26
26
  name: 'Promotions'
27
27
  },
28
28
  {
29
- controller: 'spree/admin/stock_items',
29
+ controller: '/spree/admin/stock_items',
30
30
  action: 'index',
31
31
  name: 'Stock'
32
32
  }
@@ -37,7 +37,7 @@ alchemy_module = {
37
37
  if defined?(Spree::Auth::Engine)
38
38
  alchemy_module[:navigation][:sub_navigation].push(
39
39
  {
40
- controller: 'spree/admin/users',
40
+ controller: '/spree/admin/users',
41
41
  action: 'index',
42
42
  name: 'Users'
43
43
  }
@@ -52,4 +52,6 @@ if defined?(Spree::Auth::Engine)
52
52
  end
53
53
  end
54
54
 
55
- Alchemy::Modules.register_module(alchemy_module)
55
+ Rails.application.config.after_initialize do
56
+ Alchemy::Modules.register_module(alchemy_module)
57
+ end
@@ -1,4 +1,5 @@
1
1
  require 'alchemy_cms'
2
+ require 'alchemy/version'
2
3
  require 'solidus_core'
3
4
  require 'solidus_backend'
4
5
  require 'solidus_support'
@@ -12,18 +13,18 @@ module Alchemy
12
13
  Alchemy.register_ability ::Spree::Ability
13
14
  ::Spree::Ability.register_ability ::Alchemy::Permissions
14
15
 
15
- if Alchemy.user_class.name == 'Spree::User'
16
+ if Alchemy.user_class_name == '::Spree::User'
16
17
  require 'alchemy/solidus/spree_user_extension'
17
18
  Spree::User.include Alchemy::Solidus::SpreeUserExtension
18
19
  end
19
20
 
20
- if Alchemy.user_class.name == 'Alchemy::User'
21
+ if Alchemy.user_class_name == '::Alchemy::User'
21
22
  require 'alchemy/solidus/alchemy_user_extension'
22
23
  Alchemy::User.include Alchemy::Solidus::AlchemyUserExtension
23
24
  require 'alchemy/solidus/spree_admin_unauthorized_redirect'
24
25
  end
25
26
 
26
- if SolidusSupport.solidus_gem_version < Gem::Version.new('2.5')
27
+ if Spree.solidus_gem_version < Gem::Version.new('2.5')
27
28
  require 'alchemy/solidus/spree_custom_user_generator_fix'
28
29
  require 'alchemy/solidus/spree_install_generator_fix'
29
30
  end
@@ -40,7 +41,7 @@ module Alchemy
40
41
  # Fix for +belongs_to :bill_address+ in {Spree::UserAddressBook}
41
42
  # Solidus has this set to +false+ in {Spree::Base}, but {Alchemy::User} does not inherit from it.
42
43
  initializer 'alchemy_solidus.belongs_bill_address_fix' do
43
- if Alchemy.user_class.name == 'Alchemy::User'
44
+ if Alchemy.user_class_name == '::Alchemy::User'
44
45
  ActiveSupport.on_load(:active_record) do
45
46
  Alchemy::User.belongs_to_required_by_default = false
46
47
  end
@@ -55,6 +56,9 @@ module Alchemy
55
56
  if Spree.solidus_gem_version < Gem::Version.new('2.8')
56
57
  paths['app/views'] << 'lib/views'
57
58
  end
59
+ if Alchemy.gem_version >= Gem::Version.new('6.0.0.b1')
60
+ paths['app/models'] << 'lib/models'
61
+ end
58
62
  end
59
63
  end
60
64
  end
@@ -1,6 +1,10 @@
1
1
  module Alchemy
2
2
  module Solidus
3
3
  module SpreeUserExtension
4
+ def self.included(klass)
5
+ klass.has_many :folded_pages, class_name: "Alchemy::FoldedPage"
6
+ end
7
+
4
8
  def alchemy_roles
5
9
  if has_spree_role?(:admin)
6
10
  %w(admin)
@@ -1,5 +1,5 @@
1
1
  module Alchemy
2
2
  module Solidus
3
- VERSION = "3.2.0"
3
+ VERSION = "4.0.0-b2"
4
4
  end
5
5
  end
@@ -55,7 +55,7 @@ module Alchemy
55
55
  arguments = options[:auto_accept] ? ['Alchemy::User', '--force'] : ['Alchemy::User']
56
56
  Spree::CustomUserGenerator.start(arguments)
57
57
  gsub_file 'lib/spree/authentication_helpers.rb', /main_app\./, 'Alchemy.'
58
- if SolidusSupport.solidus_gem_version < Gem::Version.new('2.5.0')
58
+ if Spree.solidus_gem_version < Gem::Version.new('2.5.0')
59
59
  gsub_file 'config/initializers/spree.rb', /Spree\.user_class.?=.?.+$/, 'Spree.user_class = "Alchemy::User"'
60
60
  end
61
61
  rake('db:migrate', abort_on_failure: true)
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Alchemy
4
+ module Ingredients
5
+ class SpreeProduct < Alchemy::Ingredient
6
+ related_object_alias :product, class_name: "Spree::Product"
7
+
8
+ def preview_text(maxlength)
9
+ return unless product
10
+
11
+ product.name[0..maxlength - 1]
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Alchemy
4
+ module Ingredients
5
+ class SpreeTaxon < Alchemy::Ingredient
6
+ related_object_alias :taxon, class_name: "Spree::Taxon"
7
+
8
+ def preview_text(maxlength)
9
+ return unless taxon
10
+
11
+ taxon.name[0..maxlength - 1]
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Alchemy
4
+ module Ingredients
5
+ class SpreeVariant < Alchemy::Ingredient
6
+ related_object_alias :variant, class_name: "Spree::Variant"
7
+
8
+ def preview_text(maxlength)
9
+ return unless variant
10
+
11
+ variant.descriptive_name[0..maxlength - 1]
12
+ end
13
+ end
14
+ end
15
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: alchemy-solidus
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.2.0
4
+ version: 4.0.0.pre.b2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thomas von Deyen
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-07-17 00:00:00.000000000 Z
11
+ date: 2021-07-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: alchemy_cms
@@ -16,27 +16,27 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 4.1.0
19
+ version: 5.0.0
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
- version: '6.0'
22
+ version: '6.1'
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- version: 4.1.0
29
+ version: 5.0.0
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
- version: '6.0'
32
+ version: '6.1'
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: solidus_core
35
35
  requirement: !ruby/object:Gem::Requirement
36
36
  requirements:
37
37
  - - ">="
38
38
  - !ruby/object:Gem::Version
39
- version: 2.6.0
39
+ version: 2.10.0
40
40
  - - "<"
41
41
  - !ruby/object:Gem::Version
42
42
  version: '3.0'
@@ -46,7 +46,7 @@ dependencies:
46
46
  requirements:
47
47
  - - ">="
48
48
  - !ruby/object:Gem::Version
49
- version: 2.6.0
49
+ version: 2.10.0
50
50
  - - "<"
51
51
  - !ruby/object:Gem::Version
52
52
  version: '3.0'
@@ -56,7 +56,7 @@ dependencies:
56
56
  requirements:
57
57
  - - ">="
58
58
  - !ruby/object:Gem::Version
59
- version: 2.6.0
59
+ version: 2.10.0
60
60
  - - "<"
61
61
  - !ruby/object:Gem::Version
62
62
  version: '3.0'
@@ -66,7 +66,7 @@ dependencies:
66
66
  requirements:
67
67
  - - ">="
68
68
  - !ruby/object:Gem::Version
69
- version: 2.6.0
69
+ version: 2.10.0
70
70
  - - "<"
71
71
  - !ruby/object:Gem::Version
72
72
  version: '3.0'
@@ -220,6 +220,12 @@ files:
220
220
  - app/views/alchemy/essences/_essence_spree_taxon_view.html.erb
221
221
  - app/views/alchemy/essences/_essence_spree_variant_editor.html.erb
222
222
  - app/views/alchemy/essences/_essence_spree_variant_view.html.erb
223
+ - app/views/alchemy/ingredients/_spree_product_editor.html.erb
224
+ - app/views/alchemy/ingredients/_spree_product_view.html.erb
225
+ - app/views/alchemy/ingredients/_spree_taxon_editor.html.erb
226
+ - app/views/alchemy/ingredients/_spree_taxon_view.html.erb
227
+ - app/views/alchemy/ingredients/_spree_variant_editor.html.erb
228
+ - app/views/alchemy/ingredients/_spree_variant_view.html.erb
223
229
  - app/views/spree/admin/shared/_alchemy_sub_menu.html.erb
224
230
  - config/initializers/alchemy.rb
225
231
  - config/initializers/solidus.rb
@@ -241,12 +247,15 @@ files:
241
247
  - lib/alchemy/solidus/version.rb
242
248
  - lib/generators/alchemy/solidus/install/files/db/seeds/alchemy/pages.yml
243
249
  - lib/generators/alchemy/solidus/install/install_generator.rb
250
+ - lib/models/alchemy/ingredients/spree_product.rb
251
+ - lib/models/alchemy/ingredients/spree_taxon.rb
252
+ - lib/models/alchemy/ingredients/spree_variant.rb
244
253
  - lib/views/spree/admin/shared/_tabs.html.erb
245
254
  homepage: https://github.com/AlchemyCMS/alchemy-solidus
246
255
  licenses:
247
256
  - BSD New
248
257
  metadata: {}
249
- post_install_message:
258
+ post_install_message:
250
259
  rdoc_options: []
251
260
  require_paths:
252
261
  - lib
@@ -257,12 +266,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
257
266
  version: '0'
258
267
  required_rubygems_version: !ruby/object:Gem::Requirement
259
268
  requirements:
260
- - - ">="
269
+ - - ">"
261
270
  - !ruby/object:Gem::Version
262
- version: '0'
271
+ version: 1.3.1
263
272
  requirements: []
264
- rubygems_version: 3.0.3
265
- signing_key:
273
+ rubygems_version: 3.1.4
274
+ signing_key:
266
275
  specification_version: 4
267
276
  summary: The World's Most Flexible E-Commerce Platform meets The World's Most Flexible
268
277
  Content Management System!