mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-05-24 02:14:21 -04:00
Merge support for purchase order PDF generation
This commit is contained in:
parent
e8100ac1c3
commit
55ba708fd0
@ -94,7 +94,7 @@ class InvitationController extends Controller
|
||||
|
||||
$file_name = $invitation->purchase_order->numberFormatter().'.pdf';
|
||||
|
||||
$file = (new CreatePurchaseOrderPdf($invitation))->rawPdf();
|
||||
$file = $invitation->purchase_order->service()->getPurchaseOrderPdf();
|
||||
|
||||
$headers = ['Content-Type' => 'application/pdf'];
|
||||
|
||||
|
@ -11,23 +11,24 @@
|
||||
|
||||
namespace App\Http\Controllers\VendorPortal;
|
||||
|
||||
use App\Events\Misc\InvitationWasViewed;
|
||||
use App\Events\PurchaseOrder\PurchaseOrderWasAccepted;
|
||||
use App\Events\PurchaseOrder\PurchaseOrderWasViewed;
|
||||
use App\Utils\Ninja;
|
||||
use Illuminate\View\View;
|
||||
use App\Models\PurchaseOrder;
|
||||
use App\Utils\Traits\MakesHash;
|
||||
use App\Utils\Traits\MakesDates;
|
||||
use App\Jobs\Entity\CreateRawPdf;
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Http\Requests\VendorPortal\PurchaseOrders\ProcessPurchaseOrdersInBulkRequest;
|
||||
use App\Jobs\Invoice\InjectSignature;
|
||||
use Illuminate\Support\Facades\Cache;
|
||||
use Illuminate\Contracts\View\Factory;
|
||||
use App\Models\PurchaseOrderInvitation;
|
||||
use App\Events\Misc\InvitationWasViewed;
|
||||
use App\Jobs\Vendor\CreatePurchaseOrderPdf;
|
||||
use App\Events\PurchaseOrder\PurchaseOrderWasViewed;
|
||||
use App\Events\PurchaseOrder\PurchaseOrderWasAccepted;
|
||||
use App\Http\Requests\VendorPortal\PurchaseOrders\ShowPurchaseOrderRequest;
|
||||
use App\Http\Requests\VendorPortal\PurchaseOrders\ShowPurchaseOrdersRequest;
|
||||
use App\Jobs\Invoice\InjectSignature;
|
||||
use App\Jobs\Vendor\CreatePurchaseOrderPdf;
|
||||
use App\Models\PurchaseOrder;
|
||||
use App\Models\PurchaseOrderInvitation;
|
||||
use App\Utils\Ninja;
|
||||
use App\Utils\Traits\MakesDates;
|
||||
use App\Utils\Traits\MakesHash;
|
||||
use Illuminate\Contracts\View\Factory;
|
||||
use Illuminate\Support\Facades\Cache;
|
||||
use Illuminate\View\View;
|
||||
use App\Http\Requests\VendorPortal\PurchaseOrders\ProcessPurchaseOrdersInBulkRequest;
|
||||
|
||||
class PurchaseOrderController extends Controller
|
||||
{
|
||||
@ -116,7 +117,7 @@ class PurchaseOrderController extends Controller
|
||||
|
||||
$invitation = PurchaseOrderInvitation::withTrashed()->find($data['invitation_id']);
|
||||
|
||||
$file = (new CreatePurchaseOrderPdf($invitation, $invitation->company->db))->rawPdf();
|
||||
$file = $invitation->purchase_order->service()->getPurchaseOrderPdf();
|
||||
|
||||
$headers = ['Content-Type' => 'application/pdf'];
|
||||
|
||||
@ -211,7 +212,8 @@ class PurchaseOrderController extends Controller
|
||||
if (count($purchase_order_invitations) == 1) {
|
||||
|
||||
$invitation = $purchase_order_invitations->first();
|
||||
$file = (new CreatePurchaseOrderPdf($invitation, $invitation->company->db))->rawPdf();
|
||||
$file = (new CreateRawPdf($invitation))->handle();
|
||||
|
||||
return response()->streamDownload(function () use ($file) {
|
||||
echo $file;
|
||||
}, $invitation->purchase_order->numberFormatter().".pdf", ['Content-Type' => 'application/pdf']);
|
||||
@ -226,7 +228,8 @@ class PurchaseOrderController extends Controller
|
||||
$zipFile = new \PhpZip\ZipFile();
|
||||
try {
|
||||
foreach ($invitations as $invitation) {
|
||||
$file = (new CreatePurchaseOrderPdf($invitation, $invitation->company->db))->rawPdf();
|
||||
|
||||
$file = (new CreateRawPdf($invitation))->handle();
|
||||
$zipFile->addFromString($invitation->purchase_order->numberFormatter().".pdf", $file);
|
||||
}
|
||||
|
||||
|
@ -95,11 +95,7 @@ class PdfSlot extends Component
|
||||
|
||||
$file_name = $this->entity->numberFormatter().'.pdf';
|
||||
|
||||
if($this->entity instanceof \App\Models\PurchaseOrder) {
|
||||
$file = (new CreatePurchaseOrderPdf($this->invitation, $this->invitation->company->db))->rawPdf();
|
||||
} else {
|
||||
$file = (new \App\Jobs\Entity\CreateRawPdf($this->invitation))->handle();
|
||||
}
|
||||
$file = (new \App\Jobs\Entity\CreateRawPdf($this->invitation))->handle();
|
||||
|
||||
$headers = ['Content-Type' => 'application/pdf'];
|
||||
|
||||
@ -108,6 +104,7 @@ class PdfSlot extends Component
|
||||
}, $file_name, $headers);
|
||||
|
||||
}
|
||||
|
||||
public function downloadEInvoice()
|
||||
{
|
||||
|
||||
|
@ -11,20 +11,21 @@
|
||||
|
||||
namespace App\Jobs\PurchaseOrder;
|
||||
|
||||
use App\Models\User;
|
||||
use App\Models\Company;
|
||||
use App\Libraries\MultiDB;
|
||||
use App\Jobs\Util\UnlinkFile;
|
||||
use Illuminate\Bus\Queueable;
|
||||
use App\Jobs\Entity\CreateRawPdf;
|
||||
use App\Jobs\Mail\NinjaMailerJob;
|
||||
use App\Jobs\Mail\NinjaMailerObject;
|
||||
use App\Jobs\Util\UnlinkFile;
|
||||
use App\Libraries\MultiDB;
|
||||
use App\Mail\DownloadPurchaseOrders;
|
||||
use App\Models\Company;
|
||||
use Illuminate\Queue\SerializesModels;
|
||||
use App\Models\PurchaseOrderInvitation;
|
||||
use App\Models\User;
|
||||
use Illuminate\Bus\Queueable;
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
use Illuminate\Queue\InteractsWithQueue;
|
||||
use Illuminate\Contracts\Queue\ShouldQueue;
|
||||
use Illuminate\Foundation\Bus\Dispatchable;
|
||||
use Illuminate\Queue\InteractsWithQueue;
|
||||
use Illuminate\Queue\SerializesModels;
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
|
||||
class ZipPurchaseOrders implements ShouldQueue
|
||||
{
|
||||
@ -62,7 +63,9 @@ class ZipPurchaseOrders implements ShouldQueue
|
||||
|
||||
try {
|
||||
foreach ($invitations as $invitation) {
|
||||
$file = (new \App\Jobs\Vendor\CreatePurchaseOrderPdf($invitation))->rawPdf();
|
||||
|
||||
$file = (new CreateRawPdf($invitation))->handle();
|
||||
|
||||
$zipFile->addFromString($invitation->purchase_order->numberFormatter().".pdf", $file);
|
||||
}
|
||||
|
||||
|
@ -11,18 +11,19 @@
|
||||
|
||||
namespace App\Mail\Engine;
|
||||
|
||||
use App\DataMapper\EmailTemplateDefaults;
|
||||
use App\Jobs\Vendor\CreatePurchaseOrderPdf;
|
||||
use App\Models\Account;
|
||||
use App\Models\PurchaseOrder;
|
||||
use App\Models\Vendor;
|
||||
use App\Utils\HtmlEngine;
|
||||
use App\Utils\Ninja;
|
||||
use App\Utils\Number;
|
||||
use App\Models\Vendor;
|
||||
use App\Models\Account;
|
||||
use App\Utils\HtmlEngine;
|
||||
use App\Models\PurchaseOrder;
|
||||
use App\Utils\Traits\MakesHash;
|
||||
use App\Utils\VendorHtmlEngine;
|
||||
use App\Jobs\Entity\CreateRawPdf;
|
||||
use Illuminate\Support\Facades\App;
|
||||
use Illuminate\Support\Facades\URL;
|
||||
use App\DataMapper\EmailTemplateDefaults;
|
||||
use App\Jobs\Vendor\CreatePurchaseOrderPdf;
|
||||
|
||||
class PurchaseOrderEmailEngine extends BaseEmailEngine
|
||||
{
|
||||
@ -119,7 +120,8 @@ class PurchaseOrderEmailEngine extends BaseEmailEngine
|
||||
->setTextBody($text_body);
|
||||
|
||||
if ($this->vendor->getSetting('pdf_email_attachment') !== false && $this->purchase_order->company->account->hasFeature(Account::FEATURE_PDF_ATTACHMENT)) {
|
||||
$pdf = (new CreatePurchaseOrderPdf($this->invitation))->rawPdf();
|
||||
|
||||
$pdf = (new CreateRawPdf($this->invitation))->handle();
|
||||
|
||||
$this->setAttachments([['file' => base64_encode($pdf), 'name' => $this->purchase_order->numberFormatter().'.pdf']]);
|
||||
}
|
||||
|
@ -302,10 +302,6 @@ class BaseModel extends Model
|
||||
if (! $invitation) {
|
||||
throw new \Exception('Hard fail, could not create an invitation.');
|
||||
}
|
||||
|
||||
if($this instanceof \App\Models\PurchaseOrder) {
|
||||
return "data:application/pdf;base64,".base64_encode((new CreatePurchaseOrderPdf($invitation, $invitation->company->db))->rawPdf());
|
||||
}
|
||||
|
||||
return "data:application/pdf;base64,".base64_encode((new CreateRawPdf($invitation))->handle());
|
||||
|
||||
|
@ -299,14 +299,7 @@ class EmailDefaults
|
||||
}
|
||||
|
||||
/** Purchase Order / Invoice / Credit / Quote PDF */
|
||||
if ($this->email->email_object->settings->pdf_email_attachment && $this->email->email_object->entity instanceof PurchaseOrder) {
|
||||
$pdf = (new CreatePurchaseOrderPdf($this->email->email_object->invitation))->rawPdf();
|
||||
|
||||
$this->email->email_object->attachments = array_merge($this->email->email_object->attachments, [['file' => base64_encode($pdf), 'name' => $this->email->email_object->entity->numberFormatter().'.pdf']]);
|
||||
} elseif ($this->email->email_object->settings->pdf_email_attachment &&
|
||||
($this->email->email_object->entity instanceof Invoice ||
|
||||
$this->email->email_object->entity instanceof Quote ||
|
||||
$this->email->email_object->entity instanceof Credit)) {
|
||||
if ($this->email->email_object->settings->pdf_email_attachment){
|
||||
$pdf = ((new CreateRawPdf($this->email->email_object->invitation))->handle());
|
||||
$this->email->email_object->attachments = array_merge($this->email->email_object->attachments, [['file' => base64_encode($pdf), 'name' => $this->email->email_object->entity->numberFormatter().'.pdf']]);
|
||||
}
|
||||
|
@ -11,6 +11,7 @@
|
||||
|
||||
namespace App\Services\PurchaseOrder;
|
||||
|
||||
use App\Jobs\Entity\CreateRawPdf;
|
||||
use App\Jobs\Vendor\CreatePurchaseOrderPdf;
|
||||
use App\Models\PurchaseOrder;
|
||||
use App\Models\VendorContact;
|
||||
@ -35,21 +36,7 @@ class GetPurchaseOrderPdf extends AbstractService
|
||||
$invitation = $this->purchase_order->invitations()->first();
|
||||
}
|
||||
|
||||
return (new CreatePurchaseOrderPdf($invitation))->handle();
|
||||
|
||||
// $path = $this->purchase_order->vendor->purchase_order_filepath($invitation);
|
||||
|
||||
// $file_path = $path.$this->purchase_order->numberFormatter().'.pdf';
|
||||
|
||||
// // $disk = 'public';
|
||||
// $disk = config('filesystems.default');
|
||||
|
||||
// $file = Storage::disk($disk)->exists($file_path);
|
||||
|
||||
// if (! $file) {
|
||||
// $file_path = (new CreatePurchaseOrderPdf($invitation))->handle();
|
||||
// }
|
||||
|
||||
// return $file_path;
|
||||
return (new CreateRawPdf($invitation))->handle();
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -233,7 +233,6 @@ class PurchaseOrderTest extends TestCase
|
||||
|
||||
$x = $purchase_order->service()->markSent()->getPurchaseOrderPdf();
|
||||
|
||||
// nlog($x);
|
||||
}
|
||||
|
||||
public function testPurchaseOrderRest()
|
||||
|
Loading…
x
Reference in New Issue
Block a user