effective_orders 6.9.9 → 6.9.10

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
  SHA256:
3
- metadata.gz: 0b9ab6059f70c4d3a00f14475e7729a4f1a444fdbfda1e979b931b8b70dda1b1
4
- data.tar.gz: 9784af2c4f2134dd5a3cf51278d0ca4c3cca2c938297aeb47f3c2ccb863e7e21
3
+ metadata.gz: ac026da4d01fe889cb9e9afd765b25bce3e95c8fda855888a5f76a29626fefdc
4
+ data.tar.gz: 15eee62b2710cff5f788f3f21a1a12e4f0391edae37c9f6d5cc452af5dd9ac8d
5
5
  SHA512:
6
- metadata.gz: 8d9f5572457678473ffc196391ccc27d6742f7940449d62fa6f190d79a28d63282f748775b14a722bd87eaf86757756b64c3ccb15762b30b22cf3b5146b5b9a2
7
- data.tar.gz: a9ca5ce96d0669a425a887979c6bbe0fca9ea56dbeee90bb38361e494a97ff3e05d5774ff309ff5d7dd5bf2ba3fd56dfb83bd3b797822d44685d842e891d7afd
6
+ metadata.gz: 8ba372d127fa4fa088f2a3c0e241dc97c37c0e41c09d4268ca991e660ac6e28fc3cc067c054df082476596c3f6d1f6724525cbeb174dbf7cf42b6b8a3f2101bd
7
+ data.tar.gz: 107208024d4318fb320ace396c092781f69bc0da508b15a17506666a6b720c5a948e93046e75bdce4da3215e161f80c719ef1b3448dd3ea43f84498d55e3db4c
@@ -50,25 +50,26 @@ module Admin
50
50
  col :purchased_by, search: :string, visible: EffectiveOrders.organization_enabled?
51
51
 
52
52
  if attributes[:user_id].blank?
53
- col :user, search: :string
54
-
55
- if defined?(EffectiveMemberships)
56
- col(:member_number, label: 'Member #', sort: false) do |order|
57
- order.user.try(:membership).try(:number)
58
- end.search do |collection, term|
59
- memberships = Effective::Membership.where(owner_type: current_user.class.name).where('number ILIKE ?', "%#{term}%")
60
- collection.where(user_id: memberships.select('owner_id'))
61
- end
62
- end
63
-
64
- col :billing_name, visible: false
65
- col :email, visible: false
53
+ col :user, search: :string, visible: !EffectiveOrders.organization_enabled?
66
54
  end
67
55
 
68
56
  if attributes[:organization_id].blank?
69
- col :organization, visible: EffectiveOrders.organization_enabled?
57
+ col :organization, search: :string, visible: EffectiveOrders.organization_enabled?
58
+ end
59
+
60
+ if defined?(EffectiveMemberships)
61
+ col(:member_number, label: 'Member #', sort: false, visible: false) do |order|
62
+ order.organization.try(:membership).try(:number) || order.user.try(:membership).try(:number)
63
+ end.search do |collection, term|
64
+ # TODO add organizations too
65
+ user_memberships = Effective::Membership.where(owner_type: current_user.class.name).where('number ILIKE ?', "%#{term}%")
66
+ collection.where(user_id: user_memberships.select('owner_id'))
67
+ end
70
68
  end
71
69
 
70
+ col :billing_name, visible: false
71
+ col :email, visible: false
72
+
72
73
  col :parent, visible: false, search: :string
73
74
 
74
75
  col :cc, visible: false
@@ -23,6 +23,8 @@ class EffectiveOrdersDatatable < Effective::Datatable
23
23
  end
24
24
 
25
25
  col :parent, visible: false, search: :string
26
+ col :user, visible: false, search: :string
27
+ col :organization, search: :string, visible: false
26
28
 
27
29
  col :status
28
30
 
@@ -70,7 +72,11 @@ class EffectiveOrdersDatatable < Effective::Datatable
70
72
  end
71
73
 
72
74
  collection do
73
- scope = Effective::Order.all.deep.where(user: current_user)
75
+ scope = Effective::Order.all.deep
76
+
77
+ if attributes[:user_id].blank? && attributes[:organization_id].blank?
78
+ scope = scope.for(current_user)
79
+ end
74
80
 
75
81
  if EffectiveOrders.orders_collection_scope.respond_to?(:call)
76
82
  scope = EffectiveOrders.orders_collection_scope.call(scope)
@@ -107,6 +107,14 @@ module Effective
107
107
  includes(:addresses, :user, :parent, :purchased_by, :organization, order_items: :purchasable)
108
108
  }
109
109
 
110
+ scope :for, -> (user) {
111
+ if user.respond_to?(:organizations)
112
+ where(user: user).or(where(organization: user.organizations))
113
+ else
114
+ where(user: user)
115
+ end
116
+ }
117
+
110
118
  scope :sorted, -> { order(:id) }
111
119
 
112
120
  scope :purchased, -> { where(status: :purchased) }
@@ -1,3 +1,3 @@
1
1
  module EffectiveOrders
2
- VERSION = '6.9.9'.freeze
2
+ VERSION = '6.9.10'.freeze
3
3
  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.9.9
4
+ version: 6.9.10
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: 2024-04-16 00:00:00.000000000 Z
11
+ date: 2024-04-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails