diff --git a/application/Espo/Controllers/App.php b/application/Espo/Controllers/App.php index a817e0fc34..d9e2fe4ac4 100644 --- a/application/Espo/Controllers/App.php +++ b/application/Espo/Controllers/App.php @@ -60,11 +60,17 @@ class App extends \Espo\Core\Controllers\Base } $userData['emailAddressList'] = $emailAddressList; + $settings = array(); + foreach ($this->getConfig()->get('userItems') as $item) { + $settings[$item] = $this->getConfig()->get($item); + } + return array( 'user' => $userData, 'acl' => $this->getAcl()->getMap(), 'preferences' => $preferences, - 'token' => $this->getUser()->get('token') + 'token' => $this->getUser()->get('token'), + 'settings' => $settings ); } diff --git a/application/Espo/Core/defaults/systemConfig.php b/application/Espo/Core/defaults/systemConfig.php index eedcb85722..297324fdc9 100644 --- a/application/Espo/Core/defaults/systemConfig.php +++ b/application/Espo/Core/defaults/systemConfig.php @@ -146,6 +146,8 @@ return array ( 'defaultPermissions' => ), 'userItems' => array ( + 'outboundEmailFromAddress', + 'outboundEmailFromName' ), 'isInstalled' => false, 'ldapUserNameAttribute' => 'sAMAccountName', diff --git a/client/src/app.js b/client/src/app.js index 86ed927ccf..4214102c53 100644 --- a/client/src/app.js +++ b/client/src/app.js @@ -61,7 +61,7 @@ Espo.define( this.setupAjax(); - this.settings = new Settings(null, {cache: this.cache}); + this.settings = new Settings(null); this.language = new Language(this.cache); this.metadata = new Metadata(this.cache); this.fieldManager = new FieldManager(); @@ -470,8 +470,12 @@ Espo.define( var preferencesData = options.preferences || null; var aclData = options.acl || null; + var settingData = options.settings || {}; + this.user.set(userData); this.preferences.set(preferencesData); + + this.settings.set(settingData); this.acl.set(aclData); if (!this.auth) { diff --git a/client/src/views/login.js b/client/src/views/login.js index e6d4921b78..bd58be15ed 100644 --- a/client/src/views/login.js +++ b/client/src/views/login.js @@ -107,7 +107,8 @@ Espo.define('views/login', 'view', function (Dep) { }, user: data.user, preferences: data.preferences, - acl: data.acl + acl: data.acl, + settings: data.settings }); }.bind(this), error: function (xhr) { diff --git a/client/src/views/settings/record/edit.js b/client/src/views/settings/record/edit.js index 5c5d1796c6..6c18c71e1c 100644 --- a/client/src/views/settings/record/edit.js +++ b/client/src/views/settings/record/edit.js @@ -51,7 +51,6 @@ Espo.define('views/settings/record/edit', 'views/record/edit', function (Dep) { this.listenTo(this.model, 'after:save', function () { this.getConfig().set(this.model.toJSON()); - this.getConfig().storeToCache(); }.bind(this)); },