mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-07-09 03:14:30 -04:00
Clean up subscription service
This commit is contained in:
parent
84ea66493c
commit
a994e6f916
@ -345,7 +345,7 @@ class SubscriptionService
|
|||||||
|
|
||||||
nlog("total payable = {$total_payable}");
|
nlog("total payable = {$total_payable}");
|
||||||
|
|
||||||
$credit = $this->createCredit($pro_rata_refund_amount, $last_invoice, $target_subscription, $old_subscription);
|
$credit = $this->createCredit($last_invoice, $target_subscription);
|
||||||
|
|
||||||
$new_recurring_invoice = $this->createNewRecurringInvoice($recurring_invoice);
|
$new_recurring_invoice = $this->createNewRecurringInvoice($recurring_invoice);
|
||||||
|
|
||||||
@ -479,7 +479,7 @@ class SubscriptionService
|
|||||||
return $this->handleRedirect('/client/recurring_invoices/'.$recurring_invoice->hashed_id);
|
return $this->handleRedirect('/client/recurring_invoices/'.$recurring_invoice->hashed_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
private function createCredit($refund_amount, $last_invoice, $target, $old_subscription)
|
private function createCredit($last_invoice, $target)
|
||||||
{
|
{
|
||||||
|
|
||||||
$subscription_repo = new SubscriptionRepository();
|
$subscription_repo = new SubscriptionRepository();
|
||||||
@ -502,13 +502,14 @@ class SubscriptionService
|
|||||||
return $credit_repo->save($data, $credit)->service()->markSent()->fillDefaults()->save();
|
return $credit_repo->save($data, $credit)->service()->markSent()->fillDefaults()->save();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 'client_id' => 2,
|
* When changing plans we need to generate a pro rata
|
||||||
'date' => '2021-04-13',
|
* invoice which takes into account any credits.
|
||||||
'invitations' =>
|
*
|
||||||
'user_input_promo_code' => NULL,
|
* @param Invoice $last_invoice
|
||||||
'coupon' => '',
|
* @param Subscription $target
|
||||||
'quantity' => 1,
|
* @return Invoice
|
||||||
*/
|
*/
|
||||||
private function proRataInvoice($last_invoice, $target)
|
private function proRataInvoice($last_invoice, $target)
|
||||||
{
|
{
|
||||||
@ -519,9 +520,7 @@ class SubscriptionService
|
|||||||
$invoice->date = now()->format('Y-m-d');
|
$invoice->date = now()->format('Y-m-d');
|
||||||
$invoice->subscription_id = $this->subscription->id;
|
$invoice->subscription_id = $this->subscription->id;
|
||||||
|
|
||||||
$line_items = $subscription_repo->generateLineItems($target);
|
$invoice->line_items = array_merge($subscription_repo->generateLineItems($target), $this->calculateProRataRefundItems($last_invoice));
|
||||||
|
|
||||||
$invoice->line_items = array_merge($line_items, $this->calculateProRataRefundItems($last_invoice));
|
|
||||||
|
|
||||||
$data = [
|
$data = [
|
||||||
'client_id' => $last_invoice->client_id,
|
'client_id' => $last_invoice->client_id,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user