Link converted quote to invoice

This commit is contained in:
David Bomba 2022-04-06 12:22:13 +10:00
parent 15b18dfc8f
commit 16b219dbb9
3 changed files with 36 additions and 1 deletions

View File

@ -21,19 +21,23 @@ use App\Mail\DownloadInvoices;
use App\Models\Company; use App\Models\Company;
use App\Models\Document; use App\Models\Document;
use App\Models\User; use App\Models\User;
use App\Utils\Ninja;
use App\Utils\TempFile; use App\Utils\TempFile;
use App\Utils\Traits\MakesDates;
use Illuminate\Bus\Queueable; use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable; use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue; use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels; use Illuminate\Queue\SerializesModels;
use Illuminate\Support\Carbon;
use Illuminate\Support\Facades\App;
use Illuminate\Support\Facades\Mail; use Illuminate\Support\Facades\Mail;
use Illuminate\Support\Facades\Storage; use Illuminate\Support\Facades\Storage;
use ZipArchive; use ZipArchive;
class ZipDocuments implements ShouldQueue class ZipDocuments implements ShouldQueue
{ {
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels; use Dispatchable, InteractsWithQueue, Queueable, SerializesModels, MakesDates;
public $document_ids; public $document_ids;
@ -77,6 +81,11 @@ class ZipDocuments implements ShouldQueue
{ {
MultiDB::setDb($this->company->db); MultiDB::setDb($this->company->db);
App::setLocale($this->company->locale());
App::forgetInstance('translator');
$t = app('translator');
$t->replace(Ninja::transformTranslations($this->company->settings));
# create new zip object # create new zip object
$zipFile = new \PhpZip\ZipFile(); $zipFile = new \PhpZip\ZipFile();
$file_name = date('Y-m-d').'_'.str_replace(' ', '_', trans('texts.documents')).'.zip'; $file_name = date('Y-m-d').'_'.str_replace(' ', '_', trans('texts.documents')).'.zip';
@ -119,5 +128,13 @@ class ZipDocuments implements ShouldQueue
{ {
$filename = $document->name; $filename = $document->name;
$date = $this->formatDate(Carbon::createFromTimestamp($document->created_at), 'Y-m-d');
$number = "_";
if(isset($document->documentable->number))
$number = "_".$document->documentable->number;
return "{$date}_{$document->documentable->translate_entity()}{$number}_{$filename}";
} }
} }

View File

@ -140,4 +140,9 @@ class Document extends BaseModel
{ {
return Storage::get($this->url); return Storage::get($this->url);
} }
public function translate_entity()
{
return ctrans('texts.document');
}
} }

View File

@ -44,7 +44,19 @@
</div> </div>
@endif @endif
</div> </div>
@if($quote->invoice_id)
<div class="mt-5 sm:mt-0 sm:ml-6 flex justify-end">
<div class="inline-flex rounded-md shadow-sm">
<a class="button button-primary bg-primary" href="/client/invoices/{{ $quote->invoice->hashed_id }}">{{ ctrans('texts.view_invoice') }}</a>
</div>
</div>
@endif
</div> </div>
</div> </div>
</div> </div>
@ -71,6 +83,7 @@
</div> </div>
</div> </div>
</div> </div>
@else @else
<div class="bg-white shadow sm:rounded-lg mb-4"> <div class="bg-white shadow sm:rounded-lg mb-4">