protected function assignPropertiesFromEditmode($object)
{
if ($this->getParam("properties")) {
$properties = [];
// assign inherited properties
foreach ($object->getProperties() as $p) {
if ($p->isInherited()) {
$properties[$p->getName()] = $p;
}
}
$propertiesData = \Zend_Json::decode($this->getParam("properties"));
if (is_array($propertiesData)) {
foreach ($propertiesData as $propertyName => $propertyData) {
$value = $propertyData["data"];
try {
$property = new Model\Property();
$property->setType($propertyData["type"]);
$property->setName($propertyName);
$property->setCtype("object");
$property->setDataFromEditmode($value);
$property->setInheritable($propertyData["inheritable"]);
$properties[$propertyName] = $property;
} catch (\Exception $e) {
Logger::err("Can't add " . $propertyName . " to object " . $object->getRealFullPath());
}
}
}
$object->setProperties($properties);
}
return $object;
}