effective_memberships 0.4.0 → 0.4.1

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: 223d0bdf9ce08beacd79d4fdeb3e184878bb9e9cdb8b5964aa1c4ace9f1d2735
4
- data.tar.gz: 158b570a8dc933b247245e450c74a78c63877ece8f35a59b1e400b0fdb017b43
3
+ metadata.gz: 2648e82170c5076854831eebdbaf7f972cbfeaf69076280253ad345ca1ac53db
4
+ data.tar.gz: 385ddec71ae2103c4f33c08dd732b52b13f87535b0a44c11131389c47b854703
5
5
  SHA512:
6
- metadata.gz: b8e3fe9641f2826a4df557f1817163d719bb53112a835b3a5456ea7020283f360e4bcdc99d75c1a79256f6515b2fa05f5a2c0001b6eb1ecfa988dd09eba8eb5d
7
- data.tar.gz: 013d39152828dce9d873e1eb1f1bb9f3a42aa83fc31105e020adbd47734f42902eec0659ff661b1fd4e8bd1983a389374848847221b6aec35dcbb8bfb5552661
6
+ metadata.gz: a581b0e79010b252b6e12cf3763d67eee879da8e4661f06c456b037dbcb220c1640d424f246c9d8a210e5d89acfe098fd61cc8a39d947aed46b30ca270ce934c
7
+ data.tar.gz: e45c087b0f7f9ea6fa7c2f03593b43da7a6d4451e39447d29ebdc7053422856b97dae45a28977cfb759170d5f278fb3046821070072176050fb551e07a1c4ccb
@@ -207,9 +207,10 @@ module EffectiveMembershipsRegistrar
207
207
  save!(owner, date: date)
208
208
  end
209
209
 
210
- def fees_paid!(owner, date: nil)
210
+ def fees_paid!(owner, date: nil, order_attributes: nil)
211
211
  raise('expecting a memberships owner') unless owner.class.respond_to?(:effective_memberships_owner?)
212
212
  raise('expected a member') unless owner.membership.present?
213
+ raise('expected a Hash of attributes') if order_attributes.present? && !order_attributes.kind_of?(Hash)
213
214
 
214
215
  # Date
215
216
  date ||= Time.zone.now
@@ -219,6 +220,7 @@ module EffectiveMembershipsRegistrar
219
220
 
220
221
  if owner.outstanding_fee_payment_fees.present?
221
222
  order = Effective::Order.new(items: owner.outstanding_fee_payment_fees, user: owner)
223
+ order.assign_attributes(order_attributes) if order_attributes.present?
222
224
  order.mark_as_purchased!
223
225
  end
224
226
 
@@ -20,6 +20,12 @@ module Effective
20
20
  # Assign
21
21
  attr_accessor :category_ids
22
22
 
23
+ # Mark Fees Paid - Order Attributes
24
+ attr_accessor :payment_provider
25
+ attr_accessor :payment_card
26
+ attr_accessor :note_to_buyer
27
+ attr_accessor :note_internal
28
+
23
29
  # All Action Validations
24
30
  validates :current_action, presence: true
25
31
  validates :current_user, presence: true
@@ -65,7 +71,7 @@ module Effective
65
71
 
66
72
  def fees_paid!
67
73
  update!(current_action: :fees_paid)
68
- EffectiveMemberships.Registrar.fees_paid!(owner)
74
+ EffectiveMemberships.Registrar.fees_paid!(owner, order_attributes: order_attributes)
69
75
  end
70
76
 
71
77
  def remove!
@@ -103,6 +109,15 @@ module Effective
103
109
  EffectiveMemberships.Category.where(id: @category_ids) if @category_ids
104
110
  end
105
111
 
112
+ def order_attributes
113
+ {
114
+ payment_provider: @payment_provider.presence,
115
+ payment_card: @payment_card.presence,
116
+ note_to_buyer: @note_to_buyer.presence,
117
+ note_internal: @note_internal.presence
118
+ }.compact
119
+ end
120
+
106
121
  def skip_fees?
107
122
  EffectiveResources.truthy?(@skip_fees)
108
123
  end
@@ -25,6 +25,22 @@
25
25
  = f.check_box :current_action, label: 'Yes, mark this members fees paid in full'
26
26
 
27
27
  = f.show_if :current_action, true do
28
+ - if fees.blank?
29
+ %p There are no outstanding fee payment fees, so no order will be created.
30
+ - else
31
+ %p An order will be created and marked as paid with the following information:
32
+
33
+ = f.select :payment_provider, EffectiveOrders.admin_payment_providers, required: true
34
+
35
+ = f.text_field :payment_card,
36
+ label: 'Payment card type, cheque or transaction number',
37
+ hint: 'Do not enter credit card numbers here, or anywhere.'
38
+
39
+ .row
40
+ .col
41
+ = f.text_area :note_to_buyer, hint: 'This message will be displayed to the buyer on the receipt.'
42
+ .col
43
+ = f.text_area :note_internal, hint: 'For or internal admin use only. This note will never be displayed to the buyer.'
28
44
 
29
45
  = f.submit 'Mark Fees Paid', border: false, center: true,
30
46
  'data-confirm': "Really mark #{f.object.owner} fees paid?"
@@ -1,3 +1,3 @@
1
1
  module EffectiveMemberships
2
- VERSION = '0.4.0'
2
+ VERSION = '0.4.1'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: effective_memberships
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.4.1
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: 2022-03-17 00:00:00.000000000 Z
11
+ date: 2022-03-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails