spree_cm_commissioner 2.5.0.pre.pre1 → 2.5.0.pre.pre2
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/.github/workflows/test_and_build_gem.yml +1 -1
- data/.tool-versions +1 -1
- data/Gemfile.lock +1 -1
- data/app/controllers/spree/api/v2/storefront/popular_route_places_controller.rb +7 -1
- data/app/controllers/spree/api/v2/storefront/route_places_controller.rb +9 -9
- data/app/finders/spree_cm_commissioner/places/find_with_route.rb +10 -10
- data/app/finders/spree_cm_commissioner/routes/find_popular.rb +10 -14
- data/app/interactors/spree_cm_commissioner/stock/inventory_item_resetter.rb +1 -1
- data/app/interactors/spree_cm_commissioner/stock/stock_movement_creator.rb +2 -4
- data/app/jobs/spree_cm_commissioner/stock/inventory_items_adjuster_job.rb +4 -5
- data/app/models/concerns/spree_cm_commissioner/option_type_attr_type.rb +3 -15
- data/app/models/concerns/spree_cm_commissioner/store_metadata.rb +2 -14
- data/app/models/concerns/spree_cm_commissioner/tenant_preference.rb +3 -0
- data/app/models/concerns/spree_cm_commissioner/variant_options_concern.rb +7 -1
- data/app/models/spree_cm_commissioner/inventory_item.rb +1 -5
- data/app/models/spree_cm_commissioner/option_type_decorator.rb +0 -8
- data/app/models/spree_cm_commissioner/option_value_decorator.rb +0 -34
- data/app/models/spree_cm_commissioner/product_decorator.rb +2 -3
- data/app/models/spree_cm_commissioner/redis_stock/cached_inventory_items_builder.rb +2 -2
- data/app/models/spree_cm_commissioner/redis_stock/inventory_updater.rb +2 -2
- data/app/models/spree_cm_commissioner/taxon_decorator.rb +0 -1
- data/app/models/spree_cm_commissioner/taxonomy_decorator.rb +1 -13
- data/app/models/spree_cm_commissioner/variant_decorator.rb +4 -7
- data/app/models/spree_cm_commissioner/vendor_decorator.rb +0 -1
- data/app/presenters/spree/variants/{visible_options_presenter.rb → visable_options_presenter.rb} +4 -2
- data/app/request_schemas/spree_cm_commissioner/popular_route_places_request_schema.rb +12 -0
- data/app/request_schemas/spree_cm_commissioner/route_places_request_schema.rb +5 -0
- data/app/views/spree/admin/tenants/_form.html.erb +18 -0
- data/app/views/spree/admin/tenants/form/_footer.html.erb +31 -0
- data/app/views/spree/admin/tenants/form/_social.html.erb +31 -0
- data/app/views/spree/order_mailer/confirm_email.html.erb +1 -1
- data/app/views/spree_cm_commissioner/layouts/order_mailer.html.erb +1 -1
- data/app/views/spree_cm_commissioner/order_mailer/tenant/_footer.html.erb +13 -6
- data/app/views/spree_cm_commissioner/order_mailer/tenant/_support_contact.html.erb +23 -24
- data/config/locales/en.yml +0 -8
- data/config/locales/km.yml +0 -8
- data/config/routes.rb +0 -8
- data/db/migrate/20251209022924_add_contact_fields_to_cm_tenants.rb +9 -0
- data/lib/cm_app_logger.rb +0 -1
- data/lib/spree_cm_commissioner/version.rb +1 -1
- data/lib/spree_cm_commissioner.rb +7 -8
- metadata +7 -54
- data/app/controllers/spree/admin/integration_mappings_controller.rb +0 -21
- data/app/controllers/spree/admin/integration_sessions_controller.rb +0 -21
- data/app/controllers/spree/admin/integrations_controller.rb +0 -83
- data/app/controllers/spree/api/v2/storefront/event_matches_controller.rb +0 -15
- data/app/errors/spree_cm_commissioner/integrations/external_client_error.rb +0 -10
- data/app/errors/spree_cm_commissioner/integrations/sync_error.rb +0 -4
- data/app/finders/spree_cm_commissioner/events/find_matches.rb +0 -15
- data/app/helpers/spree_cm_commissioner/external_integrations_helper.rb +0 -58
- data/app/jobs/spree_cm_commissioner/integrations/base_job.rb +0 -39
- data/app/jobs/spree_cm_commissioner/integrations/polling_job.rb +0 -53
- data/app/jobs/spree_cm_commissioner/integrations/polling_scheduler_job.rb +0 -30
- data/app/jobs/spree_cm_commissioner/telegram_alerts/integration_sync_failure_job.rb +0 -17
- data/app/models/concerns/spree_cm_commissioner/integrations/integration_mappable.rb +0 -58
- data/app/models/spree_cm_commissioner/integration.rb +0 -21
- data/app/models/spree_cm_commissioner/integration_mapping.rb +0 -37
- data/app/models/spree_cm_commissioner/integration_sync_session.rb +0 -15
- data/app/models/spree_cm_commissioner/integrations/stadium_x_v1.rb +0 -21
- data/app/overrides/spree/admin/shared/sub_menu/_integrations/external_integrations.html.erb.deface +0 -6
- data/app/services/spree_cm_commissioner/integrations/base/sync_manager.rb +0 -69
- data/app/services/spree_cm_commissioner/integrations/base/sync_result.rb +0 -183
- data/app/services/spree_cm_commissioner/integrations/polling.rb +0 -70
- data/app/services/spree_cm_commissioner/integrations/polling_scheduler.rb +0 -79
- data/app/services/spree_cm_commissioner/integrations/stadium_x_v1/external_client/client.rb +0 -152
- data/app/services/spree_cm_commissioner/integrations/stadium_x_v1/polling/sync_matches.rb +0 -113
- data/app/services/spree_cm_commissioner/integrations/stadium_x_v1/polling/sync_zones.rb +0 -215
- data/app/services/spree_cm_commissioner/integrations/stadium_x_v1/resources/base.rb +0 -20
- data/app/services/spree_cm_commissioner/integrations/stadium_x_v1/resources/league.rb +0 -19
- data/app/services/spree_cm_commissioner/integrations/stadium_x_v1/resources/match.rb +0 -95
- data/app/services/spree_cm_commissioner/integrations/stadium_x_v1/resources/ticket.rb +0 -81
- data/app/services/spree_cm_commissioner/integrations/stadium_x_v1/resources/ticket_image.rb +0 -19
- data/app/services/spree_cm_commissioner/integrations/stadium_x_v1/resources/zone.rb +0 -90
- data/app/services/spree_cm_commissioner/integrations/stadium_x_v1/sync_manager.rb +0 -35
- data/app/services/spree_cm_commissioner/integrations/stadium_x_v1/sync_strategies/full_sync_strategy.rb +0 -38
- data/app/services/spree_cm_commissioner/integrations/stadium_x_v1/sync_strategies/incremental_sync_strategy.rb +0 -44
- data/app/services/spree_cm_commissioner/integrations/stadium_x_v1/sync_strategies/webhook_sync_strategy.rb +0 -16
- data/app/services/spree_cm_commissioner/telegram_alerts/integration_sync_failure.rb +0 -49
- data/app/views/spree/admin/integration_mappings/_integration_mappings.html.erb +0 -107
- data/app/views/spree/admin/integration_mappings/index.html.erb +0 -33
- data/app/views/spree/admin/integration_sessions/_integration_sync_sessions.html.erb +0 -116
- data/app/views/spree/admin/integration_sessions/index.html.erb +0 -42
- data/app/views/spree/admin/integrations/_form.html.erb +0 -104
- data/app/views/spree/admin/integrations/_stadium_x_v1_fields.html.erb +0 -29
- data/app/views/spree/admin/integrations/edit.html.erb +0 -45
- data/app/views/spree/admin/integrations/index.html.erb +0 -75
- data/app/views/spree/admin/integrations/new.html.erb +0 -25
- data/db/migrate/20251017094845_create_cm_integrations.rb +0 -22
- data/db/migrate/20251017101555_create_cm_integration_sync_sessions.rb +0 -68
- data/db/migrate/20251017101605_create_cm_integration_mappings.rb +0 -52
- data/lib/spree_cm_commissioner/test_helper/factories/integration_factory.rb +0 -25
- data/lib/spree_cm_commissioner/test_helper/factories/integration_mapping_factory.rb +0 -14
- data/lib/spree_cm_commissioner/test_helper/factories/integration_sync_session_factory.rb +0 -7
|
@@ -74,6 +74,8 @@
|
|
|
74
74
|
<%= content_tag :div, nil, style: "background-color: #{@object.preferred_brand_primary_color}; width: 60px; height: 60px; border: 1px solid #ccc; box-sizing: border-box; display: block;" %>
|
|
75
75
|
</div>
|
|
76
76
|
</div>
|
|
77
|
+
|
|
78
|
+
<!-- Assetlinks Field -->
|
|
77
79
|
<div class="col-12">
|
|
78
80
|
<%= f.field_container :preferred_assetlinks do %>
|
|
79
81
|
<%= f.label :preferred_assetlinks, raw(Spree.t(:assetlinks)) %>
|
|
@@ -182,6 +184,22 @@
|
|
|
182
184
|
</div>
|
|
183
185
|
</div>
|
|
184
186
|
|
|
187
|
+
<!-- ======================== Footer ======================== -->
|
|
188
|
+
<div class="card mb-4">
|
|
189
|
+
<div class="card-body">
|
|
190
|
+
<div data-hook="admin_tenant_form_fields" class="row mt-4">
|
|
191
|
+
<div class="col-12 mb-4">
|
|
192
|
+
<h4>Footer <span class="text-muted" style="font-size: 1rem; font-weight: normal;">(Footer is for customer support details and tenant address)</span></h4>
|
|
193
|
+
</div>
|
|
194
|
+
<!-- Footer Field -->
|
|
195
|
+
<div class="col-12">
|
|
196
|
+
<%= render partial: 'spree/admin/tenants/form/footer', locals: { f: f } %>
|
|
197
|
+
<%= render partial: 'spree/admin/tenants/form/social', locals: { f: f } %>
|
|
198
|
+
</div>
|
|
199
|
+
</div>
|
|
200
|
+
</div>
|
|
201
|
+
</div>
|
|
202
|
+
|
|
185
203
|
<!-- ======================== Redirect Settings ======================== -->
|
|
186
204
|
<div class="card mb-4">
|
|
187
205
|
<div class="card-body">
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
<div data-hook="admin_tenant_support_fields" class="row">
|
|
2
|
+
<div class="col-6">
|
|
3
|
+
<%= f.field_container :customer_support_email do %>
|
|
4
|
+
<%= f.label :customer_support_email, 'Customer support email' %>
|
|
5
|
+
<%= f.email_field :customer_support_email, class: 'form-control', placeholder: 'support@example.com' %>
|
|
6
|
+
<% if f.object.errors[:customer_support_email].any? %>
|
|
7
|
+
<div class="error text-danger"><%= f.object.errors[:customer_support_email].join(', ') %></div>
|
|
8
|
+
<% end %>
|
|
9
|
+
<% end %>
|
|
10
|
+
</div>
|
|
11
|
+
|
|
12
|
+
<div class="col-6">
|
|
13
|
+
<%= f.field_container :contact_phone do %>
|
|
14
|
+
<%= f.label :contact_phone, 'Contact phone' %>
|
|
15
|
+
<%= f.telephone_field :contact_phone, class: 'form-control', placeholder: '+855 12 345 678' %>
|
|
16
|
+
<% if f.object.errors[:contact_phone].any? %>
|
|
17
|
+
<div class="error text-danger"><%= f.object.errors[:contact_phone].join(', ') %></div>
|
|
18
|
+
<% end %>
|
|
19
|
+
<% end %>
|
|
20
|
+
</div>
|
|
21
|
+
|
|
22
|
+
<div class="col-12 mt-3">
|
|
23
|
+
<%= f.field_container :address do %>
|
|
24
|
+
<%= f.label :address, 'Address' %>
|
|
25
|
+
<%= f.text_area :address, class: 'form-control', rows: 3, placeholder: 'Store address' %>
|
|
26
|
+
<% if f.object.errors[:address].any? %>
|
|
27
|
+
<div class="error text-danger"><%= f.object.errors[:address].join(', ') %></div>
|
|
28
|
+
<% end %>
|
|
29
|
+
<% end %>
|
|
30
|
+
</div>
|
|
31
|
+
</div>
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
<div data-hook="admin_tenant_social_fields" class="row">
|
|
2
|
+
<div class="col-4">
|
|
3
|
+
<%= f.field_container :preferred_facebook do %>
|
|
4
|
+
<%= f.label :preferred_facebook, 'Facebook URL' %>
|
|
5
|
+
<%= f.url_field :preferred_facebook, class: 'form-control', placeholder: 'https://facebook.com/yourpage' %>
|
|
6
|
+
<% if f.object.errors[:preferred_facebook].any? %>
|
|
7
|
+
<div class="error text-danger"><%= f.object.errors[:preferred_facebook].join(', ') %></div>
|
|
8
|
+
<% end %>
|
|
9
|
+
<% end %>
|
|
10
|
+
</div>
|
|
11
|
+
|
|
12
|
+
<div class="col-4">
|
|
13
|
+
<%= f.field_container :preferred_twitter do %>
|
|
14
|
+
<%= f.label :preferred_twitter, 'Twitter URL' %>
|
|
15
|
+
<%= f.url_field :preferred_twitter, class: 'form-control', placeholder: 'https://twitter.com/yourhandle' %>
|
|
16
|
+
<% if f.object.errors[:preferred_twitter].any? %>
|
|
17
|
+
<div class="error text-danger"><%= f.object.errors[:preferred_twitter].join(', ') %></div>
|
|
18
|
+
<% end %>
|
|
19
|
+
<% end %>
|
|
20
|
+
</div>
|
|
21
|
+
|
|
22
|
+
<div class="col-4">
|
|
23
|
+
<%= f.field_container :preferred_instagram do %>
|
|
24
|
+
<%= f.label :preferred_instagram, 'Instagram URL' %>
|
|
25
|
+
<%= f.url_field :preferred_instagram, class: 'form-control', placeholder: 'https://instagram.com/youraccount' %>
|
|
26
|
+
<% if f.object.errors[:preferred_instagram].any? %>
|
|
27
|
+
<div class="error text-danger"><%= f.object.errors[:preferred_instagram].join(', ') %></div>
|
|
28
|
+
<% end %>
|
|
29
|
+
<% end %>
|
|
30
|
+
</div>
|
|
31
|
+
</div>
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
<%= render 'spree_cm_commissioner/order_mailer/order_total', order: @order %>
|
|
22
22
|
<%= render 'spree_cm_commissioner/order_mailer/your_booking', order: @order, show_booking_header: true %>
|
|
23
23
|
<%= render 'spree_cm_commissioner/order_mailer/tenant/customer_info', order: @order %>
|
|
24
|
-
<%= render 'spree_cm_commissioner/order_mailer/tenant/support_contact' %>
|
|
24
|
+
<%= render 'spree_cm_commissioner/order_mailer/tenant/support_contact', order: @order, name: @name%>
|
|
25
25
|
</div>
|
|
26
26
|
</div>
|
|
27
27
|
<% end %>
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
<% if @order.tenant.nil? %>
|
|
27
27
|
<%= render 'spree_cm_commissioner/order_mailer/footer', store: @order.store %>
|
|
28
28
|
<% else %>
|
|
29
|
-
<%= render 'spree_cm_commissioner/order_mailer/tenant/footer',
|
|
29
|
+
<%= render 'spree_cm_commissioner/order_mailer/tenant/footer', tenant: @order.tenant %>
|
|
30
30
|
<% end %>
|
|
31
31
|
</td>
|
|
32
32
|
</tr>
|
|
@@ -1,24 +1,31 @@
|
|
|
1
1
|
<div class="email-footer_inner">
|
|
2
|
-
<div class="mb-24"><%=
|
|
3
|
-
<div class="mb-24 f-14"><%=
|
|
2
|
+
<div class="mb-24"><%= tenant&.description %></div>
|
|
3
|
+
<div class="mb-24 f-14"><%= tenant&.address %></div>
|
|
4
4
|
<h2 class="mb-24">Connect with us</h2>
|
|
5
5
|
<table class="mb-24 social_icons">
|
|
6
6
|
<tbody>
|
|
7
7
|
<tr>
|
|
8
|
-
<% if
|
|
8
|
+
<% if tenant&.preferred_facebook.present? %>
|
|
9
9
|
<td class="social_icon">
|
|
10
|
-
<%= link_to
|
|
10
|
+
<%= link_to tenant.preferred_facebook, target: :_blank do %>
|
|
11
11
|
<%= image_tag "mailer/facebook.png", class: "mail-icon"%>
|
|
12
12
|
<% end %>
|
|
13
13
|
</td>
|
|
14
14
|
<% end %>
|
|
15
|
-
<% if
|
|
15
|
+
<% if tenant&.preferred_instagram.present? %>
|
|
16
16
|
<td class="social_icon">
|
|
17
|
-
<%= link_to
|
|
17
|
+
<%= link_to tenant.preferred_instagram, target: :_blank do %>
|
|
18
18
|
<%= image_tag "mailer/instagram.png", class: "mail-icon"%>
|
|
19
19
|
<% end %>
|
|
20
20
|
</td>
|
|
21
21
|
<% end %>
|
|
22
|
+
<% if tenant&.preferred_twitter.present? %>
|
|
23
|
+
<td class="social_icon">
|
|
24
|
+
<%= link_to tenant.preferred_twitter, target: :_blank do %>
|
|
25
|
+
<%= image_tag "mailer/twitter.png", class: "mail-icon"%>
|
|
26
|
+
<% end %>
|
|
27
|
+
</td>
|
|
28
|
+
<% end %>
|
|
22
29
|
</tr>
|
|
23
30
|
</tbody>
|
|
24
31
|
</table>
|
|
@@ -1,33 +1,32 @@
|
|
|
1
1
|
<div class="content-cell">
|
|
2
|
-
<div class="container">
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
2
|
+
<div class="container">
|
|
3
|
+
<h2><%= name %> Support</h2>
|
|
4
|
+
<div class="flex two-columns">
|
|
5
|
+
<div class="two-columns-item">
|
|
6
|
+
<div class="flex two-columns-item_detail">
|
|
7
|
+
<div class="two-columns_icon"><%= image_tag "mailer/tenant_phone.png", class: "mail-icon"%></div>
|
|
8
|
+
<div class="two-columns_text-container">
|
|
9
|
+
<p class="two-columns_title">Contact</p>
|
|
10
|
+
<% if order&.tenant&.contact_phone&.present? %>
|
|
11
|
+
<p class="two-columns_description">
|
|
12
|
+
<%= link_to order.tenant.contact_phone, "tel:#{order.tenant.contact_phone}" %>
|
|
13
|
+
</p>
|
|
14
|
+
<% end %>
|
|
15
|
+
</div>
|
|
15
16
|
</div>
|
|
16
17
|
</div>
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
<p class="two-columns_title">Email</p>
|
|
18
|
+
<div class="vertical-separater"></div>
|
|
19
|
+
<div class="two-columns-item">
|
|
20
|
+
<div class="flex two-columns-item_detail">
|
|
21
|
+
<div class="two-columns_icon"><%= image_tag "mailer/mail.png", class: "mail-icon"%></div>
|
|
22
|
+
<div class="two-columns_text-container">
|
|
23
|
+
<p class="two-columns_title">Email</p>
|
|
24
24
|
<p class="two-columns_description">
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
25
|
+
<%= order&.tenant&.customer_support_email.present? ? link_to(order.tenant.customer_support_email, "mailto:#{order.tenant.customer_support_email}") : "N/A" %>
|
|
26
|
+
</p>
|
|
27
|
+
</div>
|
|
28
28
|
</div>
|
|
29
29
|
</div>
|
|
30
30
|
</div>
|
|
31
31
|
</div>
|
|
32
32
|
</div>
|
|
33
|
-
</div>
|
data/config/locales/en.yml
CHANGED
|
@@ -454,14 +454,6 @@ en:
|
|
|
454
454
|
admin:
|
|
455
455
|
display_on:
|
|
456
456
|
frontend_for_early_adopter: "Storefront for Early Adopter"
|
|
457
|
-
external_integrations_title: "External Integrations"
|
|
458
|
-
integration_sync_enqueued: "Integration sync has been enqueued"
|
|
459
|
-
integration_inactive: "Integration is inactive"
|
|
460
|
-
external_integrations:
|
|
461
|
-
view_result: "View Result"
|
|
462
|
-
sync_result: "Sync Result"
|
|
463
|
-
external_payload: "External Payload"
|
|
464
|
-
no_results: "No results found"
|
|
465
457
|
event:
|
|
466
458
|
check_in:
|
|
467
459
|
success: "Guest check-in in successfully"
|
data/config/locales/km.yml
CHANGED
|
@@ -341,14 +341,6 @@ km:
|
|
|
341
341
|
admin:
|
|
342
342
|
display_on:
|
|
343
343
|
frontend_for_early_adopter: "Storefront for Early Adopter"
|
|
344
|
-
external_integrations_title: "ការភ្ជាប់ខាងក្រៅ"
|
|
345
|
-
integration_sync_enqueued: "ការធ្វើសមកាលកម្មបានដាក់ក្នុងជួរ"
|
|
346
|
-
integration_inactive: "ការភ្ជាប់មិនដំណើរការ"
|
|
347
|
-
external_integrations:
|
|
348
|
-
view_result: "មើលលទ្ធផល"
|
|
349
|
-
sync_result: "លទ្ធផលធ្វើសមកាលកម្ម"
|
|
350
|
-
external_payload: "ទិន្នន័យខាងក្រៅ"
|
|
351
|
-
no_results: "មិនមានលទ្ធផលទេ"
|
|
352
344
|
event:
|
|
353
345
|
check_in:
|
|
354
346
|
success: "Guest check-in in successfully"
|
data/config/routes.rb
CHANGED
|
@@ -283,13 +283,6 @@ Spree::Core::Engine.add_routes do
|
|
|
283
283
|
post :set_webhook
|
|
284
284
|
end
|
|
285
285
|
end
|
|
286
|
-
resources :integrations do
|
|
287
|
-
member do
|
|
288
|
-
post :enqueue_polling
|
|
289
|
-
end
|
|
290
|
-
resources :sessions, only: [:index], controller: 'integration_sessions'
|
|
291
|
-
resources :mappings, only: [:index], controller: 'integration_mappings'
|
|
292
|
-
end
|
|
293
286
|
|
|
294
287
|
resources :webhooks_subscribers do
|
|
295
288
|
resources :rules, controller: :webhooks_subscriber_rules, except: %i[index show]
|
|
@@ -702,7 +695,6 @@ Spree::Core::Engine.add_routes do
|
|
|
702
695
|
|
|
703
696
|
resources :seat_layouts, only: %i[show index]
|
|
704
697
|
resources :inventory_items, only: %i[index]
|
|
705
|
-
resources :event_matches, only: %i[index]
|
|
706
698
|
namespace :transit do
|
|
707
699
|
resources :draft_orders, only: %i[create]
|
|
708
700
|
end
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
class AddContactFieldsToCmTenants < ActiveRecord::Migration[7.0]
|
|
2
|
+
def change
|
|
3
|
+
add_column :cm_tenants, :customer_support_email, :string, if_not_exists: true
|
|
4
|
+
add_column :cm_tenants, :address, :text, if_not_exists: true
|
|
5
|
+
add_column :cm_tenants, :contact_phone, :string, if_not_exists: true
|
|
6
|
+
add_index :cm_tenants, :customer_support_email, if_not_exists: true
|
|
7
|
+
add_index :cm_tenants, :contact_phone, if_not_exists: true
|
|
8
|
+
end
|
|
9
|
+
end
|
data/lib/cm_app_logger.rb
CHANGED
|
@@ -55,17 +55,16 @@ require 'byebug' if Rails.env.development? || Rails.env.test?
|
|
|
55
55
|
|
|
56
56
|
module SpreeCmCommissioner
|
|
57
57
|
class << self
|
|
58
|
-
# Allows overriding the default Redis connection
|
|
59
|
-
attr_writer :
|
|
58
|
+
# Allows overriding the default Redis connection pool with a custom one
|
|
59
|
+
attr_writer :redis_pool
|
|
60
60
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
@inventory_redis_pool ||= default_redis_pool
|
|
61
|
+
def redis_pool
|
|
62
|
+
@redis_pool ||= default_redis_pool
|
|
64
63
|
end
|
|
65
64
|
|
|
66
|
-
# Resets
|
|
67
|
-
def
|
|
68
|
-
@
|
|
65
|
+
# Resets the Redis pool, useful for testing or reinitialization
|
|
66
|
+
def reset_redis_pool
|
|
67
|
+
@redis_pool = nil
|
|
69
68
|
end
|
|
70
69
|
|
|
71
70
|
private
|
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: 2.5.0.pre.
|
|
4
|
+
version: 2.5.0.pre.pre2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- You
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2025-12-
|
|
11
|
+
date: 2025-12-16 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: spree
|
|
@@ -848,9 +848,6 @@ files:
|
|
|
848
848
|
- app/controllers/spree/admin/id_cards_controller.rb
|
|
849
849
|
- app/controllers/spree/admin/import_existing_orders_controller.rb
|
|
850
850
|
- app/controllers/spree/admin/import_new_orders_controller.rb
|
|
851
|
-
- app/controllers/spree/admin/integration_mappings_controller.rb
|
|
852
|
-
- app/controllers/spree/admin/integration_sessions_controller.rb
|
|
853
|
-
- app/controllers/spree/admin/integrations_controller.rb
|
|
854
851
|
- app/controllers/spree/admin/inventory_items_controller.rb
|
|
855
852
|
- app/controllers/spree/admin/kyc_controller.rb
|
|
856
853
|
- app/controllers/spree/admin/line_items_controller.rb
|
|
@@ -946,7 +943,6 @@ files:
|
|
|
946
943
|
- app/controllers/spree/api/v2/storefront/customer_notifications_controller.rb
|
|
947
944
|
- app/controllers/spree/api/v2/storefront/dynamic_field_options_controller.rb
|
|
948
945
|
- app/controllers/spree/api/v2/storefront/dynamic_fields_controller.rb
|
|
949
|
-
- app/controllers/spree/api/v2/storefront/event_matches_controller.rb
|
|
950
946
|
- app/controllers/spree/api/v2/storefront/events_controller.rb
|
|
951
947
|
- app/controllers/spree/api/v2/storefront/google_wallet_object_tokens_controller.rb
|
|
952
948
|
- app/controllers/spree/api/v2/storefront/guest_card_classes_controller.rb
|
|
@@ -1115,8 +1111,6 @@ files:
|
|
|
1115
1111
|
- app/controllers/spree_cm_commissioner/well_known_controller.rb
|
|
1116
1112
|
- app/errors/spree_cm_commissioner/connection_error.rb
|
|
1117
1113
|
- app/errors/spree_cm_commissioner/exceeding_range_error.rb
|
|
1118
|
-
- app/errors/spree_cm_commissioner/integrations/external_client_error.rb
|
|
1119
|
-
- app/errors/spree_cm_commissioner/integrations/sync_error.rb
|
|
1120
1114
|
- app/errors/spree_cm_commissioner/payment_creation_error.rb
|
|
1121
1115
|
- app/errors/spree_cm_commissioner/payment_source_missing_error.rb
|
|
1122
1116
|
- app/errors/spree_cm_commissioner/schema_validation_error.rb
|
|
@@ -1134,7 +1128,6 @@ files:
|
|
|
1134
1128
|
- app/factory/spree_cm_commissioner/vendor_telegram_message_factory.rb
|
|
1135
1129
|
- app/finders/spree_cm_commissioner/accommodations/find.rb
|
|
1136
1130
|
- app/finders/spree_cm_commissioner/accommodations/find_variant.rb
|
|
1137
|
-
- app/finders/spree_cm_commissioner/events/find_matches.rb
|
|
1138
1131
|
- app/finders/spree_cm_commissioner/orders/find.rb
|
|
1139
1132
|
- app/finders/spree_cm_commissioner/orders/find_by_state.rb
|
|
1140
1133
|
- app/finders/spree_cm_commissioner/payment_methods/group_by_bank.rb
|
|
@@ -1156,7 +1149,6 @@ files:
|
|
|
1156
1149
|
- app/helpers/spree_cm_commissioner/admin/video_on_demand_helper.rb
|
|
1157
1150
|
- app/helpers/spree_cm_commissioner/billing/monthly_orders_helper.rb
|
|
1158
1151
|
- app/helpers/spree_cm_commissioner/billing/qrcodes_helper.rb
|
|
1159
|
-
- app/helpers/spree_cm_commissioner/external_integrations_helper.rb
|
|
1160
1152
|
- app/helpers/spree_cm_commissioner/pin_code_sender_helper.rb
|
|
1161
1153
|
- app/helpers/spree_cm_commissioner/telegram/base_helper.rb
|
|
1162
1154
|
- app/helpers/spree_cm_commissioner/transit/order_query_helper.rb
|
|
@@ -1324,9 +1316,6 @@ files:
|
|
|
1324
1316
|
- app/jobs/spree_cm_commissioner/export_csv_job.rb
|
|
1325
1317
|
- app/jobs/spree_cm_commissioner/firebase_email_fetcher_job.rb
|
|
1326
1318
|
- app/jobs/spree_cm_commissioner/import_order_job.rb
|
|
1327
|
-
- app/jobs/spree_cm_commissioner/integrations/base_job.rb
|
|
1328
|
-
- app/jobs/spree_cm_commissioner/integrations/polling_job.rb
|
|
1329
|
-
- app/jobs/spree_cm_commissioner/integrations/polling_scheduler_job.rb
|
|
1330
1319
|
- app/jobs/spree_cm_commissioner/invalidate_cache_request_job.rb
|
|
1331
1320
|
- app/jobs/spree_cm_commissioner/inventory_item_syncer_job.rb
|
|
1332
1321
|
- app/jobs/spree_cm_commissioner/option_type_variants_public_metadata_updater_job.rb
|
|
@@ -1346,7 +1335,6 @@ files:
|
|
|
1346
1335
|
- app/jobs/spree_cm_commissioner/stock/inventory_items_generator_job.rb
|
|
1347
1336
|
- app/jobs/spree_cm_commissioner/stock/permanent_inventory_items_generator_job.rb
|
|
1348
1337
|
- app/jobs/spree_cm_commissioner/subscription_order_executor_job.rb
|
|
1349
|
-
- app/jobs/spree_cm_commissioner/telegram_alerts/integration_sync_failure_job.rb
|
|
1350
1338
|
- app/jobs/spree_cm_commissioner/telegram_debug_pin_code_sender_job.rb
|
|
1351
1339
|
- app/jobs/spree_cm_commissioner/telegram_notification_sender_job.rb
|
|
1352
1340
|
- app/jobs/spree_cm_commissioner/telegram_start_message_sender_job.rb
|
|
@@ -1373,7 +1361,6 @@ files:
|
|
|
1373
1361
|
- app/models/.gitkeep
|
|
1374
1362
|
- app/models/concerns/spree_cm_commissioner/event_metadata.rb
|
|
1375
1363
|
- app/models/concerns/spree_cm_commissioner/homepage_section_bitwise.rb
|
|
1376
|
-
- app/models/concerns/spree_cm_commissioner/integrations/integration_mappable.rb
|
|
1377
1364
|
- app/models/concerns/spree_cm_commissioner/json_preference_validator.rb
|
|
1378
1365
|
- app/models/concerns/spree_cm_commissioner/kyc_bitwise.rb
|
|
1379
1366
|
- app/models/concerns/spree_cm_commissioner/line_item_durationable.rb
|
|
@@ -1472,10 +1459,6 @@ files:
|
|
|
1472
1459
|
- app/models/spree_cm_commissioner/image_methods_decorator.rb
|
|
1473
1460
|
- app/models/spree_cm_commissioner/import.rb
|
|
1474
1461
|
- app/models/spree_cm_commissioner/imports/import_order.rb
|
|
1475
|
-
- app/models/spree_cm_commissioner/integration.rb
|
|
1476
|
-
- app/models/spree_cm_commissioner/integration_mapping.rb
|
|
1477
|
-
- app/models/spree_cm_commissioner/integration_sync_session.rb
|
|
1478
|
-
- app/models/spree_cm_commissioner/integrations/stadium_x_v1.rb
|
|
1479
1462
|
- app/models/spree_cm_commissioner/inventory.rb
|
|
1480
1463
|
- app/models/spree_cm_commissioner/inventory_item.rb
|
|
1481
1464
|
- app/models/spree_cm_commissioner/invite.rb
|
|
@@ -1708,7 +1691,6 @@ files:
|
|
|
1708
1691
|
- app/overrides/spree/admin/shared/_version/deploy_tag_version_badge.html.erb.deface
|
|
1709
1692
|
- app/overrides/spree/admin/shared/sub_menu/_configuration/locations_tab.html.erb.deface
|
|
1710
1693
|
- app/overrides/spree/admin/shared/sub_menu/_configuration/menu_items.html.erb.deface
|
|
1711
|
-
- app/overrides/spree/admin/shared/sub_menu/_integrations/external_integrations.html.erb.deface
|
|
1712
1694
|
- app/overrides/spree/admin/shared/sub_menu/_integrations/telegram_bot.html.erb.deface
|
|
1713
1695
|
- app/overrides/spree/admin/shared/sub_menu/_orders/import_order.html.erb.deface
|
|
1714
1696
|
- app/overrides/spree/admin/shared/sub_menu/_organizations/tenants_tab.html.erb.deface
|
|
@@ -1768,7 +1750,7 @@ files:
|
|
|
1768
1750
|
- app/overrides/spree/admin/webhooks_subscribers/_form/rules.html.erb.deface
|
|
1769
1751
|
- app/overrides/spree/admin/webhooks_subscribers/index/table.html.erb.deface
|
|
1770
1752
|
- app/overrides/spree/layouts/admin/map_head.html.erb.deface
|
|
1771
|
-
- app/presenters/spree/variants/
|
|
1753
|
+
- app/presenters/spree/variants/visable_options_presenter.rb
|
|
1772
1754
|
- app/queries/spree_cm_commissioner/accommodation_query.rb
|
|
1773
1755
|
- app/queries/spree_cm_commissioner/dashboard_crew_event_query.rb
|
|
1774
1756
|
- app/queries/spree_cm_commissioner/event_chart_queries.rb
|
|
@@ -1789,6 +1771,7 @@ files:
|
|
|
1789
1771
|
- app/request_schemas/spree_cm_commissioner/intercity_taxi_draft_order_schema.rb
|
|
1790
1772
|
- app/request_schemas/spree_cm_commissioner/intercity_taxi_draft_order_update_schema.rb
|
|
1791
1773
|
- app/request_schemas/spree_cm_commissioner/inventory_item_schema.rb
|
|
1774
|
+
- app/request_schemas/spree_cm_commissioner/popular_route_places_request_schema.rb
|
|
1792
1775
|
- app/request_schemas/spree_cm_commissioner/profile_image_request_schema.rb
|
|
1793
1776
|
- app/request_schemas/spree_cm_commissioner/route_places_request_schema.rb
|
|
1794
1777
|
- app/request_schemas/spree_cm_commissioner/seat_layout_schema.rb
|
|
@@ -2000,23 +1983,6 @@ files:
|
|
|
2000
1983
|
- app/services/spree_cm_commissioner/imports/base_import_order_service.rb
|
|
2001
1984
|
- app/services/spree_cm_commissioner/imports/create_order_service.rb
|
|
2002
1985
|
- app/services/spree_cm_commissioner/imports/update_order_service.rb
|
|
2003
|
-
- app/services/spree_cm_commissioner/integrations/base/sync_manager.rb
|
|
2004
|
-
- app/services/spree_cm_commissioner/integrations/base/sync_result.rb
|
|
2005
|
-
- app/services/spree_cm_commissioner/integrations/polling.rb
|
|
2006
|
-
- app/services/spree_cm_commissioner/integrations/polling_scheduler.rb
|
|
2007
|
-
- app/services/spree_cm_commissioner/integrations/stadium_x_v1/external_client/client.rb
|
|
2008
|
-
- app/services/spree_cm_commissioner/integrations/stadium_x_v1/polling/sync_matches.rb
|
|
2009
|
-
- app/services/spree_cm_commissioner/integrations/stadium_x_v1/polling/sync_zones.rb
|
|
2010
|
-
- app/services/spree_cm_commissioner/integrations/stadium_x_v1/resources/base.rb
|
|
2011
|
-
- app/services/spree_cm_commissioner/integrations/stadium_x_v1/resources/league.rb
|
|
2012
|
-
- app/services/spree_cm_commissioner/integrations/stadium_x_v1/resources/match.rb
|
|
2013
|
-
- app/services/spree_cm_commissioner/integrations/stadium_x_v1/resources/ticket.rb
|
|
2014
|
-
- app/services/spree_cm_commissioner/integrations/stadium_x_v1/resources/ticket_image.rb
|
|
2015
|
-
- app/services/spree_cm_commissioner/integrations/stadium_x_v1/resources/zone.rb
|
|
2016
|
-
- app/services/spree_cm_commissioner/integrations/stadium_x_v1/sync_manager.rb
|
|
2017
|
-
- app/services/spree_cm_commissioner/integrations/stadium_x_v1/sync_strategies/full_sync_strategy.rb
|
|
2018
|
-
- app/services/spree_cm_commissioner/integrations/stadium_x_v1/sync_strategies/incremental_sync_strategy.rb
|
|
2019
|
-
- app/services/spree_cm_commissioner/integrations/stadium_x_v1/sync_strategies/webhook_sync_strategy.rb
|
|
2020
1986
|
- app/services/spree_cm_commissioner/intercity_taxi_order/create.rb
|
|
2021
1987
|
- app/services/spree_cm_commissioner/intercity_taxi_order/update.rb
|
|
2022
1988
|
- app/services/spree_cm_commissioner/metafields/product_metadata_service.rb
|
|
@@ -2045,7 +2011,6 @@ files:
|
|
|
2045
2011
|
- app/services/spree_cm_commissioner/seats/bulk_release_on_hold_blocks.rb
|
|
2046
2012
|
- app/services/spree_cm_commissioner/seats/release_expired_blocks.rb
|
|
2047
2013
|
- app/services/spree_cm_commissioner/seeds/roles_decorator.rb
|
|
2048
|
-
- app/services/spree_cm_commissioner/telegram_alerts/integration_sync_failure.rb
|
|
2049
2014
|
- app/services/spree_cm_commissioner/transit/legs_builder_service.rb
|
|
2050
2015
|
- app/services/spree_cm_commissioner/trips/search.rb
|
|
2051
2016
|
- app/services/spree_cm_commissioner/user_authenticator.rb
|
|
@@ -2147,15 +2112,6 @@ files:
|
|
|
2147
2112
|
- app/views/spree/admin/import_new_orders/index.html.erb
|
|
2148
2113
|
- app/views/spree/admin/import_new_orders/new.html.erb
|
|
2149
2114
|
- app/views/spree/admin/import_new_orders/show.html.erb
|
|
2150
|
-
- app/views/spree/admin/integration_mappings/_integration_mappings.html.erb
|
|
2151
|
-
- app/views/spree/admin/integration_mappings/index.html.erb
|
|
2152
|
-
- app/views/spree/admin/integration_sessions/_integration_sync_sessions.html.erb
|
|
2153
|
-
- app/views/spree/admin/integration_sessions/index.html.erb
|
|
2154
|
-
- app/views/spree/admin/integrations/_form.html.erb
|
|
2155
|
-
- app/views/spree/admin/integrations/_stadium_x_v1_fields.html.erb
|
|
2156
|
-
- app/views/spree/admin/integrations/edit.html.erb
|
|
2157
|
-
- app/views/spree/admin/integrations/index.html.erb
|
|
2158
|
-
- app/views/spree/admin/integrations/new.html.erb
|
|
2159
2115
|
- app/views/spree/admin/inventory_items/show.html.erb
|
|
2160
2116
|
- app/views/spree/admin/kyc/_form.html.erb
|
|
2161
2117
|
- app/views/spree/admin/kyc/edit.html.erb
|
|
@@ -2241,6 +2197,8 @@ files:
|
|
|
2241
2197
|
- app/views/spree/admin/tenants/_form.html.erb
|
|
2242
2198
|
- app/views/spree/admin/tenants/_tabs.html.erb
|
|
2243
2199
|
- app/views/spree/admin/tenants/edit.html.erb
|
|
2200
|
+
- app/views/spree/admin/tenants/form/_footer.html.erb
|
|
2201
|
+
- app/views/spree/admin/tenants/form/_social.html.erb
|
|
2244
2202
|
- app/views/spree/admin/tenants/index.html.erb
|
|
2245
2203
|
- app/views/spree/admin/tenants/new.html.erb
|
|
2246
2204
|
- app/views/spree/admin/user_events/_events.html.erb
|
|
@@ -2938,11 +2896,9 @@ files:
|
|
|
2938
2896
|
- db/migrate/20251009033331_add_registered_by_to_spree_users.rb
|
|
2939
2897
|
- db/migrate/20251009073040_add_lock_version_to_cm_routes.rb
|
|
2940
2898
|
- db/migrate/20251009073929_add_lock_version_to_cm_vendor_routes.rb
|
|
2941
|
-
- db/migrate/20251017094845_create_cm_integrations.rb
|
|
2942
|
-
- db/migrate/20251017101555_create_cm_integration_sync_sessions.rb
|
|
2943
|
-
- db/migrate/20251017101605_create_cm_integration_mappings.rb
|
|
2944
2899
|
- db/migrate/20251113081853_add_index_to_spree_orders_updated_at.rb
|
|
2945
2900
|
- db/migrate/20251119093000_add_tenant_id_to_cm_vendor_places.rb
|
|
2901
|
+
- db/migrate/20251209022924_add_contact_fields_to_cm_tenants.rb
|
|
2946
2902
|
- docker-compose.yml
|
|
2947
2903
|
- docs/api/scoped-access-token-endpoints.md
|
|
2948
2904
|
- docs/option_types/attr_types.md
|
|
@@ -3001,9 +2957,6 @@ files:
|
|
|
3001
2957
|
- lib/spree_cm_commissioner/test_helper/factories/homepage_section_relatable_factory.rb
|
|
3002
2958
|
- lib/spree_cm_commissioner/test_helper/factories/id_card_factory.rb
|
|
3003
2959
|
- lib/spree_cm_commissioner/test_helper/factories/image_factory.rb
|
|
3004
|
-
- lib/spree_cm_commissioner/test_helper/factories/integration_factory.rb
|
|
3005
|
-
- lib/spree_cm_commissioner/test_helper/factories/integration_mapping_factory.rb
|
|
3006
|
-
- lib/spree_cm_commissioner/test_helper/factories/integration_sync_session_factory.rb
|
|
3007
2960
|
- lib/spree_cm_commissioner/test_helper/factories/inventory_item_factory.rb
|
|
3008
2961
|
- lib/spree_cm_commissioner/test_helper/factories/invite_factory.rb
|
|
3009
2962
|
- lib/spree_cm_commissioner/test_helper/factories/invite_guests_factory.rb
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
module Spree
|
|
2
|
-
module Admin
|
|
3
|
-
class IntegrationMappingsController < Spree::Admin::BaseController
|
|
4
|
-
helper SpreeCmCommissioner::ExternalIntegrationsHelper
|
|
5
|
-
before_action :load_integration
|
|
6
|
-
|
|
7
|
-
def index
|
|
8
|
-
@mappings = @integration.integration_mappings
|
|
9
|
-
.order(updated_at: :desc)
|
|
10
|
-
.page(params[:page])
|
|
11
|
-
.per(params[:per_page] || 25)
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
private
|
|
15
|
-
|
|
16
|
-
def load_integration
|
|
17
|
-
@integration ||= SpreeCmCommissioner::Integration.find(params[:integration_id])
|
|
18
|
-
end
|
|
19
|
-
end
|
|
20
|
-
end
|
|
21
|
-
end
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
module Spree
|
|
2
|
-
module Admin
|
|
3
|
-
class IntegrationSessionsController < Spree::Admin::BaseController
|
|
4
|
-
helper SpreeCmCommissioner::ExternalIntegrationsHelper
|
|
5
|
-
before_action :load_integration
|
|
6
|
-
|
|
7
|
-
def index
|
|
8
|
-
@sync_sessions = @integration.integration_sync_sessions
|
|
9
|
-
.order(created_at: :desc)
|
|
10
|
-
.page(params[:page])
|
|
11
|
-
.per(params[:per_page] || 25)
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
private
|
|
15
|
-
|
|
16
|
-
def load_integration
|
|
17
|
-
@integration ||= SpreeCmCommissioner::Integration.find(params[:integration_id])
|
|
18
|
-
end
|
|
19
|
-
end
|
|
20
|
-
end
|
|
21
|
-
end
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
module Spree
|
|
2
|
-
module Admin
|
|
3
|
-
class IntegrationsController < Spree::Admin::ResourceController
|
|
4
|
-
helper SpreeCmCommissioner::ExternalIntegrationsHelper
|
|
5
|
-
before_action :load_form_collections, only: %i[new create edit update]
|
|
6
|
-
before_action :load_integration, only: %i[enqueue_polling]
|
|
7
|
-
|
|
8
|
-
def index
|
|
9
|
-
@integrations = model_class.all
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
def enqueue_polling
|
|
13
|
-
sync_type = params[:sync_type].presence || :full
|
|
14
|
-
|
|
15
|
-
if @integration.active?
|
|
16
|
-
SpreeCmCommissioner::Integrations::PollingJob.perform_later(
|
|
17
|
-
integration_id: @integration.id,
|
|
18
|
-
sync_type: sync_type
|
|
19
|
-
)
|
|
20
|
-
flash[:success] = Spree.t('admin.integration_sync_enqueued')
|
|
21
|
-
else
|
|
22
|
-
flash[:error] = Spree.t('admin.integration_inactive')
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
redirect_to admin_integration_sessions_path(@integration)
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
# override
|
|
29
|
-
def model_class
|
|
30
|
-
SpreeCmCommissioner::Integration
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
# override
|
|
34
|
-
def collection_url(options = {})
|
|
35
|
-
admin_integrations_url(options)
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
private
|
|
39
|
-
|
|
40
|
-
def permitted_resource_params
|
|
41
|
-
params.require(:spree_cm_commissioner_integration).permit(
|
|
42
|
-
:name,
|
|
43
|
-
:type,
|
|
44
|
-
:status,
|
|
45
|
-
:conflict_strategy,
|
|
46
|
-
:incremental_sync_interval_seconds,
|
|
47
|
-
:full_sync_interval_hours,
|
|
48
|
-
:tenant_id,
|
|
49
|
-
:vendor_id,
|
|
50
|
-
public_metadata: {},
|
|
51
|
-
private_metadata: {}
|
|
52
|
-
)
|
|
53
|
-
end
|
|
54
|
-
|
|
55
|
-
def load_integration
|
|
56
|
-
@integration ||= SpreeCmCommissioner::Integration.find(params[:id])
|
|
57
|
-
end
|
|
58
|
-
|
|
59
|
-
def load_form_collections
|
|
60
|
-
@integration_type_options ||= integration_type_options
|
|
61
|
-
@status_options ||= enum_to_options(SpreeCmCommissioner::Integration.statuses)
|
|
62
|
-
@conflict_strategy_options ||= enum_to_options(SpreeCmCommissioner::Integration.conflict_strategies)
|
|
63
|
-
@tenants ||= SpreeCmCommissioner::Tenant.select(:id, :name).order(:name)
|
|
64
|
-
@vendors ||= Spree::Vendor.select(:id, :name).order(:name)
|
|
65
|
-
end
|
|
66
|
-
|
|
67
|
-
def enum_to_options(enum_hash)
|
|
68
|
-
enum_hash.keys.map { |key| [key.humanize, key] }
|
|
69
|
-
end
|
|
70
|
-
|
|
71
|
-
def integration_type_options
|
|
72
|
-
files = Dir[SpreeCmCommissioner::Engine.root.join('app/models/spree_cm_commissioner/integrations/*.rb')]
|
|
73
|
-
|
|
74
|
-
return [[Spree.t(:type), 'SpreeCmCommissioner::Integration']] if files.blank?
|
|
75
|
-
|
|
76
|
-
files.map do |path|
|
|
77
|
-
class_name = "SpreeCmCommissioner::Integrations::#{File.basename(path, '.rb').camelize}"
|
|
78
|
-
[class_name, class_name]
|
|
79
|
-
end.sort_by(&:first)
|
|
80
|
-
end
|
|
81
|
-
end
|
|
82
|
-
end
|
|
83
|
-
end
|