mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-12 04:23:19 +00:00
Basket refactor
This commit is contained in:
@@ -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)
|
||||
{
|
||||
|
@@ -124,14 +124,6 @@ switch ($action)
|
||||
$output = query_phrasea::mail_request($parm['user'], $parm['contrib'], $parm['message'], $parm['query']);
|
||||
break;
|
||||
|
||||
|
||||
case 'SAVE_ORDER_DATAS':
|
||||
$parm = $request->get_parms('ssel_id', 'value');
|
||||
$basket = basket_adapter::getInstance($appbox, $parm['ssel_id'], $usr_id);
|
||||
$output = $basket->saveOrderDatas($parm['value']);
|
||||
break;
|
||||
|
||||
|
||||
case 'DENY_CGU':
|
||||
$parm = $request->get_parms('sbas_id');
|
||||
$output = databox_cgu::denyCgus($parm['sbas_id']);
|
||||
@@ -200,14 +192,7 @@ switch ($action)
|
||||
$output = $twig->render('prod/preview/reg_train.html', array('container_records' => $record->get_container()->get_children(),
|
||||
'record' => $record, 'GV_rollover_reg_preview' => $registry->get('GV_rollover_reg_preview')));
|
||||
break;
|
||||
case 'UNFIX':
|
||||
$parm = $request->get_parms('lst');
|
||||
$output = basket_adapter::unfix_grouping($parm['lst']);
|
||||
break;
|
||||
case 'FIX':
|
||||
$parm = $request->get_parms('lst');
|
||||
$output = basket_adapter::fix_grouping($parm['lst']);
|
||||
break;
|
||||
|
||||
case 'ADDIMGT2CHU':
|
||||
case 'ADDCHU2CHU':
|
||||
case 'ADDREG2CHU':
|
||||
|
@@ -15,7 +15,7 @@
|
||||
* @link www.phraseanet.com
|
||||
*/
|
||||
define('ZFONT', 'freesans');
|
||||
require_once __DIR__ . "/../../lib/bootstrap.php";
|
||||
$Core = require_once __DIR__ . "/../../lib/bootstrap.php";
|
||||
$appbox = appbox::get_instance();
|
||||
$session = $appbox->get_session();
|
||||
$registry = $appbox->get_registry();
|
||||
@@ -82,12 +82,19 @@ if ($act == "STEP2")
|
||||
{
|
||||
$num = 0;
|
||||
|
||||
|
||||
if ($parm['SSTTID'] != '')
|
||||
{
|
||||
$basket = basket_adapter::getInstance($appbox, $parm['SSTTID'], $usr_id);
|
||||
$em = $Core->getEntityManager();
|
||||
$repository = $em->getRepository('\Entities\Basket');
|
||||
|
||||
$basket = $repository->findUserBasket($Core->getRequest()->get('SSTTID'), $Core->getAuthenticatedUser());
|
||||
|
||||
$lst = array();
|
||||
foreach ($basket->get_elements() as $basket_element)
|
||||
$lst[] = $basket_element->get_record()->get_serialize_key();
|
||||
foreach ($basket->getElements() as $basket_element)
|
||||
{
|
||||
$lst[] = $basket_element->getRecord()->get_serialize_key();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -603,40 +610,46 @@ if ($act == "SEND")
|
||||
{
|
||||
$lst = array_reverse($push_datas[$parm['token']]['lst']);
|
||||
|
||||
$basket = basket_adapter::create($appbox, $parm["nameBask"], $user);
|
||||
$basket->set_unread();
|
||||
$basket->push_list($lst, false);
|
||||
$basket->flatten();
|
||||
$ssel_id = $basket->get_ssel_id();
|
||||
$em = $Core->getEntityManager();
|
||||
|
||||
$basket = new \Entities\Basket();
|
||||
$basket->setName($Core->getRequest()->get('nameBask'));
|
||||
$basket->setIsRead(false);
|
||||
|
||||
$em->persist($basket);
|
||||
|
||||
foreach($lst as $basrec)
|
||||
{
|
||||
$basrec = explode('_', $basrec);
|
||||
|
||||
$record = new record_adapter($basrec[0], $basrec[1]);
|
||||
$basket_element = new Entities\BasketElement();
|
||||
$basket_element->setRecord($record);
|
||||
$basket_element->setBasket($basket);
|
||||
$basket->addBasketElement($basket_element);
|
||||
|
||||
$em->persist($basket_element);
|
||||
}
|
||||
|
||||
$em->flush();
|
||||
|
||||
$ssel_id = $basket->getId();
|
||||
|
||||
$outinfos = _('prod::push: votre nouveau panier a ete cree avec succes ; il contient vos documents de validation');
|
||||
}
|
||||
else
|
||||
{
|
||||
$basket = basket_adapter::getInstance($appbox, $ssel_id, $usr_id);
|
||||
$em = $Core->getEntityManager();
|
||||
$repository = $em->getRepository('\Entities\Basket');
|
||||
|
||||
if ($basket->is_grouping())
|
||||
{
|
||||
$elements = $basket->get_elements();
|
||||
$basket = basket_adapter::create($appbox, $basket->get_name(), $user);
|
||||
$basket = $repository->findUserBasket($ssel_id, $Core->getAuthenticatedUser());
|
||||
|
||||
foreach ($elements as $record)
|
||||
{
|
||||
$basket->push_element($record, false, false);
|
||||
}
|
||||
|
||||
unset($elements);
|
||||
|
||||
$ssel_id = $basket->get_ssel_id();
|
||||
}
|
||||
|
||||
$basket->flatten();
|
||||
$ssel_id = $basket->getId();
|
||||
}
|
||||
|
||||
|
||||
$my_link = '';
|
||||
if ($ssel_id && is_numeric($ssel_id))
|
||||
{
|
||||
|
||||
$lstUsrs = $push_datas[$parm['token']]['usrs'];
|
||||
$users = array();
|
||||
foreach ($lstUsrs as $usr => $right)
|
||||
@@ -647,7 +660,7 @@ if ($act == "SEND")
|
||||
if (!array_key_exists($session->get_usr_id(), $lstUsrs))
|
||||
$users[$session->get_usr_id()] = array('canHD' => '0', 'canRate' => '0', 'canAgree' => '1', 'canSeeOther' => '1', 'canZone' => '0');
|
||||
|
||||
$push = pushValidation($usr_id, $ssel_id, $users, $parm['timValS'], $parm["textmail"], $parm['accuse']);
|
||||
$push = pushValidation($usr_id, $basket->getId(), $users, $parm['timValS'], $parm["textmail"], $parm['accuse']);
|
||||
$my_link = $push['mylink'];
|
||||
|
||||
|
||||
@@ -655,10 +668,9 @@ if ($act == "SEND")
|
||||
|
||||
$lstbyBase = array();
|
||||
|
||||
$basket = basket_adapter::getInstance($appbox, $ssel_id, $usr_id);
|
||||
foreach ($basket as $basket_element)
|
||||
foreach ($basket->getElements() as $basket_element)
|
||||
{
|
||||
$record = $basket_element->get_record();
|
||||
$record = $basket_element->getRecord();
|
||||
$lstbyBase[$record->get_sbas_id()][] = $record->get_record_id();
|
||||
}
|
||||
|
||||
@@ -675,7 +687,6 @@ if ($act == "SEND")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (isset($outinfos))
|
||||
echo "<div style='text-align:center;margin-top:20px;'>" . $outinfos . "</div>";
|
||||
|
Reference in New Issue
Block a user