public function executeGeneratePurchase(sfWebRequest $request)
 {
     $invoice = Doctrine_Query::create()->from('Invoice i')->where('i.id = ' . $request->getParameter('id'))->fetchOne();
     //create purchase
     $purchase = new Purchase();
     $purchase->setDate(date("Y-m-d"));
     $purchase->setPono(date('h:i:s a'));
     $purchase->save();
     //create purchase details
     foreach ($invoice->getInvoicedetail() as $invdetail) {
         $purchdetail = new PurchaseDetail();
         $purchdetail->setPurchaseId($purchase->getId());
         $purchdetail->setProductId($invdetail->getProductId());
         $purchdetail->setDescription($invdetail->getProduct()->getName());
         $purchdetail->setQty($invdetail->getQty());
         $purchdetail->setPrice(0);
         $purchdetail->setTotal(0);
         $purchdetail->setUnittotal(0);
         $purchdetail->save();
         $purchdetail->updateStockentry();
     }
     $this->redirect("purchase/view?id=" . $purchase->getId());
 }