$next]); setting()->save(); } /** * Get a collection invoice statuses * * @return Collection */ public function getInvoiceStatuses() { $list = [ 'draft', 'sent', 'viewed', 'approved', 'partial', 'paid', 'overdue', 'unpaid', 'cancelled', ]; $statuses = collect($list)->each(function ($code) { $item = new \stdClass(); $item->code = $code; $item->name = trans('invoices.statuses.' . $code); return $item; }); return $statuses; } public function getInvoiceFileName($invoice, $separator = '-', $extension = 'pdf') { return $this->getSafeInvoiceNumber($invoice, $separator) . $separator . time() . '.' . $extension; } public function getSafeInvoiceNumber($invoice, $separator = '-') { return Str::slug($invoice->invoice_number, $separator, language()->getShortCode()); } }