Refactor basket_adapter

This commit is contained in:
Romain Neutron
2011-12-26 10:50:55 +01:00
parent 6a815c91da
commit 0e6757e2db
11 changed files with 107 additions and 133 deletions

View File

@@ -36,25 +36,31 @@ class set_export extends set_abstract
*/
public function __construct($lst, $sstid)
{
$Core = bootstrap::getCore();
$appbox = appbox::get_instance();
$session = $appbox->get_session();
$registry = $appbox->get_registry();
$user = User_Adapter::getInstance($session->get_usr_id(), $appbox);
$user = $Core->getAuthenticatedUser();
$download_list = array();
$remain_hd = array();
if ($sstid != "")
{
$basket = basket_adapter::getInstance($appbox, $sstid, $user->get_id());
$em = $Core->getEntityManager();
$repository = $em->getRepository('\Entities\Basket');
/* @var $repository \Repositories\BasketRepository */
$Basket = $repository->findUserBasket($sstid, $user);
foreach ($basket->get_elements() as $basket_element)
foreach ($Basket->getElements() as $basket_element)
{
$base_id = $basket_element->get_record()->get_base_id();
$record_id = $basket_element->get_record()->get_record_id();
/* @var $basket_element \Entities\BasketElement */
$base_id = $basket_element->getRecord()->get_base_id();
$record_id = $basket_element->getRecord()->get_record_id();
if (!isset($remain_hd[$base_id]))
{
@@ -70,7 +76,7 @@ class set_export extends set_abstract
$current_element = $download_list[] =
new record_exportElement(
$basket_element->get_record()->get_sbas_id(),
$basket_element->getRecord()->get_sbas_id(),
$record_id,
$basket->get_name() . '/',
$remain_hd[$base_id]

View File

@@ -219,19 +219,29 @@ class set_order extends set_abstract
}
}
try
$core = \bootstrap::getCore();
$em = $core->getEntityManager();
$repository = $em->getRepository('\Entities\Basket');
/* @var $repository \Repositories\BasketRepository */
$Basket = $repository->findUserBasket($this->ssel_id, $core->getAuthenticatedUser());
if(!$Basket)
{
$basket = basket_adapter::getInstance($appbox, $this->ssel_id, $session->get_usr_id());
}
catch (Exception $e)
{
$basket = basket_adapter::create($appbox, sprintf(_('Commande du %s'), $this->created_on->format('Y-m-d')), $this->user, '', $pusher);
$this->ssel_id = $basket->get_ssel_id();
$Basket = new Basket();
$Basket->setName(sprintf(_('Commande du %s'), $this->created_on->format('Y-m-d')));
$Basket->setOwner($this->user);
$Basket->setPusher($core->getAuthenticatedUser());
$em->persist($Basket);
$em->flush();
$this->ssel_id = $Basket->getId();
$sql = 'UPDATE `order` SET ssel_id = :ssel_id WHERE id = :order_id';
$stmt = $conn->prepare($sql);
$stmt->execute(array(':ssel_id' => $basket->get_ssel_id(), ':order_id' => $this->id));
$stmt->execute(array(':ssel_id' => $Basket->getId(), ':order_id' => $this->id));
$stmt->closeCursor();
}

View File

@@ -31,21 +31,14 @@ class set_selection extends set_abstract
/**
*
* @param basket_adapter $basket
* @param boolean $flatten_if_grouping
* @param \Entities\Basket $basket
* @return set_selection
*/
public function load_basket(basket_adapter $basket, $flatten_if_grouping = true)
public function load_basket(\Entities\Basket $Basket)
{
if ($basket->is_grouping() && !$flatten_if_grouping)
foreach ($Basket->getElements() as $basket_element)
{
$record = new record_adapter($basket->get_sbas_id(), $basket->get_record_id(), count($this->elements));
$this->add_element($record);
}
else
{
foreach ($basket->get_elements() as $basket_element)
$this->add_element($basket_element->get_record());
$this->add_element($basket_element->getRecord());
}
return $this;