mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-05-24 02:14:21 -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',
|
||||
'token.company_user',
|
||||
'company.activities',
|
||||
'company.designs.company',
|
||||
'company.documents',
|
||||
'company.users.company_users',
|
||||
'company.tax_rates',
|
||||
'company.groups',
|
||||
'company.company_gateways.gateway',
|
||||
'company.clients.contacts',
|
||||
'company.clients.gateway_tokens',
|
||||
'company.clients.documents',
|
||||
'company.products',
|
||||
'company.products.documents',
|
||||
'company.recurring_invoices',
|
||||
'company.company_gateways.gateway',
|
||||
'company.credits.invitations.contact',
|
||||
'company.credits.invitations.company',
|
||||
'company.credits.documents',
|
||||
'company.expenses.documents',
|
||||
'company.groups',
|
||||
'company.invoices.invitations.contact',
|
||||
'company.invoices.invitations.company',
|
||||
'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.invitations.contact',
|
||||
'company.recurring_invoices.invitations.company',
|
||||
'company.recurring_invoices.documents',
|
||||
'company.payments.paymentables',
|
||||
'company.payments.documents',
|
||||
'company.quotes.invitations.contact',
|
||||
'company.quotes.invitations.company',
|
||||
'company.quotes.documents',
|
||||
'company.credits.invitations.contact',
|
||||
'company.credits.invitations.company',
|
||||
'company.credits.documents',
|
||||
'company.payment_terms.company',
|
||||
'company.vendors.contacts',
|
||||
'company.expenses.documents',
|
||||
'company.tasks',
|
||||
'company.tasks.documents',
|
||||
'company.projects.documents',
|
||||
'company.designs.company',
|
||||
'company.documents',
|
||||
'company.webhooks',
|
||||
'company.tax_rates',
|
||||
'company.tokens_hashed',
|
||||
'company.vendors.contacts',
|
||||
'company.webhooks',
|
||||
];
|
||||
|
||||
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*/
|
||||
$invitation = $entity_obj->invitations->first();
|
||||
|
||||
|
@ -36,6 +36,7 @@ class UpdateRecurringInvoiceRequest extends Request
|
||||
|
||||
public function rules()
|
||||
{
|
||||
|
||||
$rules = [];
|
||||
|
||||
if ($this->input('documents') && is_array($this->input('documents'))) {
|
||||
@ -49,7 +50,7 @@ class UpdateRecurringInvoiceRequest extends Request
|
||||
}
|
||||
|
||||
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;
|
||||
|
@ -54,7 +54,7 @@ class RecurringInvoicesCron
|
||||
|
||||
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);
|
||||
|
||||
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;
|
||||
|
||||
// $invoice = $event->invitation->invoice;
|
||||
// $invoice->last_sent_date = now();
|
||||
// $invoice->save();
|
||||
$invoice = $event->invitation->invoice;
|
||||
$invoice->last_sent_date = now();
|
||||
$invoice->save();
|
||||
|
||||
foreach ($event->invitation->company->company_users as $company_user) {
|
||||
$user = $company_user->user;
|
||||
|
@ -27,6 +27,11 @@ class RecurringInvoiceInvitation extends BaseModel
|
||||
|
||||
protected $touches = ['recurring_invoice'];
|
||||
|
||||
protected $with = [
|
||||
'company',
|
||||
'contact',
|
||||
];
|
||||
|
||||
public function getEntityType()
|
||||
{
|
||||
return self::class;
|
||||
|
@ -518,6 +518,7 @@ trait GeneratesCounter
|
||||
$settings->vendor_number_counter = 1;
|
||||
$settings->ticket_number_counter = 1;
|
||||
$settings->payment_number_counter = 1;
|
||||
$settings->project_number_counter = 1;
|
||||
$settings->task_number_counter = 1;
|
||||
$settings->expense_number_counter = 1;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user