keycloak-aplcache

KEYCLOAK-233 Add referrer query parm to manage app link in admin

2/5/2014 9:31:18 AM

Details

diff --git a/admin-ui/src/main/resources/META-INF/resources/admin/partials/application-list.html b/admin-ui/src/main/resources/META-INF/resources/admin/partials/application-list.html
index 801074d..6c8b378 100755
--- a/admin-ui/src/main/resources/META-INF/resources/admin/partials/application-list.html
+++ b/admin-ui/src/main/resources/META-INF/resources/admin/partials/application-list.html
@@ -55,7 +55,9 @@
                     <tr ng-repeat="app in applications | filter:search">
                         <td><a href="#/realms/{{realm.realm}}/applications/{{app.name}}">{{app.name}}</a></td>
                         <td>{{app.enabled}}</td>
-                        <td ng-class="{'text-muted': !app.baseUrl}">{{app.baseUrl || "Not defined"}}</td>
+                        <td ng-class="{'text-muted': !app.baseUrl}">
+                            <a href="{{app.baseUrl}}" data-ng-show="app.baseUrl">{{app.baseUrl}}</a>
+                            <span data-ng-hide="app.baseUrl">Not defined</span>
                     </tr>
                     </tbody>
                 </table>
diff --git a/admin-ui/src/main/resources/META-INF/resources/admin/partials/menu.html b/admin-ui/src/main/resources/META-INF/resources/admin/partials/menu.html
index 859aea1..05a3a19 100755
--- a/admin-ui/src/main/resources/META-INF/resources/admin/partials/menu.html
+++ b/admin-ui/src/main/resources/META-INF/resources/admin/partials/menu.html
@@ -11,7 +11,7 @@
                     <a href="#" class="dropdown-toggle" data-toggle="dropdown">
                         <span class="icon-user">Icon: user</span>{{auth.user.displayName}}<i class="caret"></i></a>
                     <ul class="dropdown-menu">
-                        <li><a href="/auth/rest/realms/keycloak-admin/account">Manage Account</a></li>
+                        <li><a href="/auth/rest/realms/keycloak-admin/account?referrer=admin-console">Manage Account</a></li>
                         <li class="separator"><a href="/auth/rest/admin/logout">Sign Out</a></li>
                     </ul>
                 </li>
diff --git a/forms/account-freemarker/src/main/java/org/keycloak/account/freemarker/FreeMarkerAccount.java b/forms/account-freemarker/src/main/java/org/keycloak/account/freemarker/FreeMarkerAccount.java
index 14c4a61..9c5a687 100644
--- a/forms/account-freemarker/src/main/java/org/keycloak/account/freemarker/FreeMarkerAccount.java
+++ b/forms/account-freemarker/src/main/java/org/keycloak/account/freemarker/FreeMarkerAccount.java
@@ -102,10 +102,9 @@ public class FreeMarkerAccount implements Account {
 
     private String getReferrerUri() {
         if (referrer != null) {
-            for (ApplicationModel a : realm.getApplications()) {
-                if (a.getName().equals(referrer)) {
-                    return a.getBaseUrl();
-                }
+            ApplicationModel app = realm.getApplicationByName(referrer);
+            if (app != null) {
+                return app.getBaseUrl();
             }
         }
         return null;
diff --git a/services/src/main/java/org/keycloak/services/managers/ApplianceBootstrap.java b/services/src/main/java/org/keycloak/services/managers/ApplianceBootstrap.java
index 78ee938..c4260a4 100755
--- a/services/src/main/java/org/keycloak/services/managers/ApplianceBootstrap.java
+++ b/services/src/main/java/org/keycloak/services/managers/ApplianceBootstrap.java
@@ -59,6 +59,7 @@ public class ApplianceBootstrap {
         realm.setAccountTheme("keycloak");
 
         ApplicationModel adminConsole = realm.addApplication(Constants.ADMIN_CONSOLE_APPLICATION);
+        adminConsole.setBaseUrl("/auth/admin/index.html");
         adminConsole.setEnabled(true);
         UserCredentialModel adminConsolePassword = new UserCredentialModel();
         adminConsolePassword.setType(UserCredentialModel.PASSWORD);