diff --git a/app/Http/Controllers/VendorPortal/InvitationController.php b/app/Http/Controllers/VendorPortal/InvitationController.php index e0666ecfe109..ab472eddcc33 100644 --- a/app/Http/Controllers/VendorPortal/InvitationController.php +++ b/app/Http/Controllers/VendorPortal/InvitationController.php @@ -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']; diff --git a/app/Http/Controllers/VendorPortal/PurchaseOrderController.php b/app/Http/Controllers/VendorPortal/PurchaseOrderController.php index 9fe4e285b269..d73fbbaa12ad 100644 --- a/app/Http/Controllers/VendorPortal/PurchaseOrderController.php +++ b/app/Http/Controllers/VendorPortal/PurchaseOrderController.php @@ -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); } diff --git a/app/Http/Livewire/PdfSlot.php b/app/Http/Livewire/PdfSlot.php index f785f5f67cda..5b96d4fdcbd2 100644 --- a/app/Http/Livewire/PdfSlot.php +++ b/app/Http/Livewire/PdfSlot.php @@ -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() { diff --git a/app/Jobs/PurchaseOrder/ZipPurchaseOrders.php b/app/Jobs/PurchaseOrder/ZipPurchaseOrders.php index 8c1f85ccd15b..10699dcbc115 100644 --- a/app/Jobs/PurchaseOrder/ZipPurchaseOrders.php +++ b/app/Jobs/PurchaseOrder/ZipPurchaseOrders.php @@ -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); } diff --git a/app/Mail/Engine/PurchaseOrderEmailEngine.php b/app/Mail/Engine/PurchaseOrderEmailEngine.php index 51f6d5bd5360..f3d181346843 100644 --- a/app/Mail/Engine/PurchaseOrderEmailEngine.php +++ b/app/Mail/Engine/PurchaseOrderEmailEngine.php @@ -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']]); } diff --git a/app/Models/BaseModel.php b/app/Models/BaseModel.php index 976584842f14..36c9638a0e21 100644 --- a/app/Models/BaseModel.php +++ b/app/Models/BaseModel.php @@ -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()); diff --git a/app/Services/Email/EmailDefaults.php b/app/Services/Email/EmailDefaults.php index 4c7b9319c12c..e1dd56b9c86e 100644 --- a/app/Services/Email/EmailDefaults.php +++ b/app/Services/Email/EmailDefaults.php @@ -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']]); } diff --git a/app/Services/PurchaseOrder/GetPurchaseOrderPdf.php b/app/Services/PurchaseOrder/GetPurchaseOrderPdf.php index 1a536698202d..824c6f3f895f 100644 --- a/app/Services/PurchaseOrder/GetPurchaseOrderPdf.php +++ b/app/Services/PurchaseOrder/GetPurchaseOrderPdf.php @@ -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(); + } } diff --git a/tests/Feature/PurchaseOrderTest.php b/tests/Feature/PurchaseOrderTest.php index 15183ac0f2cd..4a5dfe798499 100644 --- a/tests/Feature/PurchaseOrderTest.php +++ b/tests/Feature/PurchaseOrderTest.php @@ -233,7 +233,6 @@ class PurchaseOrderTest extends TestCase $x = $purchase_order->service()->markSent()->getPurchaseOrderPdf(); - // nlog($x); } public function testPurchaseOrderRest()