]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-6427 Use default dashboards when user has no specific configuration 259/head
authorJean-Baptiste Lievremont <jean-baptiste.lievremont@sonarsource.com>
Mon, 27 Apr 2015 08:25:59 +0000 (10:25 +0200)
committerJean-Baptiste Lievremont <jean-baptiste.lievremont@sonarsource.com>
Mon, 27 Apr 2015 15:21:37 +0000 (17:21 +0200)
server/sonar-server/src/main/java/org/sonar/server/ui/ws/GlobalNavigationAction.java
server/sonar-server/src/test/java/org/sonar/server/ui/ws/GlobalNavigationActionTest.java

index c6a7c7d39cb6cc41e6892a59908009159712ec0c..96692e7d8571522e4b15de4e2921fd76342885c3 100644 (file)
@@ -36,6 +36,8 @@ import java.util.List;
 
 public class GlobalNavigationAction implements NavigationAction {
 
+  private static final String ANONYMOUS = null;
+
   private final ActiveDashboardDao activeDashboardDao;
   private final Views views;
   private final Settings settings;
@@ -61,6 +63,9 @@ public class GlobalNavigationAction implements NavigationAction {
     UserSession userSession = UserSession.get();
 
     List<DashboardDto> dashboards = activeDashboardDao.selectGlobalDashboardsForUserLogin(userSession.login());
+    if (dashboards.isEmpty()) {
+      dashboards = activeDashboardDao.selectGlobalDashboardsForUserLogin(ANONYMOUS);
+    }
 
     JsonWriter json = response.newJsonWriter().beginObject();
     writeDashboards(json, dashboards);
index ec28952e9f127d857b496ab0dd0b0cda4e37fe6e..a556cfcee55c12c17650a073e8aece10f92be694 100644 (file)
@@ -114,6 +114,15 @@ public class GlobalNavigationActionTest {
     wsTester.newGetRequest("api/navigation", "global").execute().assertJson(getClass(), "user.json");
   }
 
+  @Test
+  public void nominal_call_for_user_without_configured_dashboards() throws Exception {
+    nominalSetup();
+
+    MockUserSession.set().setLogin("anakin");
+
+    wsTester.newGetRequest("api/navigation", "global").execute().assertJson(getClass(), "anonymous.json");
+  }
+
   private void nominalSetup() {
     createAndConfigureDashboardForUser();
     createAndConfigureDashboardForAnonymous();