spree_cm_commissioner 1.8.3 → 1.8.4

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: a29005588982c0e0228340fd24198709de40e2e058a7d1013deb6c9bc947f2f5
4
- data.tar.gz: d17216bb0b773e4b1e907f74f49dad9e370eaeb6ac972abba49775f30c1b4569
3
+ metadata.gz: 23dc6ecf893ca834e63e31cfe256b1303e12449683612adcabad907e90ff1470
4
+ data.tar.gz: 7bfe596bd800a4c86efd8bfd08b32822aa2ec4b1b8a692e6cd7ce11f4126c442
5
5
  SHA512:
6
- metadata.gz: 7e32fa8dd56c0263baef2dca897b1e83c4148cc5f827ed66d85254051279276880b6f3609fa69108623b1def8a7361bdef6bc067392b4765d2ce94fb7180c647
7
- data.tar.gz: bf9195774bc68a1829c5803a94a50fce25bd3fceb4005b0d4aefb9f0a7167fe86aa8d42f17c8c07d974283be07589a4208a914af65489475b2c6a739a69e0e39
6
+ metadata.gz: 399cc8af5b317b52c29bfe9e5dc8466c44b6397af50184d645120929ac1d5fab30b0cc099b243bbbe2393d6e18dccef4f5fcb32477f9ffa8c24335a8b18f46fc
7
+ data.tar.gz: b61c2a45b6631a45535163f3fb82cc4201a3fce10b3bfb4fcc49fb981b79fc3d3042ee98dad896c5934c540e61525e301fd7f56ec479640c08897064d7bab82c
data/Gemfile.lock CHANGED
@@ -34,7 +34,7 @@ GIT
34
34
  PATH
35
35
  remote: .
36
36
  specs:
37
- spree_cm_commissioner (1.8.3)
37
+ spree_cm_commissioner (1.8.4)
38
38
  activerecord-multi-tenant
39
39
  activerecord_json_validator (~> 2.1, >= 2.1.3)
40
40
  aws-sdk-cloudfront
@@ -32,7 +32,7 @@ module Spree
32
32
  end
33
33
 
34
34
  # POST
35
- def invalidate_api_caches
35
+ def invalidate_api_caches # rubocop:disable Metrics/CyclomaticComplexity
36
36
  if params[:model].present?
37
37
  model = case params[:model]
38
38
  when 'SpreeCmCommissioner::HomepageSection'
@@ -41,6 +41,10 @@ module Spree
41
41
  SpreeCmCommissioner::HomepageBackground
42
42
  when 'Spree::Menu'
43
43
  Spree::Menu
44
+ when 'Spree::Taxon'
45
+ Spree::Taxon
46
+ when 'Spree::Product'
47
+ Spree::Product
44
48
  else
45
49
  flash[:error] = 'Invalid model provided' # rubocop:disable Rails/I18nLocaleTexts
46
50
  redirect_back fallback_location: admin_root_path and return
@@ -50,7 +54,9 @@ module Spree
50
54
  api_patterns_map = {
51
55
  SpreeCmCommissioner::HomepageSection => '/api/v2/storefront/homepage/*',
52
56
  SpreeCmCommissioner::HomepageBackground => '/api/v2/storefront/homepage/*',
53
- Spree::Menu => '/api/v2/storefront/menus*'
57
+ Spree::Menu => '/api/v2/storefront/menus*',
58
+ Spree::Taxon => '/api/v2/storefront/taxons*',
59
+ Spree::Product => '/api/v2/storefront/products*'
54
60
  }
55
61
  api_patterns = api_patterns_map[model]
56
62
 
@@ -16,6 +16,8 @@ module SpreeCmCommissioner
16
16
  has_many :children, class_name: 'SpreeCmCommissioner::Place', foreign_key: :parent_id, dependent: :destroy
17
17
  belongs_to :parent, class_name: 'SpreeCmCommissioner::Place', optional: true
18
18
 
19
+ has_many :vendor_stops, class_name: 'SpreeCmCommissioner::VendorStop', dependent: :destroy
20
+
19
21
  def self.ransackable_attributes(auth_object = nil)
20
22
  super & %w[name code]
21
23
  end
@@ -2,10 +2,10 @@ require_dependency 'spree_cm_commissioner'
2
2
  module SpreeCmCommissioner
3
3
  class TripStop < SpreeCmCommissioner::Base
4
4
  acts_as_list column: :sequence, scope: :trip_id
5
- enum stop_type: { boarding: 0, drop_off: 1 }
5
+ enum :stop_type, { boarding: 0, drop_off: 1 }
6
6
 
7
- belongs_to :trip, class_name: 'SpreeCmCommissioner::Trip'
8
- belongs_to :stop, class_name: 'Spree::Taxon'
7
+ belongs_to :trip, class_name: 'Spree::Variant'
8
+ belongs_to :stop, class_name: 'SpreeCmCommissioner::Place'
9
9
 
10
10
  before_validation :set_stop_name
11
11
  after_create :create_vendor_stop
@@ -21,6 +21,7 @@ module SpreeCmCommissioner
21
21
  base.has_many :variant_guest_card_class, class_name: 'SpreeCmCommissioner::VariantGuestCardClass'
22
22
  base.has_many :guest_card_classes, class_name: 'SpreeCmCommissioner::GuestCardClass', through: :variant_guest_card_class
23
23
 
24
+ base.has_many :trip_stops, class_name: 'SpreeCmCommissioner::TripStop', dependent: :destroy, foreign_key: :trip_id
24
25
  base.scope :subscribable, -> { active.joins(:product).where(product: { subscribable: true, status: :active }) }
25
26
 
26
27
  base.accepts_nested_attributes_for :option_values
@@ -37,16 +37,16 @@ module SpreeCmCommissioner
37
37
  through: :option_value_vendors, source: :option_value
38
38
 
39
39
  base.has_many :branches, class_name: 'SpreeCmCommissioner::Branch'
40
- base.has_many :stops, class_name: 'SpreeCmCommissioner::Stop'
40
+ base.has_many :stops, class_name: 'SpreeCmCommissioner::Place'
41
41
 
42
42
  base.has_many :places,
43
43
  through: :nearby_places, source: :place, class_name: 'SpreeCmCommissioner::Place'
44
44
 
45
45
  base.has_many :vendor_stops, class_name: 'SpreeCmCommissioner::VendorStop', dependent: :destroy
46
46
  base.has_many :boarding_points, -> { where(cm_vendor_stops: { stop_type: 0 }) },
47
- through: :vendor_stops, source: :stop, class_name: 'Spree::Taxon'
47
+ through: :vendor_stops, source: :stop, class_name: 'SpreeCmCommissioner::Place'
48
48
  base.has_many :drop_off_points, -> { where(cm_vendor_stops: { stop_type: 1 }) },
49
- through: :vendor_stops, source: :stop, class_name: 'Spree::Taxon'
49
+ through: :vendor_stops, source: :stop, class_name: 'SpreeCmCommissioner::Place'
50
50
 
51
51
  base.has_one :logo, as: :viewable, dependent: :destroy, class_name: 'SpreeCmCommissioner::VendorLogo'
52
52
  base.has_one :payment_qrcode, as: :viewable, dependent: :destroy, class_name: 'SpreeCmCommissioner::VendorPaymentQrcode'
@@ -2,7 +2,7 @@ require_dependency 'spree_cm_commissioner'
2
2
  module SpreeCmCommissioner
3
3
  class VendorStop < ApplicationRecord
4
4
  belongs_to :vendor, class_name: 'Spree::Vendor'
5
- belongs_to :stop, class_name: 'Spree::Taxon'
5
+ belongs_to :stop, class_name: 'SpreeCmCommissioner::Place'
6
6
 
7
7
  enum stop_type: { boarding: 0, drop_off: 1 }
8
8
  end
@@ -0,0 +1,3 @@
1
+ <!-- insert_after "erb[silent]:contains('content_for :page_actions')" -->
2
+
3
+ <%= button_link_to Spree.t(:clear_cache), admin_invalidate_api_caches_path(model: Spree::Product.name),method: :post, class: "btn btn-outline-primary" %>
@@ -0,0 +1,7 @@
1
+ <!-- insert_after "erb[silent]:contains('content_for :page_actions')" -->
2
+
3
+ <% if @taxon.depth == 1 %>
4
+ <%= button_link_to Spree.t(:clear_cache),
5
+ admin_invalidate_api_caches_path(model: Spree::Taxon.name),
6
+ method: :post, class: "btn btn-outline-primary" %>
7
+ <% end %>
@@ -10,7 +10,7 @@ module SpreeCmCommissioner
10
10
  end
11
11
 
12
12
  def events
13
- taxons = Spree::Taxon.includes(:vendor).where(vendor_id: vendor_id)
13
+ taxons = Spree::Taxon.includes(:vendor).where(vendor_id: vendor_id, depth: 1)
14
14
 
15
15
  case section
16
16
  when 'upcoming'
@@ -2,7 +2,7 @@ module Spree
2
2
  module V2
3
3
  module Storefront
4
4
  module ProductSerializerDecorator
5
- def self.prepended(base)
5
+ def self.prepended(base) # rubocop:disable Metrics/MethodLength
6
6
  base.has_many :variant_kind_option_types, serializer: :option_type
7
7
  base.has_many :product_kind_option_types, serializer: :option_type
8
8
  base.has_many :promoted_option_types, serializer: :option_type
@@ -41,6 +41,8 @@ module Spree
41
41
  value = product.available?
42
42
  [true, false].include?(value) ? value : nil
43
43
  end
44
+
45
+ base.cache_options store: nil
44
46
  end
45
47
  end
46
48
  end
@@ -23,6 +23,8 @@ module Spree
23
23
  base.attribute :purchasable_on_web do |taxon|
24
24
  taxon.purchasable_on == 'web' || taxon.purchasable_on == 'both'
25
25
  end
26
+
27
+ base.cache_options store: nil
26
28
  end
27
29
  end
28
30
  end
@@ -30,12 +30,17 @@
30
30
  </thead>
31
31
  <tbody>
32
32
  <% @user_events.each do |user_event| %>
33
- <% user = user_event.user %>
34
- <tr id="<%= spree_dom_id user %>" data-hook="admin_taxonomy_taxon_user_events_index_rows">
35
- <td><%= user.id %></td>
36
- <td class='user_email'><%= link_to user.email, edit_admin_user_url(user) %></td>
37
- <td><%= user.created_at %></td>
38
- <td><%= user.updated_at %></td>
33
+ <tr id="<%= spree_dom_id user_event %>" data-hook="admin_taxonomy_taxon_user_events_index_rows">
34
+ <td><%= user_event.id %></td>
35
+ <td class='user_email'>
36
+ <% if user_event.user.present? %>
37
+ <%= link_to user_event.user.email, edit_admin_user_url(user_event.user) %>
38
+ <% else %>
39
+ <span class="text-danger">User is deleted</span>
40
+ <% end %>
41
+ </td>
42
+ <td><%= user_event.created_at %></td>
43
+ <td><%= user_event.updated_at %></td>
39
44
  <td data-hook="admin_taxonomy_taxon_user_events_index_row_actions" class="actions">
40
45
  <span class="d-flex justify-content-end">
41
46
  <%= link_to_delete user_event, url: admin_user_event_path(user_event.id), no_text: true if can?(:delete, user_event) %>
@@ -1,5 +1,5 @@
1
1
  module SpreeCmCommissioner
2
- VERSION = '1.8.3'.freeze
2
+ VERSION = '1.8.4'.freeze
3
3
 
4
4
  module_function
5
5
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spree_cm_commissioner
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.8.3
4
+ version: 1.8.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - You
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-03-20 00:00:00.000000000 Z
11
+ date: 2025-03-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: spree
@@ -1300,6 +1300,7 @@ files:
1300
1300
  - app/overrides/spree/admin/products/_form/reveal_description_to_user.html.erb.deface
1301
1301
  - app/overrides/spree/admin/products/_form/subscribable_checkbox.html.erb.deface
1302
1302
  - app/overrides/spree/admin/products/_form/use_video_as_default.html.erb.deface
1303
+ - app/overrides/spree/admin/products/edit/clear_cache_button.html.erb.deface
1303
1304
  - app/overrides/spree/admin/products/index/product_vendor_link.html.erb.deface
1304
1305
  - app/overrides/spree/admin/products/new/allow_anonymous_booking.html.erb.deface
1305
1306
  - app/overrides/spree/admin/products/new/include_kyc_checkbox.html.erb.deface
@@ -1354,6 +1355,7 @@ files:
1354
1355
  - app/overrides/spree/admin/taxons/_form/sub_title.html.erb.deface
1355
1356
  - app/overrides/spree/admin/taxons/_form/to_date_form_date.html.erb.deface
1356
1357
  - app/overrides/spree/admin/taxons/_form/vendor.html.erb.deface
1358
+ - app/overrides/spree/admin/taxons/edit/clear_cache_button.html.erb.deface
1357
1359
  - app/overrides/spree/admin/taxons/edit/taxon_tabs.html.erb.deface
1358
1360
  - app/overrides/spree/admin/taxons/edit/title.html.erb.deface
1359
1361
  - app/overrides/spree/admin/users/_form/fields.html.erb.deface