spree_reports 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
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