From fd86727bfc23c34c814fa2aaeafee299c0e29aa4 Mon Sep 17 00:00:00 2001 From: yuri Date: Tue, 2 Jun 2015 15:52:54 +0300 Subject: [PATCH] scopes in entity templates --- .../Core/Templates/Metadata/Base/scopes.json | 9 +++++++ .../Metadata/CategoryTree/scopes.json | 9 +++++++ .../Templates/Metadata/Person/scopes.json | 9 +++++++ application/Espo/Core/Utils/EntityManager.php | 25 ++++++++----------- 4 files changed, 38 insertions(+), 14 deletions(-) create mode 100644 application/Espo/Core/Templates/Metadata/Base/scopes.json create mode 100644 application/Espo/Core/Templates/Metadata/CategoryTree/scopes.json create mode 100644 application/Espo/Core/Templates/Metadata/Person/scopes.json diff --git a/application/Espo/Core/Templates/Metadata/Base/scopes.json b/application/Espo/Core/Templates/Metadata/Base/scopes.json new file mode 100644 index 0000000000..dcdd10884a --- /dev/null +++ b/application/Espo/Core/Templates/Metadata/Base/scopes.json @@ -0,0 +1,9 @@ +{ + "entity": true, + "layouts": true, + "tab": true, + "acl": true, + "customizable": true, + "importable": true, + "notifications": true +} \ No newline at end of file diff --git a/application/Espo/Core/Templates/Metadata/CategoryTree/scopes.json b/application/Espo/Core/Templates/Metadata/CategoryTree/scopes.json new file mode 100644 index 0000000000..369be4d548 --- /dev/null +++ b/application/Espo/Core/Templates/Metadata/CategoryTree/scopes.json @@ -0,0 +1,9 @@ +{ + "entity": true, + "layouts": true, + "tab": true, + "acl": true, + "customizable": true, + "importable": false, + "notifications": false +} \ No newline at end of file diff --git a/application/Espo/Core/Templates/Metadata/Person/scopes.json b/application/Espo/Core/Templates/Metadata/Person/scopes.json new file mode 100644 index 0000000000..dcdd10884a --- /dev/null +++ b/application/Espo/Core/Templates/Metadata/Person/scopes.json @@ -0,0 +1,9 @@ +{ + "entity": true, + "layouts": true, + "tab": true, + "acl": true, + "customizable": true, + "importable": true, + "notifications": true +} \ No newline at end of file diff --git a/application/Espo/Core/Utils/EntityManager.php b/application/Espo/Core/Utils/EntityManager.php index 9bd34a42bf..44811b7ee7 100644 --- a/application/Espo/Core/Utils/EntityManager.php +++ b/application/Espo/Core/Utils/EntityManager.php @@ -126,20 +126,17 @@ class EntityManager } $labelCreate = $this->getLanguage()->translate('Create') . ' ' . $labelSingular; - $scopeData = array( - 'entity' => true, - 'layouts' => true, - 'tab' => true, - 'acl' => true, - 'module' => 'Custom', - 'isCustom' => true, - 'customizable' => true, - 'importable' => true, - 'type' => $type, - 'stream' => $stream, - 'notifications' => true - ); - $this->getMetadata()->set('scopes', $name, $scopeData); + $filePath = "application/Espo/Core/Templates/Metadata/{$type}/scopes.json"; + $scopesDataContents = $this->getFileManager()->getContents($filePath); + $scopesDataContents = str_replace('{entityType}', $name, $scopesDataContents); + $scopesData = Json::decode($entityDefsDataContents, true); + + $scopesData['stream'] = $stream; + $scopesData['type'] = $type; + $scopesData['module'] = 'Custom'; + $scopesData['isCustom'] = true; + + $this->getMetadata()->set('scopes', $name, $scopesData); $filePath = "application/Espo/Core/Templates/Metadata/{$type}/entityDefs.json"; $entityDefsDataContents = $this->getFileManager()->getContents($filePath);