effective_resources 2.31.1 → 2.31.3

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: e13f7d663e4e7ecea71fb9dff40eb2c457069e21502e2bc4be37352360b16f08
4
- data.tar.gz: aae7ccc99c13b758bc192f7341d134e4c08c7f63a2dd01145e996b0da1359ee7
3
+ metadata.gz: 0326cc2102e52c8a54636d34e53b438178969ccf9d083026b5c1ac85321ce672
4
+ data.tar.gz: e94e1ef085bf0cb13f114118fa0c8682f9e9f4c322953c6bcfc7b5e746ce1df6
5
5
  SHA512:
6
- metadata.gz: 18c65ab7ca682bdc7b76de396eacb3708230ac1df9493c3d6b28a7b7583327c61af7814d1ed68a5f1c486956cc3e5f078e9a5b71e57d09b0f131bd0fef598e3d
7
- data.tar.gz: 80c878baeb74ebb3235feda883015fa383e59d9dd1617392974a9aa053b4637582a73297b507e678d122bf60f42ff33ec54faa5ebc17d6dd55b52a4b34cf167c
6
+ metadata.gz: 063ef88d8eaf80d58a3552ac7e8fdbb14f0b553e2962d75f3f5b7c33d533fafb6b2a3ad92e5d0ce7ca0b5409b7310f831062f3ae47e7cfe7c54530bd3d28e0eb
7
+ data.tar.gz: 792f1427ce311dd266ecdfbfd72a43a7298431c4d4c88281f04f69d66ff5b6becacc4825ac15176ea602efea5cc0e531e486f3f9bfd5a980c073ce49c6497ebf
@@ -298,4 +298,15 @@ module EffectiveDeviseUser
298
298
  def to_select2
299
299
  "<span>#{email_to_s}</span> <small>&lt;#{try(:public_email) || email}&gt;</small>"
300
300
  end
301
+
302
+ # You cannot delete a user if they have any memberships, applicants, orders, or event registrations
303
+ def destroyable?
304
+ return false if respond_to?(:archived?) && !archived?
305
+ return false if self.class.respond_to?(:effective_memberships_owner?) && (membership.present? || membership_histories.present?)
306
+ return false if self.class.respond_to?(:effective_memberships_user?) && (applicants.present? || fee_payments.present?)
307
+ return false if Effective::Order.where(user: self).present?
308
+ return false if Effective::EventRegistrant.where(owner: self).or(Effective::EventRegistrant.where(user: self)).present?
309
+ true
310
+ end
311
+
301
312
  end
@@ -102,7 +102,11 @@ module Effective
102
102
  elsif part == :format
103
103
  # Nothing
104
104
  elsif target.respond_to?(part)
105
- h[part] = target.public_send(part)
105
+ obj = if part.to_s.ends_with?('_id') && target.respond_to?(part.to_s.chomp('_id'))
106
+ target.try("#{part.to_s.chomp('_id')}")
107
+ end
108
+
109
+ h[part] = obj.try(:to_param) || target.public_send(part)
106
110
  end
107
111
  end
108
112
  elsif target.respond_to?(:to_param) || target.respond_to?(:id)
@@ -1,3 +1,3 @@
1
1
  module EffectiveResources
2
- VERSION = '2.31.1'.freeze
2
+ VERSION = '2.31.3'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: effective_resources
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.31.1
4
+ version: 2.31.3
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: 2025-06-27 00:00:00.000000000 Z
11
+ date: 2025-09-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails