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); $this->itemResponse($recurring_invoice);
} }
break;
case 'send_now':
$recurring_invoice = $recurring_invoice->service()->sendNow();
if (! $bulk) {
$this->itemResponse($recurring_invoice);
}
break; break;
default: default:
// code... // code...

View File

@ -11,6 +11,7 @@
namespace App\Services\Recurring; namespace App\Services\Recurring;
use App\Jobs\RecurringInvoice\SendRecurring;
use App\Jobs\Util\UnlinkFile; use App\Jobs\Util\UnlinkFile;
use App\Models\RecurringInvoice; use App\Models\RecurringInvoice;
use App\Services\Recurring\GetInvoicePdf; use App\Services\Recurring\GetInvoicePdf;
@ -106,6 +107,10 @@ class RecurringService
$this->stop(); $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)) if(isset($this->recurring_entity->client))
{ {
$offset = $this->recurring_entity->client->timezone_offset(); $offset = $this->recurring_entity->client->timezone_offset();
@ -115,6 +120,16 @@ class RecurringService
return $this; 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() public function fillDefaults()
{ {