Basket refactor

This commit is contained in:
Romain Neutron
2011-12-27 19:16:55 +01:00
parent 1257da5d70
commit 5b0f93de05
3 changed files with 112 additions and 88 deletions

View File

@@ -1508,6 +1508,8 @@ function pushIt($usr, $newBask, $parmLST, $users, $mail_content, $lng, $accuse)
$reading_confirm_to = $me->get_email();
}
$em = $Core->getEntityManager();
foreach ($users as $oneuser => $rights)
{
$new_basket = null;
@@ -1517,20 +1519,40 @@ function pushIt($usr, $newBask, $parmLST, $users, $mail_content, $lng, $accuse)
$user = User_Adapter::getInstance($oneuser, $appbox);
$pusher = User_Adapter::getInstance($usr, $appbox);
$new_basket = basket_adapter::create($appbox, $newBask, $user, '', $pusher);
$new_basket->set_unread();
$new_basket = new \Entities\Basket();
$new_basket->setName($newBask);
$new_basket->setIsRead(false);
$new_basket->setPusher($pusher);
$new_basket->setOwner($user);
$em->persist($new_basket);
$nbchu++;
$new_basket->push_list($parmLST, false);
foreach($parmLST as $basrec)
{
$basrec = explode('_', $basrec);
$record = new record_adapter($basrec[0], $basrec[1]);
$BasketElement = new Entities\BasketElement();
$BasketElement->setRecord($record);
$BasketElement->setBasket($new_basket);
$em->persist($BasketElement);
$new_basket->addBasketElement($BasketElement);
}
$em->flush();
$finalUsers[] = $user->get_id();
$canSendHD = sendHdOk($usr, $parmLST);
foreach ($new_basket->get_elements() as $element)
foreach ($new_basket->getElements() as $element)
{
$record = $element->get_record();
$record = $element->getRecord();
if ($rights['canHD'] && in_array($record->get_base_id(), $canSendHD))
$user->ACL()->grant_hd_on($record, $me, 'push');
else
@@ -1558,7 +1580,7 @@ function pushIt($usr, $newBask, $parmLST, $users, $mail_content, $lng, $accuse)
, 'url' => $url
, 'accuse' => $reading_confirm_to
, 'message' => $mail_content
, 'ssel_id' => $new_basket->get_ssel_id()
, 'ssel_id' => $new_basket->getId()
);
@@ -1607,10 +1629,16 @@ function pushValidation($usr, $ssel_id, $listUsrs, $time, $mail_content, $accuse
$expires = null;
}
$em = $Core->getEntityManager();
$repository = $em->getRepository('\Entities\Basket');
$basket = $repository->findUserBasket($ssel_id, $Core->getAuthenticatedUser());
$basket = basket_adapter::getInstance($appbox, $ssel_id, $session->get_usr_id());
$basket->set_unread();
$basket->setIsRead(false);
$em->merge($basket);
$em->flush();
foreach ($listUsrs as $oneuser => $rights)
{