mirror of
https://github.com/espocrm/espocrm.git
synced 2026-03-03 02:27:01 +00:00
Update PreferencesService to consider dashboard layout metadata (#3561)
* Update PreferencesService.php to consider dashboard layout metadata The resetDashboard function only considers the dashboardLayout and dashletsOptions config. Updated code to check metadata app.defaultDashboardLayouts.Standard and app.defaultDashboardOptions.Standard so behaviour is consistent with the loadData function in Preferences.php * Update PreferencesService.php Fixed copyright year, accidentally overwritten
This commit is contained in:
@@ -43,6 +43,7 @@ use Espo\Core\Exceptions\Forbidden;
|
||||
use Espo\Core\Exceptions\NotFound;
|
||||
use Espo\Core\FieldValidation\FieldValidationManager;
|
||||
use Espo\Core\Utils\Config;
|
||||
use Espo\Core\Utils\Metadata;
|
||||
|
||||
use stdClass;
|
||||
|
||||
@@ -53,19 +54,22 @@ class PreferencesService
|
||||
private Acl $acl;
|
||||
private Config $config;
|
||||
private FieldValidationManager $fieldValidationManager;
|
||||
private Metadata $metadata;
|
||||
|
||||
public function __construct(
|
||||
EntityManager $entityManager,
|
||||
User $user,
|
||||
Acl $acl,
|
||||
Config $config,
|
||||
FieldValidationManager $fieldValidationManager
|
||||
FieldValidationManager $fieldValidationManager,
|
||||
Metadata $metadata
|
||||
) {
|
||||
$this->entityManager = $entityManager;
|
||||
$this->user = $user;
|
||||
$this->acl = $acl;
|
||||
$this->config = $config;
|
||||
$this->fieldValidationManager = $fieldValidationManager;
|
||||
$this->metadata = $metadata;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -209,7 +213,16 @@ class PreferencesService
|
||||
}
|
||||
|
||||
$dashboardLayout = $this->config->get('dashboardLayout');
|
||||
$dashletsOptions = $this->config->get('dashletsOptions');
|
||||
$dashletsOptions = null;
|
||||
|
||||
if (!$dashboardLayout) {
|
||||
$dashboardLayout = $this->metadata->get('app.defaultDashboardLayouts.Standard');
|
||||
$dashletsOptions = $this->metadata->get('app.defaultDashboardOptions.Standard');
|
||||
}
|
||||
|
||||
if ($dashletsOptions === null) {
|
||||
$dashletsOptions = $this->config->get('dashletsOptions');
|
||||
}
|
||||
|
||||
$preferences->set([
|
||||
'dashboardLayout' => $dashboardLayout,
|
||||
|
||||
Reference in New Issue
Block a user