effective_orders 6.1.4 → 6.2.0
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/README.md +4 -2
- data/app/controllers/admin/order_reports_controller.rb +13 -4
- data/app/datatables/admin/report_payment_providers_datatable.rb +3 -4
- data/app/datatables/admin/report_transactions_datatable.rb +3 -9
- data/app/datatables/admin/{report_grouped_transactions_datatable.rb → report_transactions_grouped_by_name_datatable.rb} +5 -10
- data/app/datatables/admin/report_transactions_grouped_by_qb_name_datatable.rb +73 -0
- data/config/routes.rb +2 -1
- data/lib/effective_orders/version.rb +1 -1
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2407ab44a43970dfb04a4f9d4c9b8bf089200b3d5db3ce06299cd009f1812507
|
4
|
+
data.tar.gz: 3f8d77b5e27af60e1ef37ab48edf2e8b49a82ebdc7df0232292f0d69ea2ec44b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e754e64033aca9541fd069244492ccb66f366c9b66c27d782171a92a23093dbf3e28568ea5acc87e7e02693bb26d5ce6f1f70a2b9809c6f0fe7114c4cca55d68
|
7
|
+
data.tar.gz: b562aac96357bfa2549bb828410cf6775a491e08adbe5ef94f983b1da58641ab9ae9eddb6a9c0c69c740fa7cc8816ef28b76d962588cd9b368cbcff2af557e49
|
data/README.md
CHANGED
@@ -364,11 +364,13 @@ In addition to the above, the following permissions allow access to the `/admin`
|
|
364
364
|
can :admin, :effective_orders # Can access the admin screens
|
365
365
|
|
366
366
|
can :index, :report_transactions
|
367
|
-
can :index, :
|
367
|
+
can :index, :report_transactions_grouped_by_name
|
368
|
+
can :index, :report_transactions_grouped_by_qb_name
|
368
369
|
can :index, :report_payment_providers
|
369
370
|
|
370
371
|
can :index, Admin::ReportTransactionsDatatable
|
371
|
-
can :index, Admin::
|
372
|
+
can :index, Admin::ReportTransactionsGroupedByNameDatatable
|
373
|
+
can :index, Admin::ReportTransactionsGroupedByQbNameDatatable
|
372
374
|
can :index, Admin::ReportPaymentProvidersDatatable
|
373
375
|
```
|
374
376
|
|
@@ -14,11 +14,20 @@ module Admin
|
|
14
14
|
render 'index'
|
15
15
|
end
|
16
16
|
|
17
|
-
def
|
18
|
-
@page_title = 'Revenue: Grouped
|
19
|
-
@datatable = Admin::
|
17
|
+
def transactions_grouped_by_name
|
18
|
+
@page_title = 'Revenue: Transactions Grouped By Name'
|
19
|
+
@datatable = Admin::ReportTransactionsGroupedByNameDatatable.new
|
20
20
|
|
21
|
-
authorize! :index, :
|
21
|
+
authorize! :index, :report_transactions_grouped_by_name
|
22
|
+
|
23
|
+
render 'index'
|
24
|
+
end
|
25
|
+
|
26
|
+
def transactions_grouped_by_qb_name
|
27
|
+
@page_title = 'Revenue: Transactions Grouped By Quickbooks Name'
|
28
|
+
@datatable = Admin::ReportTransactionsGroupedByQbNameDatatable.new
|
29
|
+
|
30
|
+
authorize! :index, :report_transactions_grouped_by_qb_name
|
22
31
|
|
23
32
|
render 'index'
|
24
33
|
end
|
@@ -3,8 +3,7 @@
|
|
3
3
|
module Admin
|
4
4
|
class ReportPaymentProvidersDatatable < Effective::Datatable
|
5
5
|
filters do
|
6
|
-
|
7
|
-
filter :end_date, nil, as: :date
|
6
|
+
filter_date_range :current_month
|
8
7
|
end
|
9
8
|
|
10
9
|
datatable do
|
@@ -16,11 +15,11 @@ module Admin
|
|
16
15
|
col :returns, as: :price
|
17
16
|
col :total, as: :price
|
18
17
|
|
19
|
-
col :
|
18
|
+
col :filtered_start_date, as: :date, search: false, sort: false, visible: false do
|
20
19
|
date_range.begin&.strftime('%F')
|
21
20
|
end
|
22
21
|
|
23
|
-
col :
|
22
|
+
col :filtered_end_date, as: :date, search: false, sort: false, visible: false do
|
24
23
|
date_range.end&.strftime('%F')
|
25
24
|
end
|
26
25
|
|
@@ -4,8 +4,7 @@ module Admin
|
|
4
4
|
class ReportTransactionsDatatable < Effective::Datatable
|
5
5
|
|
6
6
|
filters do
|
7
|
-
|
8
|
-
filter :end_date, nil, as: :date
|
7
|
+
filter_date_range :current_month
|
9
8
|
end
|
10
9
|
|
11
10
|
datatable do
|
@@ -35,11 +34,11 @@ module Admin
|
|
35
34
|
|
36
35
|
col :total, as: :price
|
37
36
|
|
38
|
-
col :
|
37
|
+
col :filtered_start_date, as: :date, search: false, sort: false, visible: false do
|
39
38
|
date_range.begin&.strftime('%F')
|
40
39
|
end
|
41
40
|
|
42
|
-
col :
|
41
|
+
col :filtered_end_date, as: :date, search: false, sort: false, visible: false do
|
43
42
|
date_range.end&.strftime('%F')
|
44
43
|
end
|
45
44
|
|
@@ -54,10 +53,5 @@ module Admin
|
|
54
53
|
.where('total != 0')
|
55
54
|
.includes(:user, [order_items: :purchasable])
|
56
55
|
end
|
57
|
-
|
58
|
-
def date_range
|
59
|
-
@date_range ||= (filters[:start_date].presence)..(filters[:end_date].presence)
|
60
|
-
end
|
61
|
-
|
62
56
|
end
|
63
57
|
end
|
@@ -1,10 +1,9 @@
|
|
1
|
-
# Revenue: Grouped
|
1
|
+
# Revenue: Transactions Grouped By Name
|
2
2
|
|
3
3
|
module Admin
|
4
|
-
class
|
4
|
+
class ReportTransactionsGroupedByNameDatatable < Effective::Datatable
|
5
5
|
filters do
|
6
|
-
|
7
|
-
filter :end_date, nil, as: :date
|
6
|
+
filter_date_range :current_month
|
8
7
|
end
|
9
8
|
|
10
9
|
datatable do
|
@@ -24,11 +23,11 @@ module Admin
|
|
24
23
|
col :orders
|
25
24
|
col :users
|
26
25
|
|
27
|
-
col :
|
26
|
+
col :filtered_start_date, as: :date, search: false, sort: false, visible: false do
|
28
27
|
date_range.begin&.strftime('%F')
|
29
28
|
end
|
30
29
|
|
31
|
-
col :
|
30
|
+
col :filtered_end_date, as: :date, search: false, sort: false, visible: false do
|
32
31
|
date_range.end&.strftime('%F')
|
33
32
|
end
|
34
33
|
|
@@ -70,9 +69,5 @@ module Admin
|
|
70
69
|
@payment_providers ||= EffectiveOrders.payment_providers - ['free', 'pretend']
|
71
70
|
end
|
72
71
|
|
73
|
-
def date_range
|
74
|
-
@date_range ||= (filters[:start_date].presence)..(filters[:end_date].presence)
|
75
|
-
end
|
76
|
-
|
77
72
|
end
|
78
73
|
end
|
@@ -0,0 +1,73 @@
|
|
1
|
+
# Revenue: Transactions Grouped By Name
|
2
|
+
|
3
|
+
module Admin
|
4
|
+
class ReportTransactionsGroupedByQbNameDatatable < Effective::Datatable
|
5
|
+
filters do
|
6
|
+
filter_date_range :current_month
|
7
|
+
end
|
8
|
+
|
9
|
+
datatable do
|
10
|
+
length 250
|
11
|
+
|
12
|
+
col :qb_item_name
|
13
|
+
col :subtotal, as: :price
|
14
|
+
col :tax, as: :price
|
15
|
+
col :total, as: :price
|
16
|
+
|
17
|
+
payment_providers.each do |provider|
|
18
|
+
col(provider, as: :price)
|
19
|
+
end
|
20
|
+
|
21
|
+
col :orders_count
|
22
|
+
|
23
|
+
col :orders
|
24
|
+
col :users
|
25
|
+
|
26
|
+
col :start_date, as: :date, search: false, sort: false, visible: false do
|
27
|
+
date_range.begin&.strftime('%F')
|
28
|
+
end
|
29
|
+
|
30
|
+
col :end_date, as: :date, search: false, sort: false, visible: false do
|
31
|
+
date_range.end&.strftime('%F')
|
32
|
+
end
|
33
|
+
|
34
|
+
aggregate :total
|
35
|
+
end
|
36
|
+
|
37
|
+
collection do
|
38
|
+
start_date = date_range.begin&.strftime('%F')
|
39
|
+
end_date = date_range.end&.strftime('%F')
|
40
|
+
|
41
|
+
orders = Effective::Order.purchased.where(purchased_at: date_range).where('total != 0')
|
42
|
+
order_items = Effective::OrderItem.includes(:qb_order_item).where(order_id: orders).includes(:purchasable, order: :user)
|
43
|
+
|
44
|
+
items = order_items.group_by(&:qb_item_name).map do |name, items|
|
45
|
+
row = [
|
46
|
+
name,
|
47
|
+
items.sum { |item| item.subtotal }.to_i,
|
48
|
+
items.sum { |item| item.tax }.to_i,
|
49
|
+
items.sum { |item| item.total }.to_i,
|
50
|
+
]
|
51
|
+
|
52
|
+
row += payment_providers.map do |payment_provider|
|
53
|
+
items.sum { |item| (item.order.payment_provider == payment_provider) ? item.total : 0 }.to_i
|
54
|
+
end
|
55
|
+
|
56
|
+
row += [
|
57
|
+
items.map(&:order_id).uniq.length,
|
58
|
+
items.map { |item| item.order },
|
59
|
+
items.map { |item| item.order.user },
|
60
|
+
start_date,
|
61
|
+
end_date
|
62
|
+
]
|
63
|
+
|
64
|
+
row
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
def payment_providers
|
69
|
+
@payment_providers ||= EffectiveOrders.payment_providers - ['free', 'pretend']
|
70
|
+
end
|
71
|
+
|
72
|
+
end
|
73
|
+
end
|
data/config/routes.rb
CHANGED
@@ -67,7 +67,8 @@ EffectiveOrders::Engine.routes.draw do
|
|
67
67
|
resources :order_reports, only: [] do
|
68
68
|
collection do
|
69
69
|
get :transactions
|
70
|
-
get :
|
70
|
+
get :transactions_grouped_by_name
|
71
|
+
get :transactions_grouped_by_qb_name
|
71
72
|
get :payment_providers
|
72
73
|
end
|
73
74
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: effective_orders
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 6.
|
4
|
+
version: 6.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Code and Effect
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-03-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -208,9 +208,10 @@ files:
|
|
208
208
|
- app/controllers/effective/webhooks_controller.rb
|
209
209
|
- app/datatables/admin/effective_customers_datatable.rb
|
210
210
|
- app/datatables/admin/effective_orders_datatable.rb
|
211
|
-
- app/datatables/admin/report_grouped_transactions_datatable.rb
|
212
211
|
- app/datatables/admin/report_payment_providers_datatable.rb
|
213
212
|
- app/datatables/admin/report_transactions_datatable.rb
|
213
|
+
- app/datatables/admin/report_transactions_grouped_by_name_datatable.rb
|
214
|
+
- app/datatables/admin/report_transactions_grouped_by_qb_name_datatable.rb
|
214
215
|
- app/datatables/effective_orders_datatable.rb
|
215
216
|
- app/helpers/effective_carts_helper.rb
|
216
217
|
- app/helpers/effective_moneris_checkout_helper.rb
|