diff --git a/application/Espo/Core/ORM/Repositories/RDB.php b/application/Espo/Core/ORM/Repositories/RDB.php index 0dce94708f..c08c68f573 100644 --- a/application/Espo/Core/ORM/Repositories/RDB.php +++ b/application/Espo/Core/ORM/Repositories/RDB.php @@ -267,12 +267,14 @@ class RDB extends \Espo\ORM\Repositories\RDB implements Injectable protected function handleSpecifiedRelations(Entity $entity) { + $relationTypeList = [$entity::HAS_MANY, $entity::MANY_MANY, $entity::HAS_CHILDREN]; foreach ($entity->getRelations() as $name => $defs) { if (in_array($defs['type'], $relationTypeList)) { $fieldName = $name . 'Ids'; $columnsFieldsName = $name . 'Columns'; + if ($entity->has($fieldName) || $entity->has($columnsFieldsName)) { if ($this->getMetadata()->get("entityDefs." . $entity->getEntityType() . ".fields.{$name}.noSave")) { continue; @@ -359,7 +361,8 @@ class RDB extends \Espo\ORM\Repositories\RDB implements Injectable } } } else if ($defs['type'] === $entity::HAS_ONE) { - if (empty($defs['entity']) || empty($defs['foreignKey'])) return; + if (empty($defs['entity']) || empty($defs['foreignKey'])) continue; + if ($this->getMetadata()->get("entityDefs." . $entity->getEntityType() . ".fields.{$name}.noSave")) { continue; } @@ -369,7 +372,7 @@ class RDB extends \Espo\ORM\Repositories\RDB implements Injectable $idFieldName = $name . 'Id'; $nameFieldName = $name . 'Name'; - if (!$entity->has($idFieldName)) return; + if (!$entity->has($idFieldName)) continue; $where = array(); $where[$foreignKey] = $entity->id; diff --git a/application/Espo/Core/defaults/layout/listDashlet.json b/application/Espo/Core/defaults/layout/listDashlet.json index bb110f0d3e..9a9630df19 100644 --- a/application/Espo/Core/defaults/layout/listDashlet.json +++ b/application/Espo/Core/defaults/layout/listDashlet.json @@ -1 +1,3 @@ -[{"name":"name"}] +[ + {"name":"name"} +] diff --git a/application/Espo/Core/defaults/layout/listSmall.json b/application/Espo/Core/defaults/layout/listSmall.json index b575eecc67..008f53478d 100644 --- a/application/Espo/Core/defaults/layout/listSmall.json +++ b/application/Espo/Core/defaults/layout/listSmall.json @@ -1 +1,3 @@ -[{"name":"name","link":true,"width":"30"}] +[ + {"name":"name","link":true} +] diff --git a/application/Espo/Repositories/User.php b/application/Espo/Repositories/User.php index f8d779750f..3bbabbb71c 100644 --- a/application/Espo/Repositories/User.php +++ b/application/Espo/Repositories/User.php @@ -38,6 +38,7 @@ class User extends \Espo\Core\ORM\Repositories\RDB protected function beforeSave(Entity $entity, array $options) { parent::beforeSave($entity, $options); + if ($entity->isNew()) { $userName = $entity->get('userName'); if (empty($userName)) {