invoicing_payments_processing 1.1.30 → 1.1.36
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/invoice.rb +36 -16
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 965a8f6366881eb0e4bc2bfc47bc1afe2ce09e11
|
4
|
+
data.tar.gz: a9b9c23cfed343171d9e815574cb56659e652bf4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 261a8ac7175609664b8580f69259a96e39cc8f495ed448ed6dcc4d8e1ad8e87e7f9f297e1b4ff461b21c0d95ea92a9f958b39199977ff9c73c11a0448a08ae9a
|
7
|
+
data.tar.gz: aee9ab4c785dcc5072b008ed1547debd27763a5283b6088dc7013f9f92649cc7856a79cd1be54446e92115dfc333e91e09bc0635e2634172c7143f180e879170
|
data/lib/invoice.rb
CHANGED
@@ -10,10 +10,16 @@ module BlackStack
|
|
10
10
|
|
11
11
|
many_to_one :buffer_paypal_notification, :class=>:'BlackStack::BufferPayPalNotification', :key=>:id_buffer_paypal_notification
|
12
12
|
many_to_one :client, :class=>:'BlackStack::Client', :key=>:id_client
|
13
|
-
many_to_one :paypal_subscription, :class=>:'BlackStack::PayPalSubscription', :key=>:id_paypal_subscription
|
13
|
+
#many_to_one :paypal_subscription, :class=>:'BlackStack::PayPalSubscription', :key=>:id_paypal_subscription
|
14
14
|
many_to_one :previous, :class=>:'BlackStack::Invoice', :key=>:id_previous_invoice
|
15
15
|
one_to_many :items, :class=>:'BlackStack::InvoiceItem', :key=>:id_invoice
|
16
16
|
|
17
|
+
def paypal_subscription
|
18
|
+
return nil if self.subscr_id.nil?
|
19
|
+
return nil if self.subscr_id.to_s.size == 0
|
20
|
+
return BlackStack::PayPalSubscription.where(:subscr_id=>self.subscr_id.to_s).first
|
21
|
+
end
|
22
|
+
|
17
23
|
# compara 2 planes, y retorna TRUE si ambos pueden coexistir en una misma facutra, con un mismo enlace de PayPal
|
18
24
|
def self.compatibility?(h, i)
|
19
25
|
return false if h[:type]!=i[:type]
|
@@ -60,6 +66,7 @@ module BlackStack
|
|
60
66
|
#
|
61
67
|
def set_subscription(s)
|
62
68
|
self.subscr_id = s.subscr_id
|
69
|
+
self.delete_time = nil
|
63
70
|
self.save
|
64
71
|
# aplico la mismam modificacion a todas las factuas que le siguieron a esta
|
65
72
|
BlackStack::Invoice.where(:id_previous_invoice=>self.id).all { |j|
|
@@ -204,8 +211,8 @@ module BlackStack
|
|
204
211
|
trial2 = allow_trials && plan_descriptor[:trial2_fee]!=nil && plan_descriptor[:trial2_period]!=nil && plan_descriptor[:trial2_units]!=nil
|
205
212
|
|
206
213
|
values[:a3] = 0
|
207
|
-
self.items.each { |i|
|
208
|
-
if trial1 && i.units!=i.plan_descriptor[:trial_credits]
|
214
|
+
self.items.each { |i|
|
215
|
+
if ( !trial2 && trial1 && i.units!=i.plan_descriptor[:trial_credits] ) || ( trial2 && trial1 && i.units!=i.plan_descriptor[:trial2_credits] )
|
209
216
|
raise 'Cannot order more than 1 package and trial in the same invoice'
|
210
217
|
elsif trial1
|
211
218
|
values[:a3] += i.plan_descriptor[:fee].to_f
|
@@ -249,7 +256,11 @@ module BlackStack
|
|
249
256
|
|
250
257
|
# retorna true si el estado de la factura sea NULL o UNPAID
|
251
258
|
def canBeDeleted?
|
252
|
-
self.
|
259
|
+
if self.paypal_subscription.nil?
|
260
|
+
return self.status == nil || self.status == BlackStack::Invoice::STATUS_UNPAID
|
261
|
+
else # !self.paypal_subscription.nil?
|
262
|
+
return (self.status == nil || self.status == BlackStack::Invoice::STATUS_UNPAID) && !self.paypal_subscription.active
|
263
|
+
end # if self.paypal_subscription.nil?
|
253
264
|
end
|
254
265
|
|
255
266
|
# actualiza el registro en la tabla invoice segun los parametros.
|
@@ -409,25 +420,34 @@ module BlackStack
|
|
409
420
|
# le seteo la fecha de hoy
|
410
421
|
self.billing_period_from = now()
|
411
422
|
#puts
|
412
|
-
#puts
|
423
|
+
#puts
|
424
|
+
# si el plan tiene un segundo trial, y
|
425
|
+
# es la primer factura, entonces:
|
426
|
+
# => se trata del segundo pago por segundo trial
|
427
|
+
if h[:trial2_fee] != nil && prev1.nil?
|
428
|
+
#puts 'b'
|
429
|
+
units = h[:trial2_credits].to_i
|
430
|
+
unit_price = h[:trial2_fee].to_f / h[:trial2_credits].to_f
|
431
|
+
billing_period_to = DB["SELECT DATEADD(#{h[:trial2_period].to_s}, +#{h[:trial2_units].to_s}, '#{self.billing_period_from.to_s}') AS [now]"].map(:now)[0].to_s
|
432
|
+
|
433
|
+
# si el plan tiene un segundo trial, y
|
434
|
+
# es la segunda factura, entonces:
|
435
|
+
# => se trata del segundo pago por segundo trial
|
436
|
+
elsif h[:trial2_fee] != nil && !prev1.nil? && prev2.nil?
|
437
|
+
#puts 'b'
|
438
|
+
units = h[:trial_credits].to_i
|
439
|
+
unit_price = h[:trial_fee].to_f / h[:trial_credits].to_f
|
440
|
+
billing_period_to = DB["SELECT DATEADD(#{h[:trial_period].to_s}, +#{h[:trial_units].to_s}, '#{self.billing_period_from.to_s}') AS [now]"].map(:now)[0].to_s
|
441
|
+
|
413
442
|
# si el plan tiene un primer trial, y
|
414
443
|
# es la primer factura, entonces:
|
415
444
|
# => se trata del primer pago por trial
|
416
|
-
|
445
|
+
elsif h[:trial_fee] != nil && prev1.nil? && !self.disabled_for_trial_ssm
|
417
446
|
#puts 'a'
|
418
447
|
units = h[:trial_credits].to_i
|
419
448
|
unit_price = h[:trial_fee].to_f / h[:trial_credits].to_f
|
420
449
|
billing_period_to = DB["SELECT DATEADD(#{h[:trial_period].to_s}, +#{h[:trial_units].to_s}, '#{self.billing_period_from.to_s}') AS [now]"].map(:now)[0].to_s
|
421
|
-
|
422
|
-
# si el plan tiene un segundo trial, y
|
423
|
-
# es la segunda factura, entonces:
|
424
|
-
# => se trata del segundo pago por segundo trial
|
425
|
-
elsif h[:trial2_fee] != nil && !prev1.nil? && prev2.nil?
|
426
|
-
#puts 'b'
|
427
|
-
units = h[:trial2_credits].to_i
|
428
|
-
unit_price = h[:trial2_fee].to_f / h[:trial2_credits].to_f
|
429
|
-
billing_period_to = DB["SELECT DATEADD(#{h[:trial2_period].to_s}, +#{h[:trial2_units].to_s}, '#{self.billing_period_from.to_s}') AS [now]"].map(:now)[0].to_s
|
430
|
-
|
450
|
+
|
431
451
|
# si el plan tiene un fee, y
|
432
452
|
elsif h[:fee].to_f != nil && h[:type] == BlackStack::InvoicingPaymentsProcessing::BasePlan::PAYMENT_SUBSCRIPTION
|
433
453
|
#puts 'c'
|