mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-06-04 17:04:37 -04:00
Fix for recurring number collisions - use dispatchNow()
This commit is contained in:
parent
686f12261d
commit
bc2b0f4aae
@ -62,40 +62,40 @@ class BaseController extends Controller
|
|||||||
'account',
|
'account',
|
||||||
'token.company_user',
|
'token.company_user',
|
||||||
'company.activities',
|
'company.activities',
|
||||||
|
'company.designs.company',
|
||||||
|
'company.documents',
|
||||||
'company.users.company_users',
|
'company.users.company_users',
|
||||||
'company.tax_rates',
|
|
||||||
'company.groups',
|
|
||||||
'company.company_gateways.gateway',
|
|
||||||
'company.clients.contacts',
|
'company.clients.contacts',
|
||||||
'company.clients.gateway_tokens',
|
'company.clients.gateway_tokens',
|
||||||
'company.clients.documents',
|
'company.clients.documents',
|
||||||
'company.products',
|
'company.company_gateways.gateway',
|
||||||
'company.products.documents',
|
'company.credits.invitations.contact',
|
||||||
'company.recurring_invoices',
|
'company.credits.invitations.company',
|
||||||
|
'company.credits.documents',
|
||||||
|
'company.expenses.documents',
|
||||||
|
'company.groups',
|
||||||
'company.invoices.invitations.contact',
|
'company.invoices.invitations.contact',
|
||||||
'company.invoices.invitations.company',
|
'company.invoices.invitations.company',
|
||||||
'company.invoices.documents',
|
'company.invoices.documents',
|
||||||
|
'company.products',
|
||||||
|
'company.products.documents',
|
||||||
|
'company.payments.paymentables',
|
||||||
|
'company.payments.documents',
|
||||||
|
'company.payment_terms.company',
|
||||||
|
'company.projects.documents',
|
||||||
'company.recurring_invoices',
|
'company.recurring_invoices',
|
||||||
'company.recurring_invoices.invitations.contact',
|
'company.recurring_invoices.invitations.contact',
|
||||||
'company.recurring_invoices.invitations.company',
|
'company.recurring_invoices.invitations.company',
|
||||||
'company.recurring_invoices.documents',
|
'company.recurring_invoices.documents',
|
||||||
'company.payments.paymentables',
|
|
||||||
'company.payments.documents',
|
|
||||||
'company.quotes.invitations.contact',
|
'company.quotes.invitations.contact',
|
||||||
'company.quotes.invitations.company',
|
'company.quotes.invitations.company',
|
||||||
'company.quotes.documents',
|
'company.quotes.documents',
|
||||||
'company.credits.invitations.contact',
|
'company.tasks',
|
||||||
'company.credits.invitations.company',
|
|
||||||
'company.credits.documents',
|
|
||||||
'company.payment_terms.company',
|
|
||||||
'company.vendors.contacts',
|
|
||||||
'company.expenses.documents',
|
|
||||||
'company.tasks.documents',
|
'company.tasks.documents',
|
||||||
'company.projects.documents',
|
'company.tax_rates',
|
||||||
'company.designs.company',
|
|
||||||
'company.documents',
|
|
||||||
'company.webhooks',
|
|
||||||
'company.tokens_hashed',
|
'company.tokens_hashed',
|
||||||
|
'company.vendors.contacts',
|
||||||
|
'company.webhooks',
|
||||||
];
|
];
|
||||||
|
|
||||||
private $mini_load = [
|
private $mini_load = [
|
||||||
|
@ -122,6 +122,9 @@ class EmailController extends BaseController
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$entity_obj->last_sent_date = now();
|
||||||
|
$entity_obj->save();
|
||||||
|
|
||||||
/*Only notify the admin ONCE, not once per contact/invite*/
|
/*Only notify the admin ONCE, not once per contact/invite*/
|
||||||
$invitation = $entity_obj->invitations->first();
|
$invitation = $entity_obj->invitations->first();
|
||||||
|
|
||||||
|
@ -36,6 +36,7 @@ class UpdateRecurringInvoiceRequest extends Request
|
|||||||
|
|
||||||
public function rules()
|
public function rules()
|
||||||
{
|
{
|
||||||
|
|
||||||
$rules = [];
|
$rules = [];
|
||||||
|
|
||||||
if ($this->input('documents') && is_array($this->input('documents'))) {
|
if ($this->input('documents') && is_array($this->input('documents'))) {
|
||||||
@ -49,7 +50,7 @@ class UpdateRecurringInvoiceRequest extends Request
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ($this->input('number')) {
|
if ($this->input('number')) {
|
||||||
$rules['number'] = 'unique:recurring_invoices,number,'.$this->id.',id,company_id,'.$this->recurring_invoice->company_id;
|
$rules['number'] = 'unique:recurring_invoices,number,'.$this->recurring_invoice->id.',id,company_id,'.$this->recurring_invoice->company_id;
|
||||||
}
|
}
|
||||||
|
|
||||||
return $rules;
|
return $rules;
|
||||||
|
@ -54,7 +54,7 @@ class RecurringInvoicesCron
|
|||||||
|
|
||||||
info("Current date = " . now()->format("Y-m-d") . " Recurring date = " .$recurring_invoice->next_send_date);
|
info("Current date = " . now()->format("Y-m-d") . " Recurring date = " .$recurring_invoice->next_send_date);
|
||||||
|
|
||||||
SendRecurring::dispatch($recurring_invoice, $recurring_invoice->company->db);
|
SendRecurring::dispatchNow($recurring_invoice, $recurring_invoice->company->db);
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -74,7 +74,7 @@ class RecurringInvoicesCron
|
|||||||
|
|
||||||
info("Current date = " . now()->format("Y-m-d") . " Recurring date = " .$recurring_invoice->next_send_date);
|
info("Current date = " . now()->format("Y-m-d") . " Recurring date = " .$recurring_invoice->next_send_date);
|
||||||
|
|
||||||
SendRecurring::dispatch($recurring_invoice, $recurring_invoice->company->db);
|
SendRecurring::dispatchNow($recurring_invoice, $recurring_invoice->company->db);
|
||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -46,9 +46,9 @@ class InvoiceEmailedNotification implements ShouldQueue
|
|||||||
|
|
||||||
$first_notification_sent = true;
|
$first_notification_sent = true;
|
||||||
|
|
||||||
// $invoice = $event->invitation->invoice;
|
$invoice = $event->invitation->invoice;
|
||||||
// $invoice->last_sent_date = now();
|
$invoice->last_sent_date = now();
|
||||||
// $invoice->save();
|
$invoice->save();
|
||||||
|
|
||||||
foreach ($event->invitation->company->company_users as $company_user) {
|
foreach ($event->invitation->company->company_users as $company_user) {
|
||||||
$user = $company_user->user;
|
$user = $company_user->user;
|
||||||
|
@ -27,6 +27,11 @@ class RecurringInvoiceInvitation extends BaseModel
|
|||||||
|
|
||||||
protected $touches = ['recurring_invoice'];
|
protected $touches = ['recurring_invoice'];
|
||||||
|
|
||||||
|
protected $with = [
|
||||||
|
'company',
|
||||||
|
'contact',
|
||||||
|
];
|
||||||
|
|
||||||
public function getEntityType()
|
public function getEntityType()
|
||||||
{
|
{
|
||||||
return self::class;
|
return self::class;
|
||||||
|
@ -518,6 +518,7 @@ trait GeneratesCounter
|
|||||||
$settings->vendor_number_counter = 1;
|
$settings->vendor_number_counter = 1;
|
||||||
$settings->ticket_number_counter = 1;
|
$settings->ticket_number_counter = 1;
|
||||||
$settings->payment_number_counter = 1;
|
$settings->payment_number_counter = 1;
|
||||||
|
$settings->project_number_counter = 1;
|
||||||
$settings->task_number_counter = 1;
|
$settings->task_number_counter = 1;
|
||||||
$settings->expense_number_counter = 1;
|
$settings->expense_number_counter = 1;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user