/**
  * @param OrderInvoice $order_invoice
  * @param $smarty
  * @throws PrestaShopException
  */
 public function __construct(OrderInvoice $order_invoice, $smarty, $bulk_mode = false)
 {
     $this->order_invoice = $order_invoice;
     $this->order = new Order((int) $this->order_invoice->id_order);
     $this->smarty = $smarty;
     // If shop_address is null, then update it with current one.
     // But no DB save required here to avoid massive updates for bulk PDF generation case.
     // (DB: bug fixed in 1.6.1.1 with upgrade SQL script to avoid null shop_address in old orderInvoices)
     if (!isset($this->order_invoice->shop_address) || !$this->order_invoice->shop_address) {
         $this->order_invoice->shop_address = OrderInvoice::getCurrentFormattedShopAddress((int) $this->order->id_shop);
         if (!$bulk_mode) {
             OrderInvoice::fixAllShopAddresses();
         }
     }
     // header informations
     $this->date = Tools::displayDate($order_invoice->date_add);
     $id_lang = Context::getContext()->language->id;
     $this->title = $order_invoice->getInvoiceNumberFormatted($id_lang);
     $this->shop = new Shop((int) $this->order->id_shop);
 }
 /**
  * @param OrderInvoice $order_invoice
  * @param $smarty
  * @throws PrestaShopException
  */
 public function __construct(OrderInvoice $order_invoice, $smarty, $bulk_mode = false)
 {
     $this->order_invoice = $order_invoice;
     $this->order = new Order($this->order_invoice->id_order);
     $this->smarty = $smarty;
     // If shop_address is null, then update it with current one.
     // But no DB save required here to avoid massive updates for bulk PDF generation case.
     // (DB: bug fixed in 1.6.1.1 with upgrade SQL script to avoid null shop_address in old orderInvoices)
     if (!isset($this->order_invoice->shop_address) || !$this->order_invoice->shop_address) {
         $this->order_invoice->shop_address = OrderInvoice::getCurrentFormattedShopAddress((int) $this->order->id_shop);
         if (!$bulk_mode) {
             OrderInvoice::fixAllShopAddresses();
         }
     }
     // header informations
     $this->date = Tools::displayDate($order_invoice->date_add);
     $prefix = Configuration::get('PS_DELIVERY_PREFIX', Context::getContext()->language->id);
     $this->title = sprintf(HTMLTemplateDeliverySlip::l('%1$s%2$06d'), $prefix, $this->order_invoice->delivery_number);
     // footer informations
     $this->shop = new Shop((int) $this->order->id_shop);
 }