Add quantities to subscriptions

This commit is contained in:
David Bomba 2022-07-06 17:12:29 +10:00
parent 9359c84013
commit ffcd3b05d4
3 changed files with 6 additions and 3 deletions

View File

@ -360,7 +360,7 @@ class BillingPortalPurchase extends Component
$this->invoice = $this->subscription
->service()
->createInvoice($data)
->createInvoice($data, $this->quantity)
->service()
->markSent()
->fillDefaults()

View File

@ -28,6 +28,8 @@ class SubscriptionRepository extends BaseRepository
{
use CleanLineItems;
public int $quantity = 1;
public function save($data, Subscription $subscription): ?Subscription
{
$subscription->fill($data);
@ -124,7 +126,7 @@ class SubscriptionRepository extends BaseRepository
private function makeLineItem($product, $multiplier)
{
$item = new InvoiceItem;
$item->quantity = $product->quantity;
$item->quantity = $this->quantity;
$item->product_key = $product->product_key;
$item->notes = $product->notes;
$item->cost = $product->price*$multiplier;

View File

@ -706,11 +706,12 @@ class SubscriptionService
* @param array $data
* @return Invoice
*/
public function createInvoice($data): ?\App\Models\Invoice
public function createInvoice($data, $quantity = 1): ?\App\Models\Invoice
{
$invoice_repo = new InvoiceRepository();
$subscription_repo = new SubscriptionRepository();
$subscription_repo->quantity = $quantity;
$invoice = InvoiceFactory::create($this->subscription->company_id, $this->subscription->user_id);
$invoice->line_items = $subscription_repo->generateLineItems($this->subscription);