mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-14 21:43:18 +00:00
merge master
This commit is contained in:
@@ -1572,6 +1572,16 @@ class record_adapter implements record_Interface, cache_cacheableInterface
|
|||||||
$stmt->execute(array(':record_id' => $this->get_record_id()));
|
$stmt->execute(array(':record_id' => $this->get_record_id()));
|
||||||
$stmt->closeCursor();
|
$stmt->closeCursor();
|
||||||
|
|
||||||
|
$base_ids = array_map(function($collection) {
|
||||||
|
return $collection->get_base_id();
|
||||||
|
}, $this->databox->get_collections());
|
||||||
|
|
||||||
|
$sql = "DELETE FROM order_elements WHERE record_id = :record_id AND base_id IN (" . implode(', ', $base_ids) . ")";
|
||||||
|
$stmt = $conn->prepare($sql);
|
||||||
|
$stmt->execute(array(':record_id' => $this->get_record_id()));
|
||||||
|
$stmt->closeCursor();
|
||||||
|
|
||||||
|
|
||||||
$em = bootstrap::getCore()->getEntityManager();
|
$em = bootstrap::getCore()->getEntityManager();
|
||||||
|
|
||||||
$repository = $em->getRepository('\Entities\BasketElement');
|
$repository = $em->getRepository('\Entities\BasketElement');
|
||||||
|
@@ -24,6 +24,7 @@ class set_exportorder extends set_export
|
|||||||
* @param String $usage
|
* @param String $usage
|
||||||
* @param String $deadline
|
* @param String $deadline
|
||||||
* @return boolean
|
* @return boolean
|
||||||
|
* @return $order_id
|
||||||
*/
|
*/
|
||||||
public function order_available_elements($from_usr_id, $usage, $deadline)
|
public function order_available_elements($from_usr_id, $usage, $deadline)
|
||||||
{
|
{
|
||||||
@@ -96,7 +97,7 @@ class set_exportorder extends set_export
|
|||||||
|
|
||||||
$evt_mngr->trigger('__NEW_ORDER__', $params);
|
$evt_mngr->trigger('__NEW_ORDER__', $params);
|
||||||
|
|
||||||
return true;
|
return $order_id;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -106,10 +107,10 @@ class set_exportorder extends set_export
|
|||||||
protected function get_orderable_lst()
|
protected function get_orderable_lst()
|
||||||
{
|
{
|
||||||
$ret = array();
|
$ret = array();
|
||||||
foreach ($this as $basrec => $download_element) {
|
foreach ($this as $download_element) {
|
||||||
foreach ($download_element->get_orderable() as $name => $bool) {
|
foreach ($download_element->get_orderable() as $bool) {
|
||||||
if ($bool === true) {
|
if ($bool === true) {
|
||||||
$ret[] = $basrec;
|
$ret[] = $download_element->get_serialize_key();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -943,6 +943,8 @@ abstract class PhraseanetPHPUnitAbstract extends WebTestCase
|
|||||||
$base_id = $collection->get_base_id();
|
$base_id = $collection->get_base_id();
|
||||||
$user->ACL()->give_access_to_base(array($base_id));
|
$user->ACL()->give_access_to_base(array($base_id));
|
||||||
|
|
||||||
|
set_exportorder::set_order_admins(array($user->get_id()), $base_id);
|
||||||
|
|
||||||
$rights = array(
|
$rights = array(
|
||||||
'canputinalbum' => '1'
|
'canputinalbum' => '1'
|
||||||
, 'candwnldhd' => '1'
|
, 'candwnldhd' => '1'
|
||||||
|
@@ -46,6 +46,49 @@ class record_adapterTest extends PhraseanetPHPUnitAuthenticatedAbstract
|
|||||||
parent::tearDownAfterClass();
|
parent::tearDownAfterClass();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check whether a record is delete from order_elements when
|
||||||
|
* record::delete is call
|
||||||
|
* @covers \record_adapter
|
||||||
|
*/
|
||||||
|
public function testSetExport()
|
||||||
|
{
|
||||||
|
$recordsf = new system_file(__DIR__ . '/../testfiles/test001.CR2');
|
||||||
|
$record = record_adapter::create(self::$collection, $recordsf);
|
||||||
|
|
||||||
|
$basket = new \Entities\Basket();
|
||||||
|
|
||||||
|
$basket->setName('hello');
|
||||||
|
$basket->setOwner(self::$user);
|
||||||
|
$basket->setDescription('hello');
|
||||||
|
|
||||||
|
$em = self::$core->getEntityManager();
|
||||||
|
|
||||||
|
$basketElement = new \Entities\BasketElement();
|
||||||
|
|
||||||
|
$basketElement->setRecord($record);
|
||||||
|
$basketElement->setBasket($basket);
|
||||||
|
|
||||||
|
$em->persist($basketElement);
|
||||||
|
|
||||||
|
$basket->addBasketElement($basketElement);
|
||||||
|
|
||||||
|
$em->persist($basket);
|
||||||
|
$em->flush();
|
||||||
|
|
||||||
|
$export = new set_exportorder(self::$record_1->get_serialize_key(), $basket->getId());
|
||||||
|
|
||||||
|
$orderId = $export->order_available_elements(self::$user->get_id(), 'ahaha', '+2 hours');
|
||||||
|
|
||||||
|
$record->delete();
|
||||||
|
|
||||||
|
try {
|
||||||
|
$order = new set_order($orderId);
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
$this->fail('should not raise an exception' . $e->getMessage() . ' ' . $e->getLine() . ' ' . $e->getFile() . ' ' . $e->getTraceAsString());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public function testGet_creation_date()
|
public function testGet_creation_date()
|
||||||
{
|
{
|
||||||
$date_obj = new DateTime();
|
$date_obj = new DateTime();
|
||||||
|
Reference in New Issue
Block a user