effective_orders 1.4.7 → 1.4.8

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: 8bd1b0461a1e15f28fe6517bfa7d3690fdb73792
4
- data.tar.gz: f4602fdd9df75b848db2d0738ce05f7d38f8fbe8
3
+ metadata.gz: 90f4d410052692513e6d97431511392a842f90fd
4
+ data.tar.gz: 0b76a1f812247ea785443054d58b490b63ba8cf9
5
5
  SHA512:
6
- metadata.gz: f54c72da379ddc8aabfaf98d292b1271f0186991303d5d03bf647a35eba11c3a15da6d1f1ac00eba4ad5c3b8e08161a12ed0e78dafb0d2c1c2dbe1bc385d2ee3
7
- data.tar.gz: 2606e13a44beb4a5c65dad8704859a6741041e79a7977ef97e6ad9139c09e85365ef33f8de591bc5edd4060e867afb9cb4f2df13be9612729b246663a58d0b5a
6
+ metadata.gz: e0c19301b8f074a34edd09e605b659ec43e1e5e9a0f51543f9dee0b8766eb395f58f7f3b12b435f498c4c5af2746924700db652e82b90e9aeefcb5d000bc424a
7
+ data.tar.gz: 8fa3a64a12f9d8ff24c354ba17373c048381d60c4b0af744b7a9803a630b0963099fe55ce5ec8e0709ad2c4473bcec7676ce5ace06e65643e879319f9b82f55a
@@ -0,0 +1,14 @@
1
+ if defined?(ActiveAdmin)
2
+ ActiveAdmin.register Effective::Cart, namespace: EffectiveOrders.active_admin_namespace, as: 'Carts' do
3
+ menu label: 'My Cart', if: proc { (authorized?(:manage, Effective::Cart.new(user: current_user)) rescue false) }
4
+
5
+ actions :index
6
+
7
+ controller do
8
+ def index
9
+ redirect_to(effective_orders.cart_path)
10
+ end
11
+ end
12
+
13
+ end
14
+ end
@@ -0,0 +1,95 @@
1
+ if defined?(ActiveAdmin)
2
+ require 'csv'
3
+
4
+ ActiveAdmin.register Effective::Order, namespace: EffectiveOrders.active_admin_namespace, as: 'Orders' do
5
+ menu label: 'Orders', if: proc { (authorized?(:manage, Effective::Order.new(user: current_user)) rescue false) }
6
+
7
+ actions :index
8
+
9
+ filter :id, label: 'Order Number'
10
+ filter :user
11
+ filter :created_at, label: 'Order Date'
12
+ filter :payment
13
+
14
+ scope :purchased, default: true do |objs| objs.purchased end
15
+ scope :all
16
+
17
+ controller do
18
+ include EffectiveOrdersHelper
19
+
20
+ def scoped_collection
21
+ end_of_association_chain.includes(:user).includes(:order_items => :purchasable)
22
+ end
23
+ end
24
+
25
+ sidebar :export, :only => :index do
26
+ export_csv_path = ['export_csv', EffectiveOrders.active_admin_namespace.presence, 'orders_path'].compact.join('_')
27
+ link_to "Export Orders to .csv", public_send(export_csv_path)
28
+ end
29
+
30
+ index :download_links => false do
31
+ column 'Order', :sortable => :id do |order|
32
+ link_to "##{order.to_param}", effective_orders.order_path(order)
33
+ end
34
+
35
+ column 'Buyer', :sortable => :user_id do |order|
36
+ link_to order.user, (admin_user_path(order.user) rescue '#')
37
+ end
38
+
39
+ column 'Summary' do |order|
40
+ order_summary(order)
41
+ end
42
+
43
+ column :purchased_at
44
+
45
+ column do |order|
46
+ links = link_to('View', effective_orders.order_path(order), class: 'member_link view_link')
47
+
48
+ if authorized?(:manage, Effective::Order) # This is the Admin level check
49
+ details_path = ['details', EffectiveOrders.active_admin_namespace.presence, 'order_path'].compact.join('_')
50
+ links += link_to('Details', public_send(details_path, order))
51
+ end
52
+
53
+ links
54
+ end
55
+ end
56
+
57
+ member_action :details do
58
+ @order = Effective::Order.find(params[:id])
59
+ @page_title = "Order ##{@order.to_param} Details"
60
+
61
+ render file: 'admin/orders/show'
62
+ end
63
+
64
+ collection_action :export_csv do
65
+ @orders = Effective::Order.purchased
66
+
67
+ col_headers = []
68
+ col_headers << "Order ID"
69
+ col_headers << "Full Name"
70
+ col_headers << "Purchased"
71
+ col_headers << "Subtotal"
72
+ col_headers << "Tax"
73
+ col_headers << "Total"
74
+
75
+ csv_string = CSV.generate do |csv|
76
+ csv << col_headers
77
+
78
+ @orders.each do |order|
79
+ row = []
80
+
81
+ row << order.to_param
82
+ row << (order.billing_address.try(:full_name) || order.user.to_s)
83
+ row << order.purchased_at.strftime("%Y-%m-%d %H:%M:%S %z")
84
+ row << "%.2f" % order.subtotal
85
+ row << "%.2f" % order.tax
86
+ row << "%.2f" % order.total
87
+
88
+ csv << row
89
+ end
90
+ end
91
+
92
+ send_data(csv_string, :type => 'text/csv; charset=utf-8; header=present', :filename => "orders-export.csv")
93
+ end
94
+ end
95
+ end
@@ -1,3 +1,3 @@
1
1
  module EffectiveOrders
2
- VERSION = '1.4.7'.freeze
2
+ VERSION = '1.4.8'.freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: effective_orders
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.7
4
+ version: 1.4.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Code and Effect
@@ -315,6 +315,8 @@ files:
315
315
  - MIT-LICENSE
316
316
  - README.md
317
317
  - Rakefile
318
+ - active_admin/effective_carts.rb
319
+ - active_admin/effective_orders.rb
318
320
  - app/assets/images/effective_orders/stripe_connect.png
319
321
  - app/assets/javascripts/effective_orders.js
320
322
  - app/assets/javascripts/effective_orders/shipping_address_toggle.js.coffee