Jump to content

Needed: order packaging checklist module


Recommended Posts

I am looking for a module that has the following functionality:

- shows all orders with a selectable order status (confirmed orders)
(order number, customer name, order status)

- clicking an order will show a page that contains
big order number, big customer name
the current list of messages associated with the order (customer and employee messages)
a table with product picture, product name, ordered amount, a check box and the remaining (current) stock number

after a product is added to the package it is checked in the list by the employee
after all products are checked in the list the employee will click a button that will close the page, update the order status to a pre-selectable status (when configuring the module) and return to the module page.
It should also save with the order status the employee name that is logged in (prestashop functionality already present).
It should not allow to finish the order if not all products are checked.

Please send me your quotes.
Looking forward to any help on this!
C.

Link to comment
Share on other sites

  • 2 weeks later...
  • 2 weeks later...

Because there wasn't sufficient time I took the route of the delivery slip, changed it around a little bit to accommodate for some info's on the store in the bottom of the page and completely changed the top half that contains the client info and products info.

/classes/PDF.php was changed to suit my needs.

Let me know if you want to go this way but a lot of useful info came from http://www.fpdf.org/

Link to comment
Share on other sites

I redid all the parts in PDF.php that had to do with the delivery slip, put in there just the product name, quantity and an empty space for the check signs.

Locate

public function ProdTabHeader($delivery = false)



and change

            $header = array(
               array(self::l('Description'), 'L'),
               array(self::l('Reference'), 'L'),
               array(self::l('Qty'), 'C'),
           );
           $w = array(120, 30, 10);



to

I redid all the parts in PDF.php that had to do with the delivery slip, put in there just the product name, quantity and an empty space for the check signs.

Locate 

public function ProdTabHeader($delivery = false)

and change

           $header = array(
               array(self::l('Description'), 'L'),
               array(self::l('Qty'), 'C'),
               array('Checked', 'C'),
           );
           $w = array(120, 10, 30);



then look for this:

public function ProdTab($delivery = false)
   {
       if (!$delivery)
           $w = array(100, 15, 30, 15, 30);
       else
           $w = array(120, 30, 10);



and change it to this:

public function ProdTab($delivery = false)
   {
       if (!$delivery)
           $w = array(100, 15, 30, 15, 30);
       else
           $w = array(120, 10, 30);





Then locate this:

                if ($productQuantity)
               {
                   $before = $this->GetY();
                   $this->MultiCell($w[++$i], 5, Tools::iconv('utf-8', self::encoding(), $product['product_name']), 'B');
                   $lineSize = $this->GetY() - $before;
                   $this->SetXY($this->GetX() + $w[0] + ($delivery ? 15 : 0), $this->GetY() - $lineSize);
                   $this->Cell($w[++$i], $lineSize, ($product['product_reference'] ? $product['product_reference'] : '--'), 'B');
                   if (!$delivery)
                       $this->Cell($w[++$i], $lineSize, (self::$orderSlip ? '-' : '').self::convertSign(Tools::displayPrice($unit_price, self::$currency, true, false)), 'B', 0, 'R');
                   $this->Cell($w[++$i], $lineSize, $productQuantity, 'B', 0, 'C');
                   if (!$delivery)
                       $this->Cell($w[++$i], $lineSize, (self::$orderSlip ? '-' : '').self::convertSign(Tools::displayPrice($final_price, self::$currency, true, false)), 'B', 0, 'R');
                   $this->Ln();
               }



and change it to:

                if ($productQuantity)
               {
                   $before = $this->GetY();
                   $this->MultiCell($w[++$i], 5, Tools::iconv('utf-8', self::encoding(), $product['product_name']), 'B');
                   $lineSize = $this->GetY() - $before;
                   $this->SetXY($this->GetX() + $w[0] + ($delivery ? 15 : 0), $this->GetY() - $lineSize);
                   if (!$delivery)
                       $this->Cell($w[++$i], $lineSize, ($product['product_reference'] ? $product['product_reference'] : '--'), 'B');
                   if (!$delivery)
                       $this->Cell($w[++$i], $lineSize, (self::$orderSlip ? '-' : '').self::convertSign(Tools::displayPrice($unit_price, self::$currency, true, false)), 'B', 0, 'R');
                   $this->Cell($w[++$i], $lineSize, $productQuantity, 'B', 0, 'C');
                   if (!$delivery)
                       $this->Cell($w[++$i], $lineSize, (self::$orderSlip ? '-' : '').self::convertSign(Tools::displayPrice($final_price, self::$currency, true, false)), 'B', 0, 'R');
                   if ($delivery)
                       $this->Cell($w[++$i], $lineSize, '', 'B');
                   $this->Ln();
               }




Have fun!

Link to comment
Share on other sites

×
×
  • Create New...