Class: Workarea::Alerts

Inherits:
Object
  • Object
show all
Defined in:
app/queries/workarea/alerts.rb

Instance Method Summary collapse

Instance Method Details

#empty_categoriesObject



12
13
14
15
16
# File 'app/queries/workarea/alerts.rb', line 12

def empty_categories
  @empty_categories ||= Search::AdminCategories
    .new(issues: [I18n.t('workarea.alerts.issues.no_displayable_products')])
    .total
end

#empty_upcoming_releasesObject



75
76
77
78
79
80
# File 'app/queries/workarea/alerts.rb', line 75

def empty_upcoming_releases
  @empty_upcoming_releases ||= Release
                                .scheduled
                                .asc(:publish_at)
                                .reject(&:has_changes?)
end

#latest_workarea_versionObject



82
83
84
85
86
87
# File 'app/queries/workarea/alerts.rb', line 82

def latest_workarea_version
  return if Rails.env.test?
  return if Rails.env.development? && ENV.fetch('SKIP_VERSION_CHECK', 'true') =~ /true/i

  Workarea::LatestVersion.get
end

#missing_segmentsObject



89
90
91
92
93
94
95
96
97
98
99
100
101
# File 'app/queries/workarea/alerts.rb', line 89

def missing_segments
  @missing_segments ||= begin
    search = Search::AdminSearch.new
    active_by_segment_facet =
      search.facets.detect { |f| f.name == 'active_by_segment' }

    if active_by_segment_facet.present?
      active_by_segment_facet.results.keys - Segment.pluck(:id).map(&:to_s)
    else
      []
    end
  end
end

#products_inconsistent_variant_detailsObject



65
66
67
68
69
70
71
72
73
# File 'app/queries/workarea/alerts.rb', line 65

def products_inconsistent_variant_details
  @products_inconsistent_variant_details ||= Search::AdminProducts
    .new(
      issues: [
        I18n.t('workarea.alerts.issues.inconsistent_variant_details')
      ]
    )
    .total
end

#products_low_inventoryObject



51
52
53
54
55
# File 'app/queries/workarea/alerts.rb', line 51

def products_low_inventory
  @products_low_inventory ||= Search::AdminProducts
    .new(issues: [I18n.t('workarea.alerts.issues.low_inventory')])
    .total
end

#products_missing_categoriesObject



42
43
44
45
46
47
48
49
# File 'app/queries/workarea/alerts.rb', line 42

def products_missing_categories
  @products_missing_categories ||= Search::AdminProducts
    .new(
      status: ['active'],
      issues: [I18n.t('workarea.alerts.issues.no_categories')]
    )
    .total
end

#products_missing_descriptionsObject



27
28
29
30
31
32
33
34
# File 'app/queries/workarea/alerts.rb', line 27

def products_missing_descriptions
  @products_missing_descriptions ||= Search::AdminProducts
    .new(
      status: ['active'],
      issues: [I18n.t('workarea.alerts.issues.no_description')]
    )
    .total
end

#products_missing_imagesObject



18
19
20
21
22
23
24
25
# File 'app/queries/workarea/alerts.rb', line 18

def products_missing_images
  @products_missing_images ||= Search::AdminProducts
    .new(
      status: ['active'],
      issues: [I18n.t('workarea.alerts.issues.no_images')]
    )
    .total
end

#products_missing_pricesObject



3
4
5
6
7
8
9
10
# File 'app/queries/workarea/alerts.rb', line 3

def products_missing_prices
  @products_missing_prices ||= Search::AdminProducts
    .new(
      status: ['active'],
      issues: [I18n.t('workarea.alerts.issues.sku_missing_price')]
    )
    .total
end

#products_missing_variantsObject



36
37
38
39
40
# File 'app/queries/workarea/alerts.rb', line 36

def products_missing_variants
  @products_missing_variants ||= Search::AdminProducts
    .new(issues: [I18n.t('workarea.alerts.issues.no_variants')])
    .total
end

#products_variants_missing_detailsObject



57
58
59
60
61
62
63
# File 'app/queries/workarea/alerts.rb', line 57

def products_variants_missing_details
  @products_variants_missing_details ||= Search::AdminProducts
    .new(
      issues: [I18n.t('workarea.alerts.issues.variants_missing_details')]
    )
    .total
end