Skip to content
Extraits de code Groupes Projets
Valider 5b2c7914 rédigé par Thomas Steur's avatar Thomas Steur
Parcourir les fichiers

fixes #5817 all websites dashboard was not selected in user settings although...

fixes #5817 all websites dashboard was not selected in user settings although the value was stored correct
parent 46381839
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -210,22 +210,27 @@ class Controller extends \Piwik\Plugin\ControllerAdmin ...@@ -210,22 +210,27 @@ class Controller extends \Piwik\Plugin\ControllerAdmin
$view->userEmail = $user['email']; $view->userEmail = $user['email'];
$userPreferences = new UserPreferences(); $userPreferences = new UserPreferences();
$defaultReport = $userPreferences->getDefaultWebsiteId(); $defaultReport = $userPreferences->getDefaultReport();
if ($defaultReport === false) { if ($defaultReport === false) {
$defaultReport = $this->getDefaultWebsiteId(); $defaultReport = $userPreferences->getDefaultWebsiteId();
} }
$view->defaultReport = $defaultReport; $view->defaultReport = $defaultReport;
if ($defaultReport == 'MultiSites') { if ($defaultReport == 'MultiSites') {
$userPreferences = new UserPreferences(); $defaultSiteId = $userPreferences->getDefaultWebsiteId();
$view->defaultReportSiteName = Site::getNameFor($userPreferences->getDefaultWebsiteId());
$view->defaultReportIdSite = $defaultSiteId;
$view->defaultReportSiteName = Site::getNameFor($defaultSiteId);
} else { } else {
$view->defaultReportIdSite = $defaultReport;
$view->defaultReportSiteName = Site::getNameFor($defaultReport); $view->defaultReportSiteName = Site::getNameFor($defaultReport);
} }
$view->defaultDate = $this->getDefaultDateForUser($userLogin); $view->defaultDate = $this->getDefaultDateForUser($userLogin);
$view-> availableDefaultDates = $this->getDefaultDates(); $view->availableDefaultDates = $this->getDefaultDates();
$view->languages = APILanguagesManager::getInstance()->getAvailableLanguageNames(); $view->languages = APILanguagesManager::getInstance()->getAvailableLanguageNames();
$view->currentLanguageCode = LanguagesManager::getLanguageCodeForCurrentUser(); $view->currentLanguageCode = LanguagesManager::getLanguageCodeForCurrentUser();
...@@ -237,15 +242,6 @@ class Controller extends \Piwik\Plugin\ControllerAdmin ...@@ -237,15 +242,6 @@ class Controller extends \Piwik\Plugin\ControllerAdmin
return $view->render(); return $view->render();
} }
protected function getDefaultWebsiteId()
{
$sitesId = \Piwik\Plugins\SitesManager\API::getInstance()->getSitesIdWithAdminAccess();
if (!empty($sitesId)) {
return $sitesId[0];
}
return false;
}
public function setIgnoreCookie() public function setIgnoreCookie()
{ {
Piwik::checkUserHasSomeViewAccess(); Piwik::checkUserHasSomeViewAccess();
......
...@@ -25,22 +25,41 @@ class UserPreferences ...@@ -25,22 +25,41 @@ class UserPreferences
*/ */
public function getDefaultWebsiteId() public function getDefaultWebsiteId()
{ {
$defaultWebsiteId = false; $defaultReport = $this->getDefaultReport();
// User preference: default website ID to load if (is_numeric($defaultReport) && Piwik::isUserHasViewAccess($defaultReport)) {
$defaultReport = APIUsersManager::getInstance()->getUserPreference(Piwik::getCurrentUserLogin(), APIUsersManager::PREFERENCE_DEFAULT_REPORT); return $defaultReport;
if (is_numeric($defaultReport)) {
$defaultWebsiteId = $defaultReport;
}
if ($defaultWebsiteId && Piwik::isUserHasViewAccess($defaultWebsiteId)) {
return $defaultWebsiteId;
} }
$sitesId = APISitesManager::getInstance()->getSitesIdWithAtLeastViewAccess(); $sitesId = APISitesManager::getInstance()->getSitesIdWithAtLeastViewAccess();
if (!empty($sitesId)) { if (!empty($sitesId)) {
return $sitesId[0]; return $sitesId[0];
} }
return false;
}
/**
* Returns default site ID that Piwik should load.
*
* _Note: This value is a Piwik setting set by each user._
*
* @return bool|int
* @api
*/
public function getDefaultReport()
{
// User preference: default website ID to load
$defaultReport = APIUsersManager::getInstance()->getUserPreference(Piwik::getCurrentUserLogin(), APIUsersManager::PREFERENCE_DEFAULT_REPORT);
if (!is_numeric($defaultReport)) {
return $defaultReport;
}
if ($defaultReport && Piwik::isUserHasViewAccess($defaultReport)) {
return $defaultReport;
}
return false; return false;
} }
......
...@@ -52,11 +52,6 @@ ...@@ -52,11 +52,6 @@
<input id="defaultReportSpecific" type="radio" value="1" <input id="defaultReportSpecific" type="radio" value="1"
name="defaultReport"{% if defaultReport != 'MultiSites' %} checked="checked"{% endif %} /> name="defaultReport"{% if defaultReport != 'MultiSites' %} checked="checked"{% endif %} />
<label for="defaultReportSpecific" style="padding-right:12px;">{{ 'General_DashboardForASpecificWebsite'|translate }}</label> <label for="defaultReportSpecific" style="padding-right:12px;">{{ 'General_DashboardForASpecificWebsite'|translate }}</label>
{% if defaultReport=='MultiSites' %}
{% set defaultReportIdSite=1 %}
{% else %}
{% set defaultReportIdSite=defaultReport %}
{% endif %}
<div piwik-siteselector <div piwik-siteselector
class="sites_autocomplete" class="sites_autocomplete"
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter