Allow forced sending of first recurring invoice

This commit is contained in:
David Bomba 2022-07-11 10:33:41 +10:00
parent c072841e71
commit 47768a70a4
2 changed files with 24 additions and 0 deletions

View File

@ -698,6 +698,15 @@ class RecurringInvoiceController extends BaseController
$this->itemResponse($recurring_invoice);
}
break;
case 'send_now':
$recurring_invoice = $recurring_invoice->service()->sendNow();
if (! $bulk) {
$this->itemResponse($recurring_invoice);
}
break;
default:
// code...

View File

@ -11,6 +11,7 @@
namespace App\Services\Recurring;
use App\Jobs\RecurringInvoice\SendRecurring;
use App\Jobs\Util\UnlinkFile;
use App\Models\RecurringInvoice;
use App\Services\Recurring\GetInvoicePdf;
@ -106,6 +107,10 @@ class RecurringService
$this->stop();
}
if ($request->has('send_now') && $request->input('send_now') == 'true' && $this->recurring_entity->invoices()->count() == 0) {
$this->sendNow();
}
if(isset($this->recurring_entity->client))
{
$offset = $this->recurring_entity->client->timezone_offset();
@ -115,6 +120,16 @@ class RecurringService
return $this;
}
public function sendNow()
{
if($this->recurring_entity instanceof RecurringInvoice)
SendRecurring::dispatchNow($this->recurring_entity, $this->recurring_entity->company->db);
return $this->recurring_entity;
}
public function fillDefaults()
{