mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-16 14:33:14 +00:00
Refactor caption_field
This commit is contained in:
@@ -609,14 +609,17 @@ class ApiJsonApplication extends PhraseanetWebTestCaseAbstract
|
|||||||
*/
|
*/
|
||||||
foreach ($caption->get_fields() as $field)
|
foreach ($caption->get_fields() as $field)
|
||||||
{
|
{
|
||||||
$old_datas[$field->get_meta_id()] = $field->get_value();
|
foreach($field->get_values() as $value)
|
||||||
if ($field->is_readonly() === false && $field->is_multi() === false)
|
|
||||||
{
|
{
|
||||||
$toupdate[$field->get_meta_id()] = array(
|
$old_datas[$value->getId()] = $value->getValue();
|
||||||
'meta_struct_id' => $field->get_meta_struct_id(),
|
if ($field->is_readonly() === false && $field->is_multi() === false)
|
||||||
'meta_id' => $field->get_meta_id(),
|
{
|
||||||
'value' => array($field->get_value() . ' test')
|
$toupdate[$value->getId()] = array(
|
||||||
);
|
'meta_struct_id' => $field->get_meta_struct_id(),
|
||||||
|
'meta_id' => $value->getId(),
|
||||||
|
'value' => array($value->getValue() . ' test')
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$this->evaluateMethodNotAllowedRoute($route, array('GET', 'PUT', 'DELETE'));
|
$this->evaluateMethodNotAllowedRoute($route, array('GET', 'PUT', 'DELETE'));
|
||||||
@@ -634,11 +637,13 @@ class ApiJsonApplication extends PhraseanetWebTestCaseAbstract
|
|||||||
|
|
||||||
foreach ($caption->get_fields() as $field)
|
foreach ($caption->get_fields() as $field)
|
||||||
{
|
{
|
||||||
|
foreach($field->get_values() as $value)
|
||||||
if ($field->is_readonly() === false && $field->is_multi() === false)
|
|
||||||
{
|
{
|
||||||
$saved_value = $toupdate[$field->get_meta_id()]['value'][0];
|
if ($field->is_readonly() === false && $field->is_multi() === false)
|
||||||
$this->assertEquals($field->get_value(), $saved_value);
|
{
|
||||||
|
$saved_value = $toupdate[$value->getId()]['value'][0];
|
||||||
|
$this->assertEquals($value->getValue(), $saved_value);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$this->evaluateRecordsMetadataResponse($content);
|
$this->evaluateRecordsMetadataResponse($content);
|
||||||
|
@@ -616,14 +616,17 @@ class ApiYamlApplication extends PhraseanetWebTestCaseAbstract
|
|||||||
*/
|
*/
|
||||||
foreach ($caption->get_fields() as $field)
|
foreach ($caption->get_fields() as $field)
|
||||||
{
|
{
|
||||||
$old_datas[$field->get_meta_id()] = $field->get_value();
|
foreach($field->get_values() as $value)
|
||||||
if ($field->is_readonly() === false && $field->is_multi() === false)
|
|
||||||
{
|
{
|
||||||
$toupdate[$field->get_meta_id()] = array(
|
$old_datas[$value->getId()] = $field->get_value();
|
||||||
'meta_struct_id' => $field->get_meta_struct_id(),
|
if ($field->is_readonly() === false && $field->is_multi() === false)
|
||||||
'meta_id' => $field->get_meta_id(),
|
{
|
||||||
'value' => array($field->get_value() . ' test')
|
$toupdate[$value->getId()] = array(
|
||||||
);
|
'meta_struct_id' => $field->get_meta_struct_id(),
|
||||||
|
'meta_id' => $value->getId(),
|
||||||
|
'value' => array($value->getValue() . ' test')
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$this->evaluateMethodNotAllowedRoute($route, array('GET', 'PUT', 'DELETE'));
|
$this->evaluateMethodNotAllowedRoute($route, array('GET', 'PUT', 'DELETE'));
|
||||||
@@ -641,11 +644,13 @@ class ApiYamlApplication extends PhraseanetWebTestCaseAbstract
|
|||||||
|
|
||||||
foreach ($caption->get_fields() as $field)
|
foreach ($caption->get_fields() as $field)
|
||||||
{
|
{
|
||||||
|
foreach($field->get_values() as $value)
|
||||||
if ($field->is_readonly() === false && $field->is_multi() === false)
|
|
||||||
{
|
{
|
||||||
$saved_value = $toupdate[$field->get_meta_id()]['value'][0];
|
if ($field->is_readonly() === false && $field->is_multi() === false)
|
||||||
$this->assertEquals($field->get_value(), $saved_value);
|
{
|
||||||
|
$saved_value = $toupdate[$value->getId()]['value'][0];
|
||||||
|
$this->assertEquals($value->getValue(), $saved_value);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$this->evaluateRecordsMetadataResponse($content);
|
$this->evaluateRecordsMetadataResponse($content);
|
||||||
|
@@ -249,11 +249,15 @@ class API_V1_adapterTest extends PhraseanetPHPUnitAuthenticatedAbstract
|
|||||||
$metadatas = array();
|
$metadatas = array();
|
||||||
foreach (self::$record_1->get_caption()->get_fields() as $field)
|
foreach (self::$record_1->get_caption()->get_fields() as $field)
|
||||||
{
|
{
|
||||||
$metadatas[] = array(
|
$values = $field->get_values();
|
||||||
'meta_id' => $field->get_meta_id()
|
foreach($values as $value)
|
||||||
, 'meta_struct_id' => $field->get_meta_struct_id()
|
{
|
||||||
, 'value' => $field->get_value()
|
$metadatas[] = array(
|
||||||
);
|
'meta_id' => $value->getId()
|
||||||
|
, 'meta_struct_id' => $field->get_meta_struct_id()
|
||||||
|
, 'value' => $value->getValue()
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$metadatas = array_shift($metadatas);
|
$metadatas = array_shift($metadatas);
|
||||||
|
@@ -14,20 +14,20 @@ class record_adapterTest extends PhraseanetPHPUnitAuthenticatedAbstract
|
|||||||
*/
|
*/
|
||||||
protected static $grouping;
|
protected static $grouping;
|
||||||
protected static $need_records = true;
|
protected static $need_records = true;
|
||||||
protected static $need_story = true;
|
protected static $need_story = true;
|
||||||
protected static $need_subdefs = true;
|
protected static $need_subdefs = true;
|
||||||
|
|
||||||
public static function setUpBeforeClass()
|
public static function setUpBeforeClass()
|
||||||
{
|
{
|
||||||
parent::setUpBeforeClass();
|
parent::setUpBeforeClass();
|
||||||
$system_file = self::$record_1->get_hd_file();
|
$system_file = self::$record_1->get_hd_file();
|
||||||
$databox = self::$record_1->get_databox();
|
$databox = self::$record_1->get_databox();
|
||||||
$metadatas = $system_file->extract_metadatas($databox->get_meta_structure());
|
$metadatas = $system_file->extract_metadatas($databox->get_meta_structure());
|
||||||
static::$record_1->set_metadatas($metadatas['metadatas']);
|
static::$record_1->set_metadatas($metadatas['metadatas']);
|
||||||
|
|
||||||
$databox = self::$record_23->get_databox();
|
$databox = self::$record_23->get_databox();
|
||||||
$system_file = self::$record_23->get_hd_file();
|
$system_file = self::$record_23->get_hd_file();
|
||||||
$metadatas = $system_file->extract_metadatas($databox->get_meta_structure());
|
$metadatas = $system_file->extract_metadatas($databox->get_meta_structure());
|
||||||
static::$record_23->set_metadatas($metadatas['metadatas']);
|
static::$record_23->set_metadatas($metadatas['metadatas']);
|
||||||
|
|
||||||
$system_file = new system_file(__DIR__ . '/../testfiles/cestlafete.jpg');
|
$system_file = new system_file(__DIR__ . '/../testfiles/cestlafete.jpg');
|
||||||
@@ -38,7 +38,6 @@ class record_adapterTest extends PhraseanetPHPUnitAuthenticatedAbstract
|
|||||||
parent::tearDownAfterClass();
|
parent::tearDownAfterClass();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public function testGet_creation_date()
|
public function testGet_creation_date()
|
||||||
{
|
{
|
||||||
$date_obj = new DateTime();
|
$date_obj = new DateTime();
|
||||||
@@ -89,7 +88,7 @@ class record_adapterTest extends PhraseanetPHPUnitAuthenticatedAbstract
|
|||||||
}
|
}
|
||||||
catch (Exception $e)
|
catch (Exception $e)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
$old_type = self::$record_1->get_type();
|
$old_type = self::$record_1->get_type();
|
||||||
self::$record_1->set_type('video');
|
self::$record_1->set_type('video');
|
||||||
@@ -137,7 +136,7 @@ class record_adapterTest extends PhraseanetPHPUnitAuthenticatedAbstract
|
|||||||
{
|
{
|
||||||
// Remove the following lines when you implement this test.
|
// Remove the following lines when you implement this test.
|
||||||
$this->markTestIncomplete(
|
$this->markTestIncomplete(
|
||||||
'This test has not been implemented yet.'
|
'This test has not been implemented yet.'
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -166,10 +165,9 @@ class record_adapterTest extends PhraseanetPHPUnitAuthenticatedAbstract
|
|||||||
|
|
||||||
public function testGenerate_subdefs()
|
public function testGenerate_subdefs()
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public function testGet_sha256()
|
public function testGet_sha256()
|
||||||
{
|
{
|
||||||
$this->assertNotNull(static::$record_1->get_sha256());
|
$this->assertNotNull(static::$record_1->get_sha256());
|
||||||
@@ -180,13 +178,13 @@ class record_adapterTest extends PhraseanetPHPUnitAuthenticatedAbstract
|
|||||||
public function testGet_mime()
|
public function testGet_mime()
|
||||||
{
|
{
|
||||||
$appbox = appbox::get_instance();
|
$appbox = appbox::get_instance();
|
||||||
$found = $coll = false;
|
$found = $coll = false;
|
||||||
foreach ($appbox->get_databoxes() as $databox)
|
foreach ($appbox->get_databoxes() as $databox)
|
||||||
{
|
{
|
||||||
foreach ($databox->get_collections() as $collection)
|
foreach ($databox->get_collections() as $collection)
|
||||||
{
|
{
|
||||||
$found = true;
|
$found = true;
|
||||||
$coll = $collection;
|
$coll = $collection;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if ($found)
|
if ($found)
|
||||||
@@ -234,7 +232,7 @@ class record_adapterTest extends PhraseanetPHPUnitAuthenticatedAbstract
|
|||||||
{
|
{
|
||||||
// Remove the following lines when you implement this test.
|
// Remove the following lines when you implement this test.
|
||||||
$this->markTestIncomplete(
|
$this->markTestIncomplete(
|
||||||
'This test has not been implemented yet.'
|
'This test has not been implemented yet.'
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -297,7 +295,7 @@ class record_adapterTest extends PhraseanetPHPUnitAuthenticatedAbstract
|
|||||||
{
|
{
|
||||||
// Remove the following lines when you implement this test.
|
// Remove the following lines when you implement this test.
|
||||||
$this->markTestIncomplete(
|
$this->markTestIncomplete(
|
||||||
'This test has not been implemented yet.'
|
'This test has not been implemented yet.'
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -311,15 +309,62 @@ class record_adapterTest extends PhraseanetPHPUnitAuthenticatedAbstract
|
|||||||
foreach ($meta_structure_el as $meta_el)
|
foreach ($meta_structure_el as $meta_el)
|
||||||
{
|
{
|
||||||
$current_fields = $current_caption->get_fields(array($meta_el->get_name()));
|
$current_fields = $current_caption->get_fields(array($meta_el->get_name()));
|
||||||
$meta_id = null;
|
|
||||||
|
$field = null;
|
||||||
|
|
||||||
if (count($current_fields) > 0)
|
if (count($current_fields) > 0)
|
||||||
{
|
{
|
||||||
$meta_id = $current_fields[0]->get_meta_id();
|
$field = array_pop($current_fields);
|
||||||
|
}
|
||||||
|
|
||||||
|
if($meta_el->is_multi())
|
||||||
|
{
|
||||||
|
if($field)
|
||||||
|
{
|
||||||
|
foreach($field->get_values() as $value)
|
||||||
|
{
|
||||||
|
$metadatas[] = array(
|
||||||
|
'meta_struct_id' => $meta_el->get_id()
|
||||||
|
, 'meta_id' => $value->getId()
|
||||||
|
, 'value' => ''
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$metadatas[] = array(
|
||||||
|
'meta_struct_id' => $meta_el->get_id()
|
||||||
|
, 'meta_id' => null
|
||||||
|
, 'value' => 'un'
|
||||||
|
);
|
||||||
|
$metadatas[] = array(
|
||||||
|
'meta_struct_id' => $meta_el->get_id()
|
||||||
|
, 'meta_id' => null
|
||||||
|
, 'value' => 'jeu'
|
||||||
|
);
|
||||||
|
$metadatas[] = array(
|
||||||
|
'meta_struct_id' => $meta_el->get_id()
|
||||||
|
, 'meta_id' => null
|
||||||
|
, 'value' => 'de'
|
||||||
|
);
|
||||||
|
$metadatas[] = array(
|
||||||
|
'meta_struct_id' => $meta_el->get_id()
|
||||||
|
, 'meta_id' => null
|
||||||
|
, 'value' => 'mots'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if($field)
|
||||||
|
{
|
||||||
|
$meta_id = array_pop($field->get_values())->getId();
|
||||||
|
}
|
||||||
|
|
||||||
|
$metadatas[] = array(
|
||||||
|
'meta_struct_id' => $meta_el->get_id()
|
||||||
|
, 'meta_id' => $meta_id
|
||||||
|
, 'value' => 'un jeu de test'
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
$value = $meta_el->is_multi() ? array('un', 'jeu', 'de', 'test') : array('un jeu de test');
|
|
||||||
|
|
||||||
$metadatas[] = array('meta_struct_id' => $meta_el->get_id(), 'meta_id' => $meta_id, 'value' => $value);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
self::$record_1->set_metadatas($metadatas);
|
self::$record_1->set_metadatas($metadatas);
|
||||||
@@ -350,12 +395,12 @@ class record_adapterTest extends PhraseanetPHPUnitAuthenticatedAbstract
|
|||||||
public function testReindex()
|
public function testReindex()
|
||||||
{
|
{
|
||||||
self::$record_1->reindex();
|
self::$record_1->reindex();
|
||||||
$sql = 'SELECT record_id FROM record
|
$sql = 'SELECT record_id FROM record
|
||||||
WHERE (status & 7) IN (4,5,6) AND record_id = :record_id';
|
WHERE (status & 7) IN (4,5,6) AND record_id = :record_id';
|
||||||
$stmt = self::$record_1->get_databox()->get_connection()->prepare($sql);
|
$stmt = self::$record_1->get_databox()->get_connection()->prepare($sql);
|
||||||
|
|
||||||
$stmt->execute(array(':record_id' => self::$record_1->get_record_id()));
|
$stmt->execute(array(':record_id' => self::$record_1->get_record_id()));
|
||||||
$row = $stmt->fetch(PDO::FETCH_ASSOC);
|
$row = $stmt->fetch(PDO::FETCH_ASSOC);
|
||||||
$stmt->closeCursor();
|
$stmt->closeCursor();
|
||||||
|
|
||||||
if (!$row)
|
if (!$row)
|
||||||
@@ -368,14 +413,14 @@ class record_adapterTest extends PhraseanetPHPUnitAuthenticatedAbstract
|
|||||||
{
|
{
|
||||||
|
|
||||||
self::$record_1->rebuild_subdefs();
|
self::$record_1->rebuild_subdefs();
|
||||||
$sql = 'SELECT record_id
|
$sql = 'SELECT record_id
|
||||||
FROM record
|
FROM record
|
||||||
WHERE jeton & ' . JETON_MAKE_SUBDEF . ' > 0
|
WHERE jeton & ' . JETON_MAKE_SUBDEF . ' > 0
|
||||||
AND record_id = :record_id';
|
AND record_id = :record_id';
|
||||||
$stmt = self::$record_1->get_databox()->get_connection()->prepare($sql);
|
$stmt = self::$record_1->get_databox()->get_connection()->prepare($sql);
|
||||||
|
|
||||||
$stmt->execute(array(':record_id' => self::$record_1->get_record_id()));
|
$stmt->execute(array(':record_id' => self::$record_1->get_record_id()));
|
||||||
$row = $stmt->fetch(PDO::FETCH_ASSOC);
|
$row = $stmt->fetch(PDO::FETCH_ASSOC);
|
||||||
$stmt->closeCursor();
|
$stmt->closeCursor();
|
||||||
|
|
||||||
if (!$row)
|
if (!$row)
|
||||||
@@ -387,13 +432,13 @@ class record_adapterTest extends PhraseanetPHPUnitAuthenticatedAbstract
|
|||||||
public function testWrite_metas()
|
public function testWrite_metas()
|
||||||
{
|
{
|
||||||
self::$record_1->write_metas();
|
self::$record_1->write_metas();
|
||||||
$sql = 'SELECT record_id, coll_id, jeton
|
$sql = 'SELECT record_id, coll_id, jeton
|
||||||
FROM record WHERE (jeton & ' . JETON_WRITE_META . ' > 0)
|
FROM record WHERE (jeton & ' . JETON_WRITE_META . ' > 0)
|
||||||
AND record_id = :record_id';
|
AND record_id = :record_id';
|
||||||
$stmt = self::$record_1->get_databox()->get_connection()->prepare($sql);
|
$stmt = self::$record_1->get_databox()->get_connection()->prepare($sql);
|
||||||
|
|
||||||
$stmt->execute(array(':record_id' => self::$record_1->get_record_id()));
|
$stmt->execute(array(':record_id' => self::$record_1->get_record_id()));
|
||||||
$row = $stmt->fetch(PDO::FETCH_ASSOC);
|
$row = $stmt->fetch(PDO::FETCH_ASSOC);
|
||||||
$stmt->closeCursor();
|
$stmt->closeCursor();
|
||||||
|
|
||||||
if (!$row)
|
if (!$row)
|
||||||
@@ -409,7 +454,7 @@ class record_adapterTest extends PhraseanetPHPUnitAuthenticatedAbstract
|
|||||||
{
|
{
|
||||||
// Remove the following lines when you implement this test.
|
// Remove the following lines when you implement this test.
|
||||||
$this->markTestIncomplete(
|
$this->markTestIncomplete(
|
||||||
'This test has not been implemented yet.'
|
'This test has not been implemented yet.'
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -453,7 +498,7 @@ class record_adapterTest extends PhraseanetPHPUnitAuthenticatedAbstract
|
|||||||
{
|
{
|
||||||
// Remove the following lines when you implement this test.
|
// Remove the following lines when you implement this test.
|
||||||
$this->markTestIncomplete(
|
$this->markTestIncomplete(
|
||||||
'This test has not been implemented yet.'
|
'This test has not been implemented yet.'
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -461,7 +506,7 @@ class record_adapterTest extends PhraseanetPHPUnitAuthenticatedAbstract
|
|||||||
{
|
{
|
||||||
// Remove the following lines when you implement this test.
|
// Remove the following lines when you implement this test.
|
||||||
$this->markTestIncomplete(
|
$this->markTestIncomplete(
|
||||||
'This test has not been implemented yet.'
|
'This test has not been implemented yet.'
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -472,28 +517,28 @@ class record_adapterTest extends PhraseanetPHPUnitAuthenticatedAbstract
|
|||||||
{
|
{
|
||||||
$appbox = appbox::get_instance();
|
$appbox = appbox::get_instance();
|
||||||
$usr_id = $appbox->get_session()->get_usr_id();
|
$usr_id = $appbox->get_session()->get_usr_id();
|
||||||
|
|
||||||
$em = self::$core->getEntityManager();
|
$em = self::$core->getEntityManager();
|
||||||
|
|
||||||
$basket = $this->insertOneBasket();
|
$basket = $this->insertOneBasket();
|
||||||
$this->assertInstanceOf('\Entities\Basket', $basket);
|
$this->assertInstanceOf('\Entities\Basket', $basket);
|
||||||
|
|
||||||
/* @var $basket \Entities\Basket */
|
/* @var $basket \Entities\Basket */
|
||||||
$basket_element = new \Entities\BasketElement();
|
$basket_element = new \Entities\BasketElement();
|
||||||
$basket_element->setRecord(self::$record_1);
|
$basket_element->setRecord(self::$record_1);
|
||||||
$basket_element->setBasket($basket);
|
$basket_element->setBasket($basket);
|
||||||
|
|
||||||
$em->persist($basket_element);
|
|
||||||
|
|
||||||
$basket->addBasketElement($basket_element);
|
|
||||||
|
|
||||||
$em->merge($basket);
|
|
||||||
|
|
||||||
$em->flush();
|
|
||||||
|
|
||||||
$found = $sselcont_id = false;
|
|
||||||
|
|
||||||
$sbas_id = self::$record_1->get_sbas_id();
|
$em->persist($basket_element);
|
||||||
|
|
||||||
|
$basket->addBasketElement($basket_element);
|
||||||
|
|
||||||
|
$em->merge($basket);
|
||||||
|
|
||||||
|
$em->flush();
|
||||||
|
|
||||||
|
$found = $sselcont_id = false;
|
||||||
|
|
||||||
|
$sbas_id = self::$record_1->get_sbas_id();
|
||||||
$record_id = self::$record_1->get_record_id();
|
$record_id = self::$record_1->get_record_id();
|
||||||
|
|
||||||
foreach (self::$record_1->get_container_baskets() as $c_basket)
|
foreach (self::$record_1->get_container_baskets() as $c_basket)
|
||||||
@@ -512,7 +557,6 @@ class record_adapterTest extends PhraseanetPHPUnitAuthenticatedAbstract
|
|||||||
|
|
||||||
if (!$found)
|
if (!$found)
|
||||||
$this->fail();
|
$this->fail();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user