mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-18 07:23:13 +00:00
Restore merge exceptions and add structure factory method
This commit is contained in:
@@ -205,7 +205,7 @@ class Field implements Typed
|
|||||||
// type so we reject only those with different types.
|
// type so we reject only those with different types.
|
||||||
|
|
||||||
if (($type = $other->getType()) !== $this->type) {
|
if (($type = $other->getType()) !== $this->type) {
|
||||||
//throw new MergeException(sprintf("Field %s can't be merged, incompatible types (%s vs %s)", $name, $type, $this->type));
|
throw new MergeException(sprintf("Field %s can't be merged, incompatible types (%s vs %s)", $name, $type, $this->type));
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($other->isPrivate() !== $this->is_private) {
|
if ($other->isPrivate() !== $this->is_private) {
|
||||||
@@ -217,7 +217,7 @@ class Field implements Typed
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ($other->getFacetValuesLimit() !== $this->facet) {
|
if ($other->getFacetValuesLimit() !== $this->facet) {
|
||||||
//throw new MergeException(sprintf("Field %s can't be merged, incompatible facet eligibility", $name));
|
throw new MergeException(sprintf("Field %s can't be merged, incompatible facet eligibility", $name));
|
||||||
}
|
}
|
||||||
|
|
||||||
$thesaurus_roots = null;
|
$thesaurus_roots = null;
|
||||||
|
@@ -46,7 +46,7 @@ final class GlobalStructure implements Structure
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @param \databox[] $databoxes
|
* @param \databox[] $databoxes
|
||||||
* @return self
|
* @return GlobalStructure
|
||||||
*/
|
*/
|
||||||
public static function createFromDataboxes(array $databoxes)
|
public static function createFromDataboxes(array $databoxes)
|
||||||
{
|
{
|
||||||
@@ -66,6 +66,26 @@ final class GlobalStructure implements Structure
|
|||||||
return new self($fields, $flags, MetadataHelper::createTags());
|
return new self($fields, $flags, MetadataHelper::createTags());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param \databox $databox
|
||||||
|
* @return GlobalStructure
|
||||||
|
*/
|
||||||
|
public static function createFromDatabox(\databox $databox)
|
||||||
|
{
|
||||||
|
$fields = [];
|
||||||
|
$flags = [];
|
||||||
|
|
||||||
|
foreach ($databox->get_meta_structure() as $fieldStructure) {
|
||||||
|
$fields[] = Field::createFromLegacyField($fieldStructure);
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach ($databox->getStatusStructure() as $status) {
|
||||||
|
$flags[] = Flag::createFromLegacyStatus($status);
|
||||||
|
}
|
||||||
|
|
||||||
|
return new self($fields, $flags, MetadataHelper::createTags());
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* GlobalStructure constructor.
|
* GlobalStructure constructor.
|
||||||
* @param Field[] $fields
|
* @param Field[] $fields
|
||||||
|
Reference in New Issue
Block a user