* @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com) */ class OrderController extends Controller { /** * OrderrRepository object * * @var Object */ protected $orderRepository; /** * InvoiceRepository object * * @var Object */ protected $invoiceRepository; /** * Create a new controller instance. * * @param \Webkul\Order\Repositories\OrderRepository $orderRepository * @param \Webkul\Order\Repositories\InvoiceRepository $invoiceRepository * @return void */ public function __construct( OrderRepository $orderRepository, InvoiceRepository $invoiceRepository ) { $this->middleware('customer'); $this->orderRepository = $orderRepository; $this->invoiceRepository = $invoiceRepository; parent::__construct(); } /** * Display a listing of the resource. * * @return \Illuminate\View\View */ public function index() { return view($this->_config['view']); } /** * Show the view for the specified resource. * * @param int $id * @return \Illuminate\View\View */ public function view($id) { $order = $this->orderRepository->findOneWhere([ 'customer_id' => auth()->guard('customer')->user()->id, 'id' => $id, ]); if (! $order) { abort(404); } return view($this->_config['view'], compact('order')); } /** * Print and download the for the specified resource. * * @param int $id * @return \Illuminate\Http\Response */ public function print($id) { $invoice = $this->invoiceRepository->findOrFail($id); $pdf = PDF::loadView('shop::customers.account.orders.pdf', compact('invoice'))->setPaper('a4'); return $pdf->download('invoice-' . $invoice->created_at->format('d-m-Y') . '.pdf'); } }