mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-08-11 15:34:21 -04:00
Prevent converting a qoute from incrementing the counter
This commit is contained in:
parent
2c56c4e7bf
commit
1760d0e0e4
@ -633,12 +633,11 @@ class Account extends Eloquent
|
||||
|
||||
public function getNextInvoiceNumber($invoice)
|
||||
{
|
||||
if ($this->hasNumberPattern($invoice->is_quote)) {
|
||||
return $this->getNumberPattern($invoice);
|
||||
}
|
||||
|
||||
$counter = $this->getCounter($invoice->is_quote);
|
||||
$prefix = $this->getNumberPrefix($invoice->is_quote);
|
||||
if ($this->hasNumberPattern($invoice->invoice_type_id)) {
|
||||
$number = $this->getNumberPattern($invoice);
|
||||
} else {
|
||||
$counter = $this->getCounter($invoice->invoice_type_id);
|
||||
$prefix = $this->getNumberPrefix($invoice->invoice_type_id);
|
||||
$counterOffset = 0;
|
||||
|
||||
// confirm the invoice number isn't already taken
|
||||
@ -651,7 +650,7 @@ class Account extends Eloquent
|
||||
|
||||
// update the invoice counter to be caught up
|
||||
if ($counterOffset > 1) {
|
||||
if ($invoice->is_quote && !$this->share_counter) {
|
||||
if ($invoice->isType(INVOICE_TYPE_QUOTE) && !$this->share_counter) {
|
||||
$this->quote_number_counter += $counterOffset - 1;
|
||||
} else {
|
||||
$this->invoice_number_counter += $counterOffset - 1;
|
||||
@ -659,24 +658,27 @@ class Account extends Eloquent
|
||||
|
||||
$this->save();
|
||||
}
|
||||
}
|
||||
|
||||
if ($invoice->recurring_invoice_id) {
|
||||
$number = $this->recurring_invoice_number_prefix . $number;
|
||||
}
|
||||
|
||||
return $number;
|
||||
}
|
||||
|
||||
public function incrementCounter($invoice)
|
||||
{
|
||||
if ($invoice->is_quote && !$this->share_counter) {
|
||||
// if they didn't use the counter don't increment it
|
||||
if ($invoice->invoice_number != $this->getNextInvoiceNumber($invoice)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if ($invoice->isType(INVOICE_TYPE_QUOTE) && !$this->share_counter) {
|
||||
$this->quote_number_counter += 1;
|
||||
} else {
|
||||
$default = $this->invoice_number_counter;
|
||||
$actual = Utils::parseInt($invoice->invoice_number);
|
||||
|
||||
if ( ! $this->hasFeature(FEATURE_INVOICE_SETTINGS) && $default != $actual) {
|
||||
$this->invoice_number_counter = $actual + 1;
|
||||
} else {
|
||||
$this->invoice_number_counter += 1;
|
||||
}
|
||||
}
|
||||
|
||||
$this->save();
|
||||
}
|
||||
|
@ -708,7 +708,7 @@ class InvoiceRepository extends BaseRepository
|
||||
$invoice = Invoice::createNew($recurInvoice);
|
||||
$invoice->client_id = $recurInvoice->client_id;
|
||||
$invoice->recurring_invoice_id = $recurInvoice->id;
|
||||
$invoice->invoice_number = $recurInvoice->account->recurring_invoice_number_prefix . $recurInvoice->account->getNextInvoiceNumber($recurInvoice);
|
||||
$invoice->invoice_number = $recurInvoice->account->getNextInvoiceNumber($invoice);
|
||||
$invoice->amount = $recurInvoice->amount;
|
||||
$invoice->balance = $recurInvoice->amount;
|
||||
$invoice->invoice_date = date_create()->format('Y-m-d');
|
||||
|
Loading…
x
Reference in New Issue
Block a user