spree_reports 0.1.2 → 0.1.3

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
  SHA1:
3
- metadata.gz: ea4e4aa3207d724ba43f7a4925af008fb1ea287c
4
- data.tar.gz: b00ba569b7311c6c35804c17ec46bdf27a3614cc
3
+ metadata.gz: 22cef88a7f4eca1368ead4f4841f43654b3daf72
4
+ data.tar.gz: 2a0568f18fcec38bea9bead64da6f7eef2802390
5
5
  SHA512:
6
- metadata.gz: 78f54ea040871d823064b14717b6c41bc4794d51f666a28c5c29c231374c58fe28489ebb14432dd89c232545593678fdfc09a2cfe95dc03253c51267ac317af4
7
- data.tar.gz: 1a8e4a309263ad6ee1212677953e2fa42dffa566a30d9ad35fd7ee53bf2c12f869438a6713394c44d89ca6e8ef66073d45220ec6ee0177b655a1e891faed8f9b
6
+ metadata.gz: 0114714084f66f721354460546ff696c2d9bc2103aa6b0e83d5a16b928c2d54ce44cf310f02fbe7375bd54ae86a87e9e3942a91ed11a763355e651ecfa3e56bc
7
+ data.tar.gz: 4332bcdfc638a420e72954ba5ddd6c75d90931f5fde1658af0fbac9b7df1b8745df8d8cb19f8aa943c9332718f024b9b97599a722a9edee1171336f52cd77699
@@ -28,6 +28,12 @@ module SpreeReports
28
28
 
29
29
  # date formats for different group_by settings
30
30
  mattr_accessor :date_formats
31
+
32
+ # these user roles are exluded from all reports
33
+ mattr_accessor :excluded_roles
34
+
35
+ # these user accounts are exluded from all reports
36
+ mattr_accessor :excluded_users
31
37
 
32
38
  end
33
39
 
@@ -51,4 +57,6 @@ SpreeReports.date_formats = {
51
57
  month: "%m.%Y",
52
58
  week: "%W/%Y",
53
59
  day: "%m.%d.%y"
54
- }
60
+ }
61
+ SpreeReports.excluded_roles = %w{admin}
62
+ SpreeReports.excluded_users = []
@@ -0,0 +1,25 @@
1
+ module SpreeReports
2
+ module Reports
3
+ class Base
4
+
5
+ def excluded_user_ids
6
+ users = []
7
+
8
+ if SpreeReports.excluded_roles && SpreeReports.excluded_roles.any?
9
+ users += Spree::User.joins(:spree_roles).where("spree_roles.name": SpreeReports.excluded_roles).pluck(:id)
10
+ end
11
+
12
+ if SpreeReports.excluded_users && SpreeReports.excluded_users.any?
13
+ users += Spree::User.where(email: SpreeReports.excluded_users).pluck(:id)
14
+ end
15
+
16
+ users.uniq
17
+ end
18
+
19
+ end
20
+ end
21
+ end
22
+
23
+
24
+
25
+
@@ -1,6 +1,6 @@
1
1
  module SpreeReports
2
2
  module Reports
3
- class OrdersByPeriod
3
+ class OrdersByPeriod < SpreeReports::Reports::Base
4
4
 
5
5
  attr_accessor :params, :data
6
6
  attr_accessor :currencies, :currency, :stores, :store, :group_by_list, :group_by, :states, :state, :months, :date_start
@@ -72,6 +72,11 @@ module SpreeReports
72
72
  @sales = @sales.where(currency: @currency) if @currencies.size > 1
73
73
  @sales = @sales.where(store_id: @store) if @stores.size > 2 && @store != "all"
74
74
 
75
+ if excluded_user_ids.any?
76
+ excluded_sales = Spree::Order.where(user_id: excluded_user_ids).pluck(:id)
77
+ @sales = @sales.where.not(id: excluded_sales) if excluded_sales.any?
78
+ end
79
+
75
80
  # group by
76
81
 
77
82
  if @group_by == :year
@@ -1,3 +1,3 @@
1
1
  module SpreeReports
2
- VERSION = "0.1.2"
2
+ VERSION = "0.1.3"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spree_reports
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mike Lieser
@@ -71,6 +71,7 @@ files:
71
71
  - lib/spree_reports.rb
72
72
  - lib/spree_reports/engine.rb
73
73
  - lib/spree_reports/helper.rb
74
+ - lib/spree_reports/reports/base.rb
74
75
  - lib/spree_reports/reports/orders_by_period.rb
75
76
  - lib/spree_reports/version.rb
76
77
  - lib/tasks/spree_reports_tasks.rake