diff --git a/app/Factory/RecurringInvoiceToInvoiceFactory.php b/app/Factory/RecurringInvoiceToInvoiceFactory.php index a1101972dd6b..67536c413813 100644 --- a/app/Factory/RecurringInvoiceToInvoiceFactory.php +++ b/app/Factory/RecurringInvoiceToInvoiceFactory.php @@ -29,10 +29,7 @@ class RecurringInvoiceToInvoiceFactory $invoice->terms = self::tranformObject($recurring_invoice->terms, $client); $invoice->public_notes = self::tranformObject($recurring_invoice->public_notes, $client); $invoice->private_notes = $recurring_invoice->private_notes; - //$invoice->date = now()->format($client->date_format()); - //$invoice->due_date = $recurring_invoice->calculateDueDate(now()); $invoice->is_deleted = $recurring_invoice->is_deleted; -// $invoice->line_items = $recurring_invoice->line_items; $invoice->line_items = self::transformItems($recurring_invoice, $client); $invoice->tax_name1 = $recurring_invoice->tax_name1; $invoice->tax_rate1 = $recurring_invoice->tax_rate1; diff --git a/app/Http/Controllers/InvoiceController.php b/app/Http/Controllers/InvoiceController.php index 051b6d2c5fff..705e1661e019 100644 --- a/app/Http/Controllers/InvoiceController.php +++ b/app/Http/Controllers/InvoiceController.php @@ -578,6 +578,16 @@ class InvoiceController extends BaseController return response()->json(['message' => ctrans('texts.sent_message')], 200); } + if($action == 'download' && $invoices->count() >=1 && auth()->user()->can('view', $invoices->first())) { + + $file = $invoices->first()->service()->getInvoicePdf(); + + return response()->streamDownload(function () use ($file) { + echo Storage::get($file); + }, basename($file), ['Content-Type' => 'application/pdf']); + + } + /* * Send the other actions to the switch */ diff --git a/app/Http/Requests/GroupSetting/UpdateGroupSettingRequest.php b/app/Http/Requests/GroupSetting/UpdateGroupSettingRequest.php index 6dd355849093..9007defd82ad 100644 --- a/app/Http/Requests/GroupSetting/UpdateGroupSettingRequest.php +++ b/app/Http/Requests/GroupSetting/UpdateGroupSettingRequest.php @@ -73,6 +73,6 @@ class UpdateGroupSettingRequest extends Request } } - return $settings; + return (array)$settings; } } diff --git a/app/Jobs/Cron/RecurringInvoicesCron.php b/app/Jobs/Cron/RecurringInvoicesCron.php index be18376a31f6..ab4d0e4ebe5d 100644 --- a/app/Jobs/Cron/RecurringInvoicesCron.php +++ b/app/Jobs/Cron/RecurringInvoicesCron.php @@ -13,6 +13,7 @@ namespace App\Jobs\Cron; use App\Jobs\RecurringInvoice\SendRecurring; use App\Libraries\MultiDB; +use App\Models\Invoice; use App\Models\RecurringInvoice; use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Support\Carbon; @@ -107,7 +108,7 @@ class RecurringInvoicesCron nlog("Trying to send {$recurring_invoice->number}"); if ($recurring_invoice->company->stop_on_unpaid_recurring) { - if ($recurring_invoice->invoices()->whereIn('status_id', [2, 3])->where('is_deleted', 0)->where('balance', '>', 0)->exists()) { + if (Invoice::where('recurring_id', $recurring_invoice->id)->whereIn('status_id', [2, 3])->where('is_deleted', 0)->where('balance', '>', 0)->exists()) { return; } } diff --git a/app/Jobs/RecurringInvoice/SendRecurring.php b/app/Jobs/RecurringInvoice/SendRecurring.php index c22127554ff2..cd8b1b6a3d7b 100644 --- a/app/Jobs/RecurringInvoice/SendRecurring.php +++ b/app/Jobs/RecurringInvoice/SendRecurring.php @@ -73,8 +73,8 @@ class SendRecurring implements ShouldQueue $invoice->auto_bill_enabled = false; } - $invoice->date = now()->format('Y-m-d'); - $invoice->due_date = $this->recurring_invoice->calculateDueDate(now()->format('Y-m-d')); + $invoice->date = date('Y-m-d'); + $invoice->due_date = $this->recurring_invoice->calculateDueDate(date('Y-m-d')); $invoice->recurring_id = $this->recurring_invoice->id; $invoice->saveQuietly(); diff --git a/app/Models/RecurringInvoice.php b/app/Models/RecurringInvoice.php index 31bf5845af57..831808aa3722 100644 --- a/app/Models/RecurringInvoice.php +++ b/app/Models/RecurringInvoice.php @@ -560,7 +560,7 @@ class RecurringInvoice extends BaseModel break; case 'on_receipt': - return Carbon::Parse($date)->copy(); + return Carbon::parse($date)->copy(); break; default: