effective_memberships 0.4.0 → 0.4.1

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