effective_orders 6.9.9 → 6.9.10

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
  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