public function executeStockRow(sfWebRequest $request) { $this->forward404Unless($rt_shop_product = Doctrine::getTable('rtShopProduct')->find(array($request->getParameter('id'))), sprintf('Object rt_shop_product does not exist (%s).', $request->getParameter('id'))); $this->rt_shop_product = $rt_shop_product; $newRows = $request->getParameter('count'); $this->attributes = $this->attributes = Doctrine::getTable('rtShopAttribute')->findByProductId($rt_shop_product->getId()); $rt_shop_stock = new rtShopStock(); $rt_shop_stock->setProductId($rt_shop_product->getId()); $stock_form = new rtShopStockForm($rt_shop_stock, array('name_format' => 'rt_shop_product[newStocks][' . $newRows . '][%s]')); $this->setLayout(false); sfConfig::set('sf_debug', false); $this->stock_form = $stock_form; }
$var2->setTitle('B1'); $var2->setAttributeId($att2->getId()); $var2->setPosition(1); $var2->save(); } catch (Exception $e) { throw new sfException('Variations could not be added! Please check.'); } // Stocks try { $stock1 = new rtShopStock(); $stock1->setProductId($prod1->getId()); $stock1->setQuantity(5); $stock1->setSku(mt_rand(1, 100000)); $stock1->setPriceRetail(40); $stock1->save(); $stock2 = new rtShopStock(); $stock2->setProductId($prod2->getId()); $stock2->setQuantity(5); $stock2->setSku(mt_rand(1, 100000)); $stock2->setPriceRetail(40); $stock2->setPricePromotion(30); $stock2->save(); } catch (Exception $e) { throw new sfException('Stocks could not be added! Please check.'); } // Stock to variation try { $stock1tovar1 = new rtShopStockToVariation(); $stock1tovar1->setStockId($stock1->getId()); $stock1tovar1->setVariationId($var1->getId()); $stock1tovar1->save();
$var4->setAttributeId($att2->getId()); $var4->setPosition(2); $var4->save(); $t->pass('->save() on a rtShopVariation object works'); } catch (Exception $e) { $t->fail('->save() on a rtShopVariation failed!'); } // Add stocks try { $stock1 = new rtShopStock(); $stock1->setProductId($prod1->getId()); $stock1->setQuantity(5); $stock1->setSku(mt_rand(1, 10000)); $stock1->setPriceRetail(100); $stock1->save(); $stock2 = new rtShopStock(); $stock2->setProductId($prod2->getId()); $stock2->setQuantity(5); $stock2->setSku(mt_rand(1, 10000)); $stock2->setPriceRetail(200); $stock2->save(); $t->pass('->save() on a rtShopStock object works'); } catch (Exception $e) { $t->fail('->save() on a rtShopStock failed!'); } // Add stock to variation try { $stock1tovar1 = new rtShopStockToVariation(); $stock1tovar1->setStockId($stock1->getId()); $stock1tovar1->setVariationId($var1->getId()); $stock1tovar1->save();
$stock4->save(); $stock5 = new rtShopStock(); $stock5->setProductId($prod5->getId()); $stock5->setQuantity(5); $stock5->setSku(mt_rand(1, 100000)); $stock5->setPriceRetail(40); $stock5->setPricePromotion(30); $stock5->save(); $stock6 = new rtShopStock(); $stock6->setProductId($prod6->getId()); $stock6->setQuantity(5); $stock6->setSku(mt_rand(1, 100000)); $stock6->setPriceRetail(40); $stock6->setPricePromotion(30); $stock6->save(); $stock7 = new rtShopStock(); $stock7->setProductId($prod7->getId()); $stock7->setQuantity(5); $stock7->setSku(mt_rand(1, 100000)); $stock7->setPriceRetail(40); $stock7->setPricePromotion(38); $stock7->save(); } catch (Exception $e) { throw new sfException('Stocks could not be added! Please check.'); } try { $stock1tovar1 = new rtShopStockToVariation(); $stock1tovar1->setStockId($stock1->getId()); $stock1tovar1->setVariationId($var1->getId()); $stock1tovar1->save(); $stock1tovar2 = new rtShopStockToVariation();
} if (sfConfig::has('app_rt_shop_shipping_charges')) { sfConfig::set('app_rt_shop_shipping_charges', array()); } $t->diag('-----------------------------------------------------------------------------'); $t->diag('0. Check toolkit class'); $t->diag('-----------------------------------------------------------------------------'); $o1 = new rtShopStockTestTools(); $t->isa_ok($o1, 'rtShopStockTestTools', '->class() rtShopStockTestTools object is available'); // Clean up unset($o1); $t->diag('-----------------------------------------------------------------------------'); $t->diag('1. Empty save shouldn\'t fail'); $t->diag('-----------------------------------------------------------------------------'); try { $i1 = new rtShopStock(); $i1->save(); $t->pass('->save() rtShopStock allows empty saves'); $i1->delete(); } catch (Exception $e) { $t->fail('->save() throws an Exception!'); } // Clean up unset($i1); // Fixtures path $fixtures_path = sfConfig::get('sf_plugins_dir') . '/rtShopPlugin/test/fixtures'; // Check that fixtures direcory abvailable if (is_dir($fixtures_path)) { try { rtShopStockTestTools::clean(); Doctrine_Core::loadData($fixtures_path);
/** * Check if stock exists, and redirect back to product if there are any issues. * * @param rtShopStock $rt_shop_stock */ private function checkIfStockIsAvailable(rtShopStock $rt_shop_stock) { if (!$rt_shop_stock) { $this->getUser()->setFlash('error', 'We don\'t seem to have any stock available for that selection.'); $this->redirect('rt_shop_product_show', $rt_shop_stock->getRtShopProduct()); } }