mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-07-09 03:14:30 -04:00
commit
8f4f1b9600
@ -1 +1 @@
|
|||||||
5.3.38
|
5.3.39
|
@ -305,13 +305,69 @@ class PreviewController extends BaseController
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private function blankEntity()
|
private function blankEntity()
|
||||||
{
|
{
|
||||||
App::forgetInstance('translator');
|
App::forgetInstance('translator');
|
||||||
$t = app('translator');
|
$t = app('translator');
|
||||||
$t->replace(Ninja::transformTranslations(auth()->user()->company()->settings));
|
$t->replace(Ninja::transformTranslations(auth()->user()->company()->settings));
|
||||||
|
|
||||||
|
$invitation = InvoiceInvitation::where('company_id', auth()->user()->company()->id)->first();
|
||||||
|
|
||||||
|
/* If we don't have a valid invitation in the system - create a mock using transactions */
|
||||||
|
if(!$invitation)
|
||||||
|
return $this->mockEntity();
|
||||||
|
|
||||||
|
$design_object = json_decode(json_encode(request()->input('design')));
|
||||||
|
|
||||||
|
if (! is_object($design_object)) {
|
||||||
|
return response()->json(['message' => 'Invalid custom design object'], 400);
|
||||||
|
}
|
||||||
|
|
||||||
|
$html = new HtmlEngine($invitation);
|
||||||
|
|
||||||
|
$design = new Design(Design::CUSTOM, ['custom_partials' => request()->design['design']]);
|
||||||
|
|
||||||
|
$state = [
|
||||||
|
'template' => $design->elements([
|
||||||
|
'client' => $invitation->invoice->client,
|
||||||
|
'entity' => $invitation->invoice,
|
||||||
|
'pdf_variables' => (array) $invitation->invoice->company->settings->pdf_variables,
|
||||||
|
'products' => request()->design['design']['product'],
|
||||||
|
]),
|
||||||
|
'variables' => $html->generateLabelsAndValues(),
|
||||||
|
'process_markdown' => $invitation->invoice->client->company->markdown_enabled,
|
||||||
|
];
|
||||||
|
|
||||||
|
$maker = new PdfMaker($state);
|
||||||
|
|
||||||
|
$maker
|
||||||
|
->design($design)
|
||||||
|
->build();
|
||||||
|
|
||||||
|
if (request()->query('html') == 'true') {
|
||||||
|
return $maker->getCompiledHTML();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (config('ninja.phantomjs_pdf_generation') || config('ninja.pdf_generator') == 'phantom') {
|
||||||
|
return (new Phantom)->convertHtmlToPdf($maker->getCompiledHTML(true));
|
||||||
|
}
|
||||||
|
|
||||||
|
if(config('ninja.invoiceninja_hosted_pdf_generation') || config('ninja.pdf_generator') == 'hosted_ninja'){
|
||||||
|
return (new NinjaPdf())->build($maker->getCompiledHTML(true));
|
||||||
|
}
|
||||||
|
|
||||||
|
$file_path = PreviewPdf::dispatchNow($maker->getCompiledHTML(true), auth()->user()->company());
|
||||||
|
|
||||||
|
$response = Response::make($file_path, 200);
|
||||||
|
$response->header('Content-Type', 'application/pdf');
|
||||||
|
|
||||||
|
return $response;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private function mockEntity()
|
||||||
|
{
|
||||||
|
|
||||||
DB::connection(auth()->user()->company()->db)->beginTransaction();
|
DB::connection(auth()->user()->company()->db)->beginTransaction();
|
||||||
|
|
||||||
$client = Client::factory()->create([
|
$client = Client::factory()->create([
|
||||||
@ -345,8 +401,6 @@ class PreviewController extends BaseController
|
|||||||
$invoice->setRelation('company', auth()->user()->company());
|
$invoice->setRelation('company', auth()->user()->company());
|
||||||
$invoice->load('client.company');
|
$invoice->load('client.company');
|
||||||
|
|
||||||
// nlog(print_r($invoice->toArray(),1));
|
|
||||||
|
|
||||||
$design_object = json_decode(json_encode(request()->input('design')));
|
$design_object = json_decode(json_encode(request()->input('design')));
|
||||||
|
|
||||||
if (! is_object($design_object)) {
|
if (! is_object($design_object)) {
|
||||||
@ -374,6 +428,8 @@ class PreviewController extends BaseController
|
|||||||
->design($design)
|
->design($design)
|
||||||
->build();
|
->build();
|
||||||
|
|
||||||
|
DB::connection(auth()->user()->company()->db)->rollBack();
|
||||||
|
|
||||||
if (request()->query('html') == 'true') {
|
if (request()->query('html') == 'true') {
|
||||||
return $maker->getCompiledHTML();
|
return $maker->getCompiledHTML();
|
||||||
}
|
}
|
||||||
@ -388,8 +444,6 @@ class PreviewController extends BaseController
|
|||||||
|
|
||||||
$file_path = PreviewPdf::dispatchNow($maker->getCompiledHTML(true), auth()->user()->company());
|
$file_path = PreviewPdf::dispatchNow($maker->getCompiledHTML(true), auth()->user()->company());
|
||||||
|
|
||||||
DB::connection(auth()->user()->company()->db)->rollBack();
|
|
||||||
|
|
||||||
$response = Response::make($file_path, 200);
|
$response = Response::make($file_path, 200);
|
||||||
$response->header('Content-Type', 'application/pdf');
|
$response->header('Content-Type', 'application/pdf');
|
||||||
|
|
||||||
|
@ -14,8 +14,8 @@ return [
|
|||||||
'require_https' => env('REQUIRE_HTTPS', true),
|
'require_https' => env('REQUIRE_HTTPS', true),
|
||||||
'app_url' => rtrim(env('APP_URL', ''), '/'),
|
'app_url' => rtrim(env('APP_URL', ''), '/'),
|
||||||
'app_domain' => env('APP_DOMAIN', 'invoicing.co'),
|
'app_domain' => env('APP_DOMAIN', 'invoicing.co'),
|
||||||
'app_version' => '5.3.38',
|
'app_version' => '5.3.39',
|
||||||
'app_tag' => '5.3.38',
|
'app_tag' => '5.3.39',
|
||||||
'minimum_client_version' => '5.0.16',
|
'minimum_client_version' => '5.0.16',
|
||||||
'terms_version' => '1.0.1',
|
'terms_version' => '1.0.1',
|
||||||
'api_secret' => env('API_SECRET', ''),
|
'api_secret' => env('API_SECRET', ''),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user