Module: SpreeCmCommissioner::ExternalIntegrationsHelper
- Defined in:
- app/helpers/spree_cm_commissioner/external_integrations_helper.rb
Instance Method Summary collapse
- #integration_base_url_link(url) ⇒ Object
- #integration_conflict_strategy_badge(strategy) ⇒ Object
- #integration_interval_badge(value, unit) ⇒ Object
- #integration_mapping_internal_link(mapping) ⇒ Object
- #integration_status_badge(status) ⇒ Object
Instance Method Details
#integration_base_url_link(url) ⇒ Object
21 22 23 24 25 26 27 |
# File 'app/helpers/spree_cm_commissioner/external_integrations_helper.rb', line 21 def integration_base_url_link(url) if url.present? link_to url, url, target: '_blank', rel: 'noopener', class: 'text-decoration-underline' else content_tag(:span, '—', class: 'text-muted') end end |
#integration_conflict_strategy_badge(strategy) ⇒ Object
13 14 15 |
# File 'app/helpers/spree_cm_commissioner/external_integrations_helper.rb', line 13 def integration_conflict_strategy_badge(strategy) content_tag(:span, strategy.to_s.humanize, class: 'badge badge-pill badge-secondary') end |
#integration_interval_badge(value, unit) ⇒ Object
17 18 19 |
# File 'app/helpers/spree_cm_commissioner/external_integrations_helper.rb', line 17 def integration_interval_badge(value, unit) content_tag(:span, "#{value}#{unit}", class: 'badge badge-pill badge-info') end |
#integration_mapping_internal_link(mapping) ⇒ Object
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'app/helpers/spree_cm_commissioner/external_integrations_helper.rb', line 29 def integration_mapping_internal_link(mapping) return mapping.internal_id if mapping.internal.blank? begin case mapping.internal_type when 'Spree::Taxon' taxon = mapping.internal taxonomy_id = taxon.taxonomy_id || taxon.taxonomy&.id if taxonomy_id link_to mapping.internal_id, edit_admin_taxonomy_taxon_path(taxonomy_id, taxon.id), class: 'text-primary' end when 'Spree::Product' link_to mapping.internal_id, edit_admin_product_path(mapping.internal), class: 'text-primary' when 'Spree::Variant' link_to mapping.internal_id, edit_admin_product_variant_path(mapping.internal.product_id, mapping.internal), class: 'text-primary' when 'Spree::Vendor' link_to mapping.internal_id, edit_admin_vendor_path(mapping.internal), class: 'text-primary' else # Try polymorphic route as fallback link_to mapping.internal_id, [:edit, :admin, mapping.internal], class: 'text-primary' end rescue StandardError => e Rails.logger.warn("Failed to generate link for mapping #{mapping.id}: #{e.}") mapping.internal_id end end |
#integration_status_badge(status) ⇒ Object
3 4 5 6 7 8 9 10 11 |
# File 'app/helpers/spree_cm_commissioner/external_integrations_helper.rb', line 3 def integration_status_badge(status) badge_class = case status.to_s when 'active' then 'badge-success' when 'paused' then 'badge-warning' else 'badge-secondary' end content_tag(:span, status.to_s.humanize, class: "badge badge-pill #{badge_class}") end |