realm name in url

This commit is contained in:
Bill Burke 2014-01-13 23:38:00 -05:00
parent 62cc002396
commit 4825974edc
43 changed files with 352 additions and 330 deletions

View file

@ -54,7 +54,7 @@ module.controller('ApplicationCredentialsCtrl', function($scope, $location, real
} }
]; ];
ApplicationCredentials.update({ realm : realm.id, application : application.id }, creds, ApplicationCredentials.update({ realm : realm.realm, application : application.id }, creds,
function() { function() {
Notifications.success('The password has been changed.'); Notifications.success('The password has been changed.');
$scope.password = null; $scope.password = null;
@ -76,7 +76,7 @@ module.controller('ApplicationCredentialsCtrl', function($scope, $location, real
} }
]; ];
ApplicationCredentials.update({ realm : realm.id, application : application.id }, creds, ApplicationCredentials.update({ realm : realm.realm, application : application.id }, creds,
function() { function() {
Notifications.success('The totp was changed.'); Notifications.success('The totp was changed.');
$scope.totp = null; $scope.totp = null;
@ -122,7 +122,7 @@ module.controller('ApplicationRoleDetailCtrl', function($scope, realm, applicati
$scope.save = function() { $scope.save = function() {
if ($scope.create) { if ($scope.create) {
ApplicationRole.save({ ApplicationRole.save({
realm: realm.id, realm: realm.realm,
application : application.id application : application.id
}, $scope.role, function (data, headers) { }, $scope.role, function (data, headers) {
$scope.changed = false; $scope.changed = false;
@ -130,12 +130,12 @@ module.controller('ApplicationRoleDetailCtrl', function($scope, realm, applicati
var l = headers().location; var l = headers().location;
var id = l.substring(l.lastIndexOf("/") + 1); var id = l.substring(l.lastIndexOf("/") + 1);
$location.url("/realms/" + realm.id + "/applications/" + application.id + "/roles/" + id); $location.url("/realms/" + realm.realm + "/applications/" + application.id + "/roles/" + id);
Notifications.success("The role has been created."); Notifications.success("The role has been created.");
}); });
} else { } else {
ApplicationRole.update({ ApplicationRole.update({
realm : realm.id, realm : realm.realm,
application : application.id, application : application.id,
roleId : role.id roleId : role.id
}, $scope.role, function() { }, $scope.role, function() {
@ -152,17 +152,17 @@ module.controller('ApplicationRoleDetailCtrl', function($scope, realm, applicati
}; };
$scope.cancel = function() { $scope.cancel = function() {
$location.url("/realms/" + realm.id + "/applications/" + application.id + "/roles"); $location.url("/realms/" + realm.realm + "/applications/" + application.id + "/roles");
}; };
$scope.remove = function() { $scope.remove = function() {
Dialog.confirmDelete($scope.role.name, 'role', function() { Dialog.confirmDelete($scope.role.name, 'role', function() {
$scope.role.$remove({ $scope.role.$remove({
realm : realm.id, realm : realm.realm,
application : application.id, application : application.id,
roleId : $scope.role.id roleId : $scope.role.id
}, function() { }, function() {
$location.url("/realms/" + realm.id + "/applications/" + application.id + "/roles"); $location.url("/realms/" + realm.realm + "/applications/" + application.id + "/roles");
Notifications.success("The role has been deleted."); Notifications.success("The role has been deleted.");
}); });
}); });
@ -233,17 +233,17 @@ module.controller('ApplicationDetailCtrl', function($scope, realm, application,
$scope.save = function() { $scope.save = function() {
if ($scope.create) { if ($scope.create) {
Application.save({ Application.save({
realm: realm.id realm: realm.realm
}, $scope.application, function (data, headers) { }, $scope.application, function (data, headers) {
$scope.changed = false; $scope.changed = false;
var l = headers().location; var l = headers().location;
var id = l.substring(l.lastIndexOf("/") + 1); var id = l.substring(l.lastIndexOf("/") + 1);
$location.url("/realms/" + realm.id + "/applications/" + id); $location.url("/realms/" + realm.realm + "/applications/" + id);
Notifications.success("The application has been created."); Notifications.success("The application has been created.");
}); });
} else { } else {
Application.update({ Application.update({
realm : realm.id, realm : realm.realm,
id : application.id id : application.id
}, $scope.application, function() { }, $scope.application, function() {
$scope.changed = false; $scope.changed = false;
@ -259,16 +259,16 @@ module.controller('ApplicationDetailCtrl', function($scope, realm, application,
}; };
$scope.cancel = function() { $scope.cancel = function() {
$location.url("/realms/" + realm.id + "/applications"); $location.url("/realms/" + realm.realm + "/applications");
}; };
$scope.remove = function() { $scope.remove = function() {
Dialog.confirmDelete($scope.application.name, 'application', function() { Dialog.confirmDelete($scope.application.name, 'application', function() {
$scope.application.$remove({ $scope.application.$remove({
realm : realm.id, realm : realm.realm,
id : $scope.application.id id : $scope.application.id
}, function() { }, function() {
$location.url("/realms/" + realm.id + "/applications"); $location.url("/realms/" + realm.realm + "/applications");
Notifications.success("The application has been deleted."); Notifications.success("The application has been deleted.");
}); });
}); });
@ -292,7 +292,7 @@ module.controller('ApplicationScopeMappingCtrl', function($scope, $http, realm,
$scope.realmMappings = ApplicationRealmScopeMapping.query({realm : realm.id, application : application.id}, function(){ $scope.realmMappings = ApplicationRealmScopeMapping.query({realm : realm.realm, application : application.id}, function(){
for (var i = 0; i < $scope.realmMappings.length; i++) { for (var i = 0; i < $scope.realmMappings.length; i++) {
var role = $scope.realmMappings[i]; var role = $scope.realmMappings[i];
for (var j = 0; j < $scope.realmRoles.length; j++) { for (var j = 0; j < $scope.realmRoles.length; j++) {
@ -309,7 +309,7 @@ module.controller('ApplicationScopeMappingCtrl', function($scope, $http, realm,
}); });
$scope.addRealmRole = function() { $scope.addRealmRole = function() {
$http.post('/auth/rest/admin/realms/' + realm.id + '/applications/' + application.id + '/scope-mappings/realm', $http.post('/auth/rest/admin/realms/' + realm.realm + '/applications/' + application.id + '/scope-mappings/realm',
$scope.selectedRealmRoles).success(function() { $scope.selectedRealmRoles).success(function() {
for (var i = 0; i < $scope.selectedRealmRoles.length; i++) { for (var i = 0; i < $scope.selectedRealmRoles.length; i++) {
var role = $scope.selectedRealmRoles[i]; var role = $scope.selectedRealmRoles[i];
@ -324,7 +324,7 @@ module.controller('ApplicationScopeMappingCtrl', function($scope, $http, realm,
}; };
$scope.deleteRealmRole = function() { $scope.deleteRealmRole = function() {
$http.delete('/auth/rest/admin/realms/' + realm.id + '/applications/' + application.id + '/scope-mappings/realm', $http.delete('/auth/rest/admin/realms/' + realm.realm + '/applications/' + application.id + '/scope-mappings/realm',
{data : $scope.selectedRealmMappings, headers : {"content-type" : "application/json"}}).success(function() { {data : $scope.selectedRealmMappings, headers : {"content-type" : "application/json"}}).success(function() {
for (var i = 0; i < $scope.selectedRealmMappings.length; i++) { for (var i = 0; i < $scope.selectedRealmMappings.length; i++) {
var role = $scope.selectedRealmMappings[i]; var role = $scope.selectedRealmMappings[i];
@ -339,7 +339,7 @@ module.controller('ApplicationScopeMappingCtrl', function($scope, $http, realm,
}; };
$scope.addApplicationRole = function() { $scope.addApplicationRole = function() {
$http.post('/auth/rest/admin/realms/' + realm.id + '/applications/' + application.id + '/scope-mappings/applications/' + $scope.targetApp.id, $http.post('/auth/rest/admin/realms/' + realm.realm + '/applications/' + application.id + '/scope-mappings/applications/' + $scope.targetApp.id,
$scope.selectedApplicationRoles).success(function() { $scope.selectedApplicationRoles).success(function() {
for (var i = 0; i < $scope.selectedApplicationRoles.length; i++) { for (var i = 0; i < $scope.selectedApplicationRoles.length; i++) {
var role = $scope.selectedApplicationRoles[i]; var role = $scope.selectedApplicationRoles[i];
@ -354,7 +354,7 @@ module.controller('ApplicationScopeMappingCtrl', function($scope, $http, realm,
}; };
$scope.deleteApplicationRole = function() { $scope.deleteApplicationRole = function() {
$http.delete('/auth/rest/admin/realms/' + realm.id + '/applications/' + application.id + '/scope-mappings/applications/' + $scope.targetApp.id, $http.delete('/auth/rest/admin/realms/' + realm.realm + '/applications/' + application.id + '/scope-mappings/applications/' + $scope.targetApp.id,
{data : $scope.selectedApplicationMappings, headers : {"content-type" : "application/json"}}).success(function() { {data : $scope.selectedApplicationMappings, headers : {"content-type" : "application/json"}}).success(function() {
for (var i = 0; i < $scope.selectedApplicationMappings.length; i++) { for (var i = 0; i < $scope.selectedApplicationMappings.length; i++) {
var role = $scope.selectedApplicationMappings[i]; var role = $scope.selectedApplicationMappings[i];
@ -370,8 +370,8 @@ module.controller('ApplicationScopeMappingCtrl', function($scope, $http, realm,
$scope.changeApplication = function() { $scope.changeApplication = function() {
$scope.applicationRoles = ApplicationRole.query({realm : realm.id, application : $scope.targetApp.id}, function() { $scope.applicationRoles = ApplicationRole.query({realm : realm.realm, application : $scope.targetApp.id}, function() {
$scope.applicationMappings = ApplicationApplicationScopeMapping.query({realm : realm.id, application : application.id, targetApp : $scope.targetApp.id}, function(){ $scope.applicationMappings = ApplicationApplicationScopeMapping.query({realm : realm.realm, application : application.id, targetApp : $scope.targetApp.id}, function(){
for (var i = 0; i < $scope.applicationMappings.length; i++) { for (var i = 0; i < $scope.applicationMappings.length; i++) {
var role = $scope.applicationMappings[i]; var role = $scope.applicationMappings[i];
for (var j = 0; j < $scope.applicationRoles.length; j++) { for (var j = 0; j < $scope.applicationRoles.length; j++) {

View file

@ -42,7 +42,7 @@ module.controller('OAuthClientCredentialsCtrl', function($scope, $location, real
} }
]; ];
OAuthClientCredentials.update({ realm : realm.id, oauth : oauth.id }, creds, OAuthClientCredentials.update({ realm : realm.realm, oauth : oauth.id }, creds,
function() { function() {
Notifications.success('The password has been changed.'); Notifications.success('The password has been changed.');
$scope.password = null; $scope.password = null;
@ -64,7 +64,7 @@ module.controller('OAuthClientCredentialsCtrl', function($scope, $location, real
} }
]; ];
OAuthClientCredentials.update({ realm : realm.id, oauth : oauth.id }, creds, OAuthClientCredentials.update({ realm : realm.realm, oauth : oauth.id }, creds,
function() { function() {
Notifications.success('The totp was changed.'); Notifications.success('The totp was changed.');
$scope.totp = null; $scope.totp = null;
@ -133,17 +133,17 @@ module.controller('OAuthClientDetailCtrl', function($scope, realm, oauth, OAuthC
$scope.save = function() { $scope.save = function() {
if ($scope.create) { if ($scope.create) {
OAuthClient.save({ OAuthClient.save({
realm: realm.id realm: realm.realm
}, $scope.oauth, function (data, headers) { }, $scope.oauth, function (data, headers) {
$scope.changed = false; $scope.changed = false;
var l = headers().location; var l = headers().location;
var id = l.substring(l.lastIndexOf("/") + 1); var id = l.substring(l.lastIndexOf("/") + 1);
$location.url("/realms/" + realm.id + "/oauth-clients/" + id); $location.url("/realms/" + realm.realm + "/oauth-clients/" + id);
Notifications.success("The oauth client has been created."); Notifications.success("The oauth client has been created.");
}); });
} else { } else {
OAuthClient.update({ OAuthClient.update({
realm : realm.id, realm : realm.realm,
id : oauth.id id : oauth.id
}, $scope.oauth, function() { }, $scope.oauth, function() {
$scope.changed = false; $scope.changed = false;
@ -159,16 +159,16 @@ module.controller('OAuthClientDetailCtrl', function($scope, realm, oauth, OAuthC
}; };
$scope.cancel = function() { $scope.cancel = function() {
$location.url("/realms/" + realm.id + "/oauth-clients"); $location.url("/realms/" + realm.realm + "/oauth-clients");
}; };
$scope.remove = function() { $scope.remove = function() {
Dialog.confirmDelete($scope.oauth.name, 'oauth', function() { Dialog.confirmDelete($scope.oauth.name, 'oauth', function() {
$scope.oauth.$remove({ $scope.oauth.$remove({
realm : realm.id, realm : realm.realm,
id : $scope.oauth.id id : $scope.oauth.id
}, function() { }, function() {
$location.url("/realms/" + realm.id + "/oauth-clients"); $location.url("/realms/" + realm.realm + "/oauth-clients");
Notifications.success("The oauth client has been deleted."); Notifications.success("The oauth client has been deleted.");
}); });
}); });
@ -192,7 +192,7 @@ module.controller('OAuthClientScopeMappingCtrl', function($scope, $http, realm,
$scope.realmMappings = OAuthClientRealmScopeMapping.query({realm : realm.id, oauth : oauth.id}, function(){ $scope.realmMappings = OAuthClientRealmScopeMapping.query({realm : realm.realm, oauth : oauth.id}, function(){
for (var i = 0; i < $scope.realmMappings.length; i++) { for (var i = 0; i < $scope.realmMappings.length; i++) {
var role = $scope.realmMappings[i]; var role = $scope.realmMappings[i];
for (var j = 0; j < $scope.realmRoles.length; j++) { for (var j = 0; j < $scope.realmRoles.length; j++) {
@ -209,7 +209,7 @@ module.controller('OAuthClientScopeMappingCtrl', function($scope, $http, realm,
}); });
$scope.addRealmRole = function() { $scope.addRealmRole = function() {
$http.post('/auth/rest/admin/realms/' + realm.id + '/oauth-clients/' + oauth.id + '/scope-mappings/realm', $http.post('/auth/rest/admin/realms/' + realm.realm + '/oauth-clients/' + oauth.id + '/scope-mappings/realm',
$scope.selectedRealmRoles).success(function() { $scope.selectedRealmRoles).success(function() {
for (var i = 0; i < $scope.selectedRealmRoles.length; i++) { for (var i = 0; i < $scope.selectedRealmRoles.length; i++) {
var role = $scope.selectedRealmRoles[i]; var role = $scope.selectedRealmRoles[i];
@ -224,7 +224,7 @@ module.controller('OAuthClientScopeMappingCtrl', function($scope, $http, realm,
}; };
$scope.deleteRealmRole = function() { $scope.deleteRealmRole = function() {
$http.delete('/auth/rest/admin/realms/' + realm.id + '/oauth-clients/' + oauth.id + '/scope-mappings/realm', $http.delete('/auth/rest/admin/realms/' + realm.realm + '/oauth-clients/' + oauth.id + '/scope-mappings/realm',
{data : $scope.selectedRealmMappings, headers : {"content-type" : "application/json"}}).success(function() { {data : $scope.selectedRealmMappings, headers : {"content-type" : "application/json"}}).success(function() {
for (var i = 0; i < $scope.selectedRealmMappings.length; i++) { for (var i = 0; i < $scope.selectedRealmMappings.length; i++) {
var role = $scope.selectedRealmMappings[i]; var role = $scope.selectedRealmMappings[i];
@ -239,7 +239,7 @@ module.controller('OAuthClientScopeMappingCtrl', function($scope, $http, realm,
}; };
$scope.addApplicationRole = function() { $scope.addApplicationRole = function() {
$http.post('/auth/rest/admin/realms/' + realm.id + '/oauth-clients/' + oauth.id + '/scope-mappings/applications/' + $scope.targetApp.id, $http.post('/auth/rest/admin/realms/' + realm.realm + '/oauth-clients/' + oauth.id + '/scope-mappings/applications/' + $scope.targetApp.id,
$scope.selectedApplicationRoles).success(function() { $scope.selectedApplicationRoles).success(function() {
for (var i = 0; i < $scope.selectedApplicationRoles.length; i++) { for (var i = 0; i < $scope.selectedApplicationRoles.length; i++) {
var role = $scope.selectedApplicationRoles[i]; var role = $scope.selectedApplicationRoles[i];
@ -254,7 +254,7 @@ module.controller('OAuthClientScopeMappingCtrl', function($scope, $http, realm,
}; };
$scope.deleteApplicationRole = function() { $scope.deleteApplicationRole = function() {
$http.delete('/auth/rest/admin/realms/' + realm.id + '/oauth-clients/' + oauth.id + '/scope-mappings/applications/' + $scope.targetApp.id, $http.delete('/auth/rest/admin/realms/' + realm.realm + '/oauth-clients/' + oauth.id + '/scope-mappings/applications/' + $scope.targetApp.id,
{data : $scope.selectedApplicationMappings, headers : {"content-type" : "application/json"}}).success(function() { {data : $scope.selectedApplicationMappings, headers : {"content-type" : "application/json"}}).success(function() {
for (var i = 0; i < $scope.selectedApplicationMappings.length; i++) { for (var i = 0; i < $scope.selectedApplicationMappings.length; i++) {
var role = $scope.selectedApplicationMappings[i]; var role = $scope.selectedApplicationMappings[i];
@ -270,8 +270,8 @@ module.controller('OAuthClientScopeMappingCtrl', function($scope, $http, realm,
$scope.changeApplication = function() { $scope.changeApplication = function() {
$scope.applicationRoles = ApplicationRole.query({realm : realm.id, application : $scope.targetApp.id}, function() { $scope.applicationRoles = ApplicationRole.query({realm : realm.realm, application : $scope.targetApp.id}, function() {
$scope.applicationMappings = OAuthClientApplicationScopeMapping.query({realm : realm.id, oauth : oauth.id, targetApp : $scope.targetApp.id}, function(){ $scope.applicationMappings = OAuthClientApplicationScopeMapping.query({realm : realm.realm, oauth : oauth.id, targetApp : $scope.targetApp.id}, function(){
for (var i = 0; i < $scope.applicationMappings.length; i++) { for (var i = 0; i < $scope.applicationMappings.length; i++) {
var role = $scope.applicationMappings[i]; var role = $scope.applicationMappings[i];
for (var j = 0; j < $scope.applicationRoles.length; j++) { for (var j = 0; j < $scope.applicationRoles.length; j++) {

View file

@ -50,7 +50,7 @@ module.controller('RealmDropdownCtrl', function($scope, Realm, Current, Auth, $l
// Current.realms = Realm.get(); // Current.realms = Realm.get();
$scope.current = Current; $scope.current = Current;
$scope.changeRealm = function() { $scope.changeRealm = function() {
$location.url("/realms/" + $scope.current.realm.id); $location.url("/realms/" + $scope.current.realm.realm);
}; };
$scope.showNav = function() { $scope.showNav = function() {
var show = Current.realms.length > 0; var show = Current.realms.length > 0;
@ -143,7 +143,7 @@ module.controller('RealmCreateCtrl', function($scope, Current, Realm, $upload, $
module.controller('RealmDetailCtrl', function($scope, Current, Realm, realm, $http, $location, Dialog, Notifications) { module.controller('RealmDetailCtrl', function($scope, Current, Realm, realm, $http, $location, Dialog, Notifications) {
$scope.createRealm = !realm.id; $scope.createRealm = !realm.realm;
console.log('RealmDetailCtrl'); console.log('RealmDetailCtrl');
@ -154,15 +154,15 @@ module.controller('RealmDetailCtrl', function($scope, Current, Realm, realm, $ht
cookieLoginAllowed: true cookieLoginAllowed: true
}; };
} else { } else {
if (Current.realm == null || Current.realm.id != realm.id) { if (Current.realm == null || Current.realm.realm != realm.realm) {
for (var i = 0; i < Current.realms.length; i++) { for (var i = 0; i < Current.realms.length; i++) {
if (realm.id == Current.realms[i].id) { if (realm.realm == Current.realms[i].id) {
Current.realm = Current.realms[i]; Current.realm = Current.realms[i];
break; break;
} }
} }
} }
if (Current.realm == null || Current.realm.id != realm.id) { if (Current.realm == null || Current.realm.realm != realm.realm) {
console.log('should be unreachable'); console.log('should be unreachable');
console.log('Why? ' + Current.realms.length + ' ' + Current.realm); console.log('Why? ' + Current.realms.length + ' ' + Current.realm);
return; return;
@ -242,7 +242,7 @@ module.controller('RealmDetailCtrl', function($scope, Current, Realm, realm, $ht
$scope.remove = function() { $scope.remove = function() {
Dialog.confirmDelete($scope.realm.realm, 'realm', function() { Dialog.confirmDelete($scope.realm.realm, 'realm', function() {
Realm.remove({ id : $scope.realm.id }, function() { Realm.remove({ id : $scope.realm.realm }, function() {
Current.realms = Realm.query(); Current.realms = Realm.query();
Notifications.success("The realm has been deleted."); Notifications.success("The realm has been deleted.");
$location.url("/"); $location.url("/");
@ -255,7 +255,7 @@ module.controller('RealmRequiredCredentialsCtrl', function($scope, Realm, realm,
console.log('RealmRequiredCredentialsCtrl'); console.log('RealmRequiredCredentialsCtrl');
$scope.realm = { $scope.realm = {
id : realm.id, realm : realm.realm, social : realm.social, id : realm.realm, realm : realm.realm, social : realm.social,
requiredCredentials : realm.requiredCredentials, requiredCredentials : realm.requiredCredentials,
requiredApplicationCredentials : realm.requiredApplicationCredentials, requiredApplicationCredentials : realm.requiredApplicationCredentials,
requiredOAuthClientCredentials : realm.requiredOAuthClientCredentials, requiredOAuthClientCredentials : realm.requiredOAuthClientCredentials,
@ -406,7 +406,7 @@ module.controller('RealmRequiredCredentialsCtrl', function($scope, Realm, realm,
$scope.changed = false; $scope.changed = false;
Realm.update($scope.realm, function () { Realm.update($scope.realm, function () {
$location.url("/realms/" + realm.id + "/required-credentials"); $location.url("/realms/" + realm.realm + "/required-credentials");
Notifications.success("Your changes have been saved to the realm."); Notifications.success("Your changes have been saved to the realm.");
oldCopy = angular.copy($scope.realm); oldCopy = angular.copy($scope.realm);
}); });
@ -498,7 +498,7 @@ module.controller('RealmRegistrationCtrl', function ($scope, Realm, realm, appli
$scope.selectedAppDefRoles = []; $scope.selectedAppDefRoles = [];
// Populate available roles for selected application // Populate available roles for selected application
var appDefaultRoles = ApplicationRole.query({realm: $scope.realm.id, application: $scope.application.id}, function () { var appDefaultRoles = ApplicationRole.query({realm: $scope.realm.realm, application: $scope.application.id}, function () {
if (!$scope.application.hasOwnProperty('defaultRoles') || $scope.application.defaultRoles === null) { if (!$scope.application.hasOwnProperty('defaultRoles') || $scope.application.defaultRoles === null) {
$scope.application.defaultRoles = []; $scope.application.defaultRoles = [];
@ -535,7 +535,7 @@ module.controller('RealmRegistrationCtrl', function ($scope, Realm, realm, appli
// Update/save the selected application with new default roles. // Update/save the selected application with new default roles.
Application.update({ Application.update({
realm: $scope.realm.id, realm: $scope.realm.realm,
id: $scope.application.id id: $scope.application.id
}, $scope.application, function () { }, $scope.application, function () {
Notifications.success("Your changes have been saved to the application."); Notifications.success("Your changes have been saved to the application.");
@ -559,7 +559,7 @@ module.controller('RealmRegistrationCtrl', function ($scope, Realm, realm, appli
// Update/save the selected application with new default roles. // Update/save the selected application with new default roles.
Application.update({ Application.update({
realm: $scope.realm.id, realm: $scope.realm.realm,
id: $scope.application.id id: $scope.application.id
}, $scope.application, function () { }, $scope.application, function () {
Notifications.success("Your changes have been saved to the application."); Notifications.success("Your changes have been saved to the application.");
@ -672,7 +672,7 @@ module.controller('RealmSocialCtrl', function($scope, realm, Realm, $location, N
realmCopy.social = true; realmCopy.social = true;
$scope.changed = false; $scope.changed = false;
Realm.update(realmCopy, function () { Realm.update(realmCopy, function () {
$location.url("/realms/" + realm.id + "/social-settings"); $location.url("/realms/" + realm.realm + "/social-settings");
Notifications.success("Saved changes to realm"); Notifications.success("Saved changes to realm");
oldCopy = realmCopy; oldCopy = realmCopy;
}); });
@ -741,7 +741,7 @@ module.controller('RealmTokenDetailCtrl', function($scope, Realm, realm, $http,
$scope.changed = false; $scope.changed = false;
Realm.update(realmCopy, function () { Realm.update(realmCopy, function () {
$location.url("/realms/" + realm.id + "/token-settings"); $location.url("/realms/" + realm.realm + "/token-settings");
Notifications.success("Your changes have been saved to the realm."); Notifications.success("Your changes have been saved to the realm.");
}); });
}; };
@ -757,9 +757,9 @@ module.controller('RealmKeysDetailCtrl', function($scope, Realm, realm, $http, $
$scope.generate = function() { $scope.generate = function() {
Dialog.confirmGenerateKeys($scope.realm.realm, 'realm', function() { Dialog.confirmGenerateKeys($scope.realm.realm, 'realm', function() {
Realm.update({ id: realm.id, publicKey : 'GENERATE' }, function () { Realm.update({ id: realm.realm, publicKey : 'GENERATE' }, function () {
Notifications.success('New keys generated for realm.'); Notifications.success('New keys generated for realm.');
Realm.get({ id : realm.id }, function(updated) { Realm.get({ id : realm.realm }, function(updated) {
$scope.realm = updated; $scope.realm = updated;
}) })
}); });
@ -801,19 +801,19 @@ module.controller('RoleDetailCtrl', function($scope, realm, role, Role, $locatio
$scope.save = function() { $scope.save = function() {
if ($scope.create) { if ($scope.create) {
Role.save({ Role.save({
realm: realm.id realm: realm.realm
}, $scope.role, function (data, headers) { }, $scope.role, function (data, headers) {
$scope.changed = false; $scope.changed = false;
role = angular.copy($scope.role); role = angular.copy($scope.role);
var l = headers().location; var l = headers().location;
var id = l.substring(l.lastIndexOf("/") + 1); var id = l.substring(l.lastIndexOf("/") + 1);
$location.url("/realms/" + realm.id + "/roles/" + id); $location.url("/realms/" + realm.realm + "/roles/" + id);
Notifications.success("The role has been created."); Notifications.success("The role has been created.");
}); });
} else { } else {
Role.update({ Role.update({
realm : realm.id, realm : realm.realm,
roleId : role.id roleId : role.id
}, $scope.role, function() { }, $scope.role, function() {
$scope.changed = false; $scope.changed = false;
@ -829,16 +829,16 @@ module.controller('RoleDetailCtrl', function($scope, realm, role, Role, $locatio
}; };
$scope.cancel = function() { $scope.cancel = function() {
$location.url("/realms/" + realm.id + "/roles"); $location.url("/realms/" + realm.realm + "/roles");
}; };
$scope.remove = function() { $scope.remove = function() {
Dialog.confirmDelete($scope.role.name, 'role', function() { Dialog.confirmDelete($scope.role.name, 'role', function() {
$scope.role.$remove({ $scope.role.$remove({
realm : realm.id, realm : realm.realm,
roleId : $scope.role.id roleId : $scope.role.id
}, function() { }, function() {
$location.url("/realms/" + realm.id + "/roles"); $location.url("/realms/" + realm.realm + "/roles");
Notifications.success("The role has been deleted."); Notifications.success("The role has been deleted.");
}); });
}); });
@ -869,7 +869,7 @@ module.controller('RealmSMTPSettingsCtrl', function($scope, Current, Realm, real
realmCopy['smtpServer'] = detypeObject(realmCopy.smtpServer); realmCopy['smtpServer'] = detypeObject(realmCopy.smtpServer);
$scope.changed = false; $scope.changed = false;
Realm.update(realmCopy, function () { Realm.update(realmCopy, function () {
$location.url("/realms/" + realm.id + "/smtp-settings"); $location.url("/realms/" + realm.realm + "/smtp-settings");
Notifications.success("Your changes have been saved to the realm."); Notifications.success("Your changes have been saved to the realm.");
}); });
}; };

View file

@ -13,7 +13,7 @@ module.controller('UserRoleMappingCtrl', function($scope, $http, realm, user, ro
$scope.realmMappings = RealmRoleMapping.query({realm : realm.id, userId : user.username}, function(){ $scope.realmMappings = RealmRoleMapping.query({realm : realm.realm, userId : user.username}, function(){
for (var i = 0; i < $scope.realmMappings.length; i++) { for (var i = 0; i < $scope.realmMappings.length; i++) {
var role = $scope.realmMappings[i]; var role = $scope.realmMappings[i];
for (var j = 0; j < $scope.realmRoles.length; j++) { for (var j = 0; j < $scope.realmRoles.length; j++) {
@ -30,7 +30,7 @@ module.controller('UserRoleMappingCtrl', function($scope, $http, realm, user, ro
}); });
$scope.addRealmRole = function() { $scope.addRealmRole = function() {
$http.post('/auth/rest/admin/realms/' + realm.id + '/users/' + user.username + '/role-mappings/realm', $http.post('/auth/rest/admin/realms/' + realm.realm + '/users/' + user.username + '/role-mappings/realm',
$scope.selectedRealmRoles).success(function() { $scope.selectedRealmRoles).success(function() {
for (var i = 0; i < $scope.selectedRealmRoles.length; i++) { for (var i = 0; i < $scope.selectedRealmRoles.length; i++) {
var role = $scope.selectedRealmRoles[i]; var role = $scope.selectedRealmRoles[i];
@ -45,7 +45,7 @@ module.controller('UserRoleMappingCtrl', function($scope, $http, realm, user, ro
}; };
$scope.deleteRealmRole = function() { $scope.deleteRealmRole = function() {
$http.delete('/auth/rest/admin/realms/' + realm.id + '/users/' + user.username + '/role-mappings/realm', $http.delete('/auth/rest/admin/realms/' + realm.realm + '/users/' + user.username + '/role-mappings/realm',
{data : $scope.selectedRealmMappings, headers : {"content-type" : "application/json"}}).success(function() { {data : $scope.selectedRealmMappings, headers : {"content-type" : "application/json"}}).success(function() {
for (var i = 0; i < $scope.selectedRealmMappings.length; i++) { for (var i = 0; i < $scope.selectedRealmMappings.length; i++) {
var role = $scope.selectedRealmMappings[i]; var role = $scope.selectedRealmMappings[i];
@ -60,7 +60,7 @@ module.controller('UserRoleMappingCtrl', function($scope, $http, realm, user, ro
}; };
$scope.addApplicationRole = function() { $scope.addApplicationRole = function() {
$http.post('/auth/rest/admin/realms/' + realm.id + '/users/' + user.username + '/role-mappings/applications/' + $scope.application.id, $http.post('/auth/rest/admin/realms/' + realm.realm + '/users/' + user.username + '/role-mappings/applications/' + $scope.application.id,
$scope.selectedApplicationRoles).success(function() { $scope.selectedApplicationRoles).success(function() {
for (var i = 0; i < $scope.selectedApplicationRoles.length; i++) { for (var i = 0; i < $scope.selectedApplicationRoles.length; i++) {
var role = $scope.selectedApplicationRoles[i]; var role = $scope.selectedApplicationRoles[i];
@ -75,7 +75,7 @@ module.controller('UserRoleMappingCtrl', function($scope, $http, realm, user, ro
}; };
$scope.deleteApplicationRole = function() { $scope.deleteApplicationRole = function() {
$http.delete('/auth/rest/admin/realms/' + realm.id + '/users/' + user.username + '/role-mappings/applications/' + $scope.application.id, $http.delete('/auth/rest/admin/realms/' + realm.realm + '/users/' + user.username + '/role-mappings/applications/' + $scope.application.id,
{data : $scope.selectedApplicationMappings, headers : {"content-type" : "application/json"}}).success(function() { {data : $scope.selectedApplicationMappings, headers : {"content-type" : "application/json"}}).success(function() {
for (var i = 0; i < $scope.selectedApplicationMappings.length; i++) { for (var i = 0; i < $scope.selectedApplicationMappings.length; i++) {
var role = $scope.selectedApplicationMappings[i]; var role = $scope.selectedApplicationMappings[i];
@ -91,8 +91,8 @@ module.controller('UserRoleMappingCtrl', function($scope, $http, realm, user, ro
$scope.changeApplication = function() { $scope.changeApplication = function() {
$scope.applicationRoles = ApplicationRole.query({realm : realm.id, userId : user.username, application : $scope.application.id}, function() { $scope.applicationRoles = ApplicationRole.query({realm : realm.realm, userId : user.username, application : $scope.application.id}, function() {
$scope.applicationMappings = ApplicationRoleMapping.query({realm : realm.id, userId : user.username, application : $scope.application.id}, function(){ $scope.applicationMappings = ApplicationRoleMapping.query({realm : realm.realm, userId : user.username, application : $scope.application.id}, function(){
for (var i = 0; i < $scope.applicationMappings.length; i++) { for (var i = 0; i < $scope.applicationMappings.length; i++) {
var role = $scope.applicationMappings[i]; var role = $scope.applicationMappings[i];
for (var j = 0; j < $scope.applicationRoles.length; j++) { for (var j = 0; j < $scope.applicationRoles.length; j++) {
@ -122,7 +122,7 @@ module.controller('UserListCtrl', function($scope, realm, User) {
$scope.searchLoaded = false; $scope.searchLoaded = false;
$scope.currentSearch = $scope.search; $scope.currentSearch = $scope.search;
var params = { realm: realm.id }; var params = { realm: realm.realm };
if ($scope.search) { if ($scope.search) {
params.search = $scope.search; params.search = $scope.search;
} }
@ -185,17 +185,17 @@ module.controller('UserDetailCtrl', function($scope, realm, user, User, $locatio
$scope.save = function() { $scope.save = function() {
if ($scope.create) { if ($scope.create) {
User.save({ User.save({
realm: realm.id realm: realm.realm
}, $scope.user, function () { }, $scope.user, function () {
$scope.changed = false; $scope.changed = false;
user = angular.copy($scope.user); user = angular.copy($scope.user);
$location.url("/realms/" + realm.id + "/users/" + $scope.user.username); $location.url("/realms/" + realm.realm + "/users/" + $scope.user.username);
Notifications.success("The user has been created."); Notifications.success("The user has been created.");
}); });
} else { } else {
User.update({ User.update({
realm: realm.id, realm: realm.realm,
userId: $scope.user.username userId: $scope.user.username
}, $scope.user, function () { }, $scope.user, function () {
$scope.changed = false; $scope.changed = false;
@ -211,16 +211,16 @@ module.controller('UserDetailCtrl', function($scope, realm, user, User, $locatio
}; };
$scope.cancel = function() { $scope.cancel = function() {
$location.url("/realms/" + realm.id + "/users"); $location.url("/realms/" + realm.realm + "/users");
}; };
$scope.remove = function() { $scope.remove = function() {
Dialog.confirmDelete($scope.user.username, 'user', function() { Dialog.confirmDelete($scope.user.username, 'user', function() {
$scope.user.$remove({ $scope.user.$remove({
realm : realm.id, realm : realm.realm,
userId : $scope.user.username userId : $scope.user.username
}, function() { }, function() {
$location.url("/realms/" + realm.id + "/users"); $location.url("/realms/" + realm.realm + "/users");
Notifications.success("The user has been deleted."); Notifications.success("The user has been deleted.");
}); });
}); });
@ -259,7 +259,7 @@ module.controller('UserCredentialsCtrl', function($scope, realm, user, User, Use
var credentials = [ { type : "password", value : $scope.password } ]; var credentials = [ { type : "password", value : $scope.password } ];
User.update({ User.update({
realm: realm.id, realm: realm.realm,
userId: $scope.user.username userId: $scope.user.username
}, $scope.user, function () { }, $scope.user, function () {
@ -267,7 +267,7 @@ module.controller('UserCredentialsCtrl', function($scope, realm, user, User, Use
if ($scope.pwdChange){ if ($scope.pwdChange){
UserCredentials.update({ UserCredentials.update({
realm: realm.id, realm: realm.realm,
userId: $scope.user.username userId: $scope.user.username
}, credentials, function () { }, credentials, function () {
Notifications.success("The password has been reset. The user is required to change his password on" + Notifications.success("The password has been reset. The user is required to change his password on" +
@ -326,7 +326,7 @@ module.controller('UserCredentialsCtrl', function($scope, realm, user, User, Use
module.controller('RoleMappingCtrl', function($scope, realm, User, users, role, RoleMapping, Notifications) { module.controller('RoleMappingCtrl', function($scope, realm, User, users, role, RoleMapping, Notifications) {
$scope.realm = realm; $scope.realm = realm;
$scope.realmId = realm.realm || realm.id; $scope.realmId = realm.realm || realm.realm;
$scope.allUsers = User.query({ realm : $scope.realmId }); $scope.allUsers = User.query({ realm : $scope.realmId });
$scope.users = users; $scope.users = users;
$scope.role = role; $scope.role = role;

View file

@ -4,19 +4,19 @@
<div id="content-area" class="col-md-9" role="main"> <div id="content-area" class="col-md-9" role="main">
<div class="top-nav"> <div class="top-nav">
<ul class="rcue-tabs"> <ul class="rcue-tabs">
<li><a href="#/realms/{{realm.id}}/applications/{{application.id}}">Settings</a></li> <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}">Settings</a></li>
<li class="active"><a href="#/realms/{{realm.id}}/applications/{{application.id}}/credentials">Credentials</a></li> <li class="active"><a href="#/realms/{{realm.realm}}/applications/{{application.id}}/credentials">Credentials</a></li>
<li><a href="#/realms/{{realm.id}}/applications/{{application.id}}/installation">Installation</a></li> <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}/installation">Installation</a></li>
<li><a href="#/realms/{{realm.id}}/applications/{{application.id}}/roles">Roles</a></li> <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}/roles">Roles</a></li>
<li><a href="#/realms/{{realm.id}}/applications/{{application.id}}/scope-mappings">Scope</a></li> <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}/scope-mappings">Scope</a></li>
<li><a href="#/realms/{{realm.id}}/applications/{{application.id}}/sessions">Sessions</a></li> <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}/sessions">Sessions</a></li>
</ul> </ul>
</div> </div>
<div id="content"> <div id="content">
<ol class="breadcrumb" data-ng-hide="create"> <ol class="breadcrumb" data-ng-hide="create">
<li><a href="#/realms/{{realm.id}}">{{realm.realm}}</a></li> <li><a href="#/realms/{{realm.realm}}">{{realm.realm}}</a></li>
<li><a href="#/realms/{{realm.id}}/applications">Applications</a></li> <li><a href="#/realms/{{realm.realm}}/applications">Applications</a></li>
<li><a href="#/realms/{{realm.id}}/applications/{{application.id}}">{{application.name}}</a></li> <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}">{{application.name}}</a></li>
<li class="active">Credentials</li> <li class="active">Credentials</li>
</ol> </ol>
<h2 data-ng-hide="create"><span>{{application.name}}</span> Credentials</h2> <h2 data-ng-hide="create"><span>{{application.name}}</span> Credentials</h2>

View file

@ -4,12 +4,12 @@
<div id="content-area" class="col-md-9" role="main"> <div id="content-area" class="col-md-9" role="main">
<div class="top-nav" data-ng-show="!create"> <div class="top-nav" data-ng-show="!create">
<ul class="rcue-tabs"> <ul class="rcue-tabs">
<li class="active"><a href="#/realms/{{realm.id}}/applications/{{application.id}}">Settings</a></li> <li class="active"><a href="#/realms/{{realm.realm}}/applications/{{application.id}}">Settings</a></li>
<li><a href="#/realms/{{realm.id}}/applications/{{application.id}}/credentials">Credentials</a></li> <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}/credentials">Credentials</a></li>
<li><a href="#/realms/{{realm.id}}/applications/{{application.id}}/installation">Installation</a></li> <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}/installation">Installation</a></li>
<li><a href="#/realms/{{realm.id}}/applications/{{application.id}}/roles">Roles</a></li> <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}/roles">Roles</a></li>
<li><a href="#/realms/{{realm.id}}/applications/{{application.id}}/scope-mappings">Scope</a></li> <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}/scope-mappings">Scope</a></li>
<li><a href="#/realms/{{realm.id}}/applications/{{application.id}}/sessions">Sessions</a></li> <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}/sessions">Sessions</a></li>
</ul> </ul>
</div> </div>
<div class="top-nav" data-ng-show="create"> <div class="top-nav" data-ng-show="create">
@ -19,16 +19,16 @@
</div> </div>
<div id="content"> <div id="content">
<ol class="breadcrumb" data-ng-show="create"> <ol class="breadcrumb" data-ng-show="create">
<li><a href="#/realms/{{realm.id}}">{{realm.realm}}</a></li> <li><a href="#/realms/{{realm.realm}}">{{realm.realm}}</a></li>
<li><a href="#/realms/{{realm.id}}/applications">Applications</a></li> <li><a href="#/realms/{{realm.realm}}/applications">Applications</a></li>
<li class="active">Add Application</li> <li class="active">Add Application</li>
</ol> </ol>
<h2 class="pull-left" data-ng-show="create"><span>{{realm.realm}}</span> Add Application</h2> <h2 class="pull-left" data-ng-show="create"><span>{{realm.realm}}</span> Add Application</h2>
<p class="subtitle" data-ng-show="create"><span class="required">*</span> Required fields</p> <p class="subtitle" data-ng-show="create"><span class="required">*</span> Required fields</p>
<ol class="breadcrumb" data-ng-hide="create"> <ol class="breadcrumb" data-ng-hide="create">
<li><a href="#/realms/{{realm.id}}">{{realm.realm}}</a></li> <li><a href="#/realms/{{realm.realm}}">{{realm.realm}}</a></li>
<li><a href="#/realms/{{realm.id}}/applications">Applications</a></li> <li><a href="#/realms/{{realm.realm}}/applications">Applications</a></li>
<li><a href="#/realms/{{realm.id}}/applications/{{application.id}}">{{application.name}}</a></li> <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}">{{application.name}}</a></li>
<li class="active">Settings</li> <li class="active">Settings</li>
</ol> </ol>
<h2 data-ng-hide="create"><span>{{application.name}}</span> Settings</h2> <h2 data-ng-hide="create"><span>{{application.name}}</span> Settings</h2>

View file

@ -4,12 +4,12 @@
<div id="content-area" class="col-md-9" role="main"> <div id="content-area" class="col-md-9" role="main">
<div class="top-nav" data-ng-show="!create"> <div class="top-nav" data-ng-show="!create">
<ul class="rcue-tabs"> <ul class="rcue-tabs">
<li><a href="#/realms/{{realm.id}}/applications/{{application.id}}">Settings</a></li> <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}">Settings</a></li>
<li><a href="#/realms/{{realm.id}}/applications/{{application.id}}/credentials">Credentials</a></li> <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}/credentials">Credentials</a></li>
<li class="active"><a href="#/realms/{{realm.id}}/applications/{{application.id}}/installation">Installation</a></li> <li class="active"><a href="#/realms/{{realm.realm}}/applications/{{application.id}}/installation">Installation</a></li>
<li><a href="#/realms/{{realm.id}}/applications/{{application.id}}/roles">Roles</a></li> <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}/roles">Roles</a></li>
<li><a href="#/realms/{{realm.id}}/applications/{{application.id}}/scope-mappings">Scope</a></li> <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}/scope-mappings">Scope</a></li>
<li><a href="#/realms/{{realm.id}}/applications/{{application.id}}/sessions">Sessions</a></li> <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}/sessions">Sessions</a></li>
</ul> </ul>
</div> </div>
<div class="top-nav" data-ng-show="create"> <div class="top-nav" data-ng-show="create">

View file

@ -9,12 +9,12 @@
</div> </div>
<div id="content"> <div id="content">
<ol class="breadcrumb"> <ol class="breadcrumb">
<li><a href="#/realms/{{realm.id}}">{{realm.realm}}</a></li> <li><a href="#/realms/{{realm.realm}}">{{realm.realm}}</a></li>
<li class="active">Applications</li> <li class="active">Applications</li>
</ol> </ol>
<h2><span>{{realm.realm}}</span> Applications</h2> <h2><span>{{realm.realm}}</span> Applications</h2>
<div class="feedback info inline" data-ng-show="!applications || applications.length == 0"> <div class="feedback info inline" data-ng-show="!applications || applications.length == 0">
<p><strong>You have not configured applications.</strong> <a class="button" href="#/create/application/{{realm.id}}">Add Application</a></p> <p><strong>You have not configured applications.</strong> <a class="button" href="#/create/application/{{realm.realm}}">Add Application</a></p>
</div> </div>
<table data-ng-hide="applications.length == 0"> <table data-ng-hide="applications.length == 0">
<thead> <thead>
@ -29,7 +29,7 @@
</button> </button>
</div> </div>
<div class="actions"> <div class="actions">
<a class="button" href="#/create/application/{{realm.id}}">Add Application</a> <a class="button" href="#/create/application/{{realm.realm}}">Add Application</a>
</div> </div>
</th> </th>
</tr> </tr>
@ -53,7 +53,7 @@
</tfoot> </tfoot>
<tbody> <tbody>
<tr ng-repeat="app in applications | filter:search"> <tr ng-repeat="app in applications | filter:search">
<td><a href="#/realms/{{realm.id}}/applications/{{app.id}}">{{app.name}}</a></td> <td><a href="#/realms/{{realm.realm}}/applications/{{app.id}}">{{app.name}}</a></td>
<td>{{app.enabled}}</td> <td>{{app.enabled}}</td>
<td ng-class="{'text-muted': !app.baseUrl}">{{app.baseUrl || "Not defined"}}</td> <td ng-class="{'text-muted': !app.baseUrl}">{{app.baseUrl || "Not defined"}}</td>
</tr> </tr>

View file

@ -4,30 +4,30 @@
<div id="content-area" class="col-md-9" role="main"> <div id="content-area" class="col-md-9" role="main">
<div class="top-nav"> <div class="top-nav">
<ul class="rcue-tabs"> <ul class="rcue-tabs">
<li><a href="#/realms/{{realm.id}}/applications/{{application.id}}">Settings</a></li> <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}">Settings</a></li>
<li><a href="#/realms/{{realm.id}}/applications/{{application.id}}/credentials">Credentials</a></li> <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}/credentials">Credentials</a></li>
<li><a href="#/realms/{{realm.id}}/applications/{{application.id}}/installation">Installation</a></li> <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}/installation">Installation</a></li>
<li class="active"><a href="#/realms/{{realm.id}}/applications/{{application.id}}/roles">Roles</a></li> <li class="active"><a href="#/realms/{{realm.realm}}/applications/{{application.id}}/roles">Roles</a></li>
<li><a href="#/realms/{{realm.id}}/applications/{{application.id}}/scope-mappings">Scope</a></li> <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}/scope-mappings">Scope</a></li>
<li><a href="#/realms/{{realm.id}}/applications/{{application.id}}/sessions">Sessions</a></li> <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}/sessions">Sessions</a></li>
</ul> </ul>
</div> </div>
<div id="content"> <div id="content">
<ol class="breadcrumb" data-ng-show="create"> <ol class="breadcrumb" data-ng-show="create">
<li><a href="#/realms/{{realm.id}}">{{realm.realm}}</a></li> <li><a href="#/realms/{{realm.realm}}">{{realm.realm}}</a></li>
<li><a href="#/realms/{{realm.id}}/applications">Applications</a></li> <li><a href="#/realms/{{realm.realm}}/applications">Applications</a></li>
<li><a href="#/realms/{{realm.id}}/applications/{{application.id}}">{{application.name}}</a></li> <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}">{{application.name}}</a></li>
<li><a href="#/realms/{{realm.id}}/applications/{{application.id}}/roles">Roles</a></li> <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}/roles">Roles</a></li>
<li class="active">Add role</li> <li class="active">Add role</li>
</ol> </ol>
<h2 class="pull-left" data-ng-show="create"><span>{{application.name}}</span> Add Role</h2> <h2 class="pull-left" data-ng-show="create"><span>{{application.name}}</span> Add Role</h2>
<p class="subtitle" data-ng-show="create"><span class="required">*</span> Required fields</p> <p class="subtitle" data-ng-show="create"><span class="required">*</span> Required fields</p>
<ol class="breadcrumb" data-ng-hide="create"> <ol class="breadcrumb" data-ng-hide="create">
<li><a href="#/realms/{{realm.id}}">{{realm.realm}}</a></li> <li><a href="#/realms/{{realm.realm}}">{{realm.realm}}</a></li>
<li><a href="#/realms/{{realm.id}}/applications">Applications</a></li> <li><a href="#/realms/{{realm.realm}}/applications">Applications</a></li>
<li><a href="#/realms/{{realm.id}}/applications/{{application.id}}">{{application.name}}</a></li> <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}">{{application.name}}</a></li>
<li><a href="#/realms/{{realm.id}}/applications/{{application.id}}/roles">Roles</a></li> <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}/roles">Roles</a></li>
<li class="active">{{role.name}}</li> <li class="active">{{role.name}}</li>
</ol> </ol>

View file

@ -4,24 +4,24 @@
<div id="content-area" class="col-md-9" role="main"> <div id="content-area" class="col-md-9" role="main">
<div class="top-nav"> <div class="top-nav">
<ul class="rcue-tabs"> <ul class="rcue-tabs">
<li><a href="#/realms/{{realm.id}}/applications/{{application.id}}">Settings</a></li> <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}">Settings</a></li>
<li><a href="#/realms/{{realm.id}}/applications/{{application.id}}/credentials">Credentials</a></li> <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}/credentials">Credentials</a></li>
<li><a href="#/realms/{{realm.id}}/applications/{{application.id}}/installation">Installation</a></li> <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}/installation">Installation</a></li>
<li class="active"><a href="#/realms/{{realm.id}}/applications/{{application.id}}/roles">Roles</a></li> <li class="active"><a href="#/realms/{{realm.realm}}/applications/{{application.id}}/roles">Roles</a></li>
<li><a href="#/realms/{{realm.id}}/applications/{{application.id}}/scope-mappings">Scope</a></li> <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}/scope-mappings">Scope</a></li>
<li><a href="#/realms/{{realm.id}}/applications/{{application.id}}/sessions">Sessions</a></li> <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}/sessions">Sessions</a></li>
</ul> </ul>
</div> </div>
<div id="content"> <div id="content">
<ol class="breadcrumb" data-ng-hide="create"> <ol class="breadcrumb" data-ng-hide="create">
<li><a href="#/realms/{{realm.id}}">{{realm.realm}}</a></li> <li><a href="#/realms/{{realm.realm}}">{{realm.realm}}</a></li>
<li><a href="#/realms/{{realm.id}}/applications">Applications</a></li> <li><a href="#/realms/{{realm.realm}}/applications">Applications</a></li>
<li><a href="#/realms/{{realm.id}}/applications/{{application.id}}">{{application.name}}</a></li> <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}">{{application.name}}</a></li>
<li class="active">Roles</li> <li class="active">Roles</li>
</ol> </ol>
<h2><span>{{application.name}}</span> Roles</h2> <h2><span>{{application.name}}</span> Roles</h2>
<div class="feedback info inline" data-ng-show="!roles || roles.length == 0"> <div class="feedback info inline" data-ng-show="!roles || roles.length == 0">
<p><strong>You have not configured application roles.</strong> <a class="button" href="#/create/role/{{realm.id}}/applications/{{application.id}}">Add Role</a></p> <p><strong>You have not configured application roles.</strong> <a class="button" href="#/create/role/{{realm.realm}}/applications/{{application.id}}">Add Role</a></p>
</div> </div>
<table data-ng-hide="!roles || roles.length == 0"> <table data-ng-hide="!roles || roles.length == 0">
<caption data-ng-show="roles && roles.length > 0" class="hidden">Table of realm roles</caption> <caption data-ng-show="roles && roles.length > 0" class="hidden">Table of realm roles</caption>
@ -29,7 +29,7 @@
<tr> <tr>
<th class="rcue-table-actions" colspan="2"> <th class="rcue-table-actions" colspan="2">
<div class="actions"> <div class="actions">
<a class="button" href="#/create/role/{{realm.id}}/applications/{{application.id}}">Add Role</a> <a class="button" href="#/create/role/{{realm.realm}}/applications/{{application.id}}">Add Role</a>
<!-- <button class="remove disabled">Remove</button> --> <!-- <button class="remove disabled">Remove</button> -->
</div> </div>
</th> </th>
@ -64,7 +64,7 @@
</tfoot> </tfoot>
<tbody> <tbody>
<tr ng-repeat="role in roles"> <tr ng-repeat="role in roles">
<td><a href="#/realms/{{realm.id}}/applications/{{application.id}}/roles/{{role.id}}">{{role.name}}</a></td> <td><a href="#/realms/{{realm.realm}}/applications/{{application.id}}/roles/{{role.id}}">{{role.name}}</a></td>
<td>{{role.description}}</td> <td>{{role.description}}</td>
</tr> </tr>
</tbody> </tbody>

View file

@ -4,19 +4,19 @@
<div id="content-area" class="col-md-9" role="main"> <div id="content-area" class="col-md-9" role="main">
<div class="top-nav"> <div class="top-nav">
<ul class="rcue-tabs"> <ul class="rcue-tabs">
<li><a href="#/realms/{{realm.id}}/applications/{{application.id}}">Settings</a></li> <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}">Settings</a></li>
<li><a href="#/realms/{{realm.id}}/applications/{{application.id}}/credentials">Credentials</a></li> <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}/credentials">Credentials</a></li>
<li><a href="#">Installation</a></li> <li><a href="#">Installation</a></li>
<li><a href="#/realms/{{realm.id}}/applications/{{application.id}}/roles">Roles</a></li> <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}/roles">Roles</a></li>
<li class="active"><a href="#/realms/{{realm.id}}/applications/{{application.id}}/scope-mappings">Scope</a></li> <li class="active"><a href="#/realms/{{realm.realm}}/applications/{{application.id}}/scope-mappings">Scope</a></li>
<li><a href="#/realms/{{realm.id}}/applications/{{application.id}}/sessions">Sessions</a></li> <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}/sessions">Sessions</a></li>
</ul> </ul>
</div> </div>
<div id="content"> <div id="content">
<ol class="breadcrumb" data-ng-hide="create"> <ol class="breadcrumb" data-ng-hide="create">
<li><a href="#/realms/{{realm.id}}">{{realm.realm}}</a></li> <li><a href="#/realms/{{realm.realm}}">{{realm.realm}}</a></li>
<li><a href="#/realms/{{realm.id}}/applications">Applications</a></li> <li><a href="#/realms/{{realm.realm}}/applications">Applications</a></li>
<li><a href="#/realms/{{realm.id}}/applications/{{application.id}}">{{application.name}}</a></li> <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}">{{application.name}}</a></li>
<li class="active">Scope</li> <li class="active">Scope</li>
</ol> </ol>
<h2 class="pull-left"><span>{{application.name}}</span> Scope Mappings</h2> <h2 class="pull-left"><span>{{application.name}}</span> Scope Mappings</h2>

View file

@ -4,19 +4,19 @@
<div id="content-area" class="col-md-9" role="main"> <div id="content-area" class="col-md-9" role="main">
<div class="top-nav"> <div class="top-nav">
<ul class="rcue-tabs"> <ul class="rcue-tabs">
<li><a href="#/realms/{{realm.id}}/applications/{{application.id}}">Settings</a></li> <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}">Settings</a></li>
<li><a href="#/realms/{{realm.id}}/applications/{{application.id}}/credentials">Credentials</a></li> <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}/credentials">Credentials</a></li>
<li><a href="#/realms/{{realm.id}}/applications/{{application.id}}/installation">Installation</a></li> <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}/installation">Installation</a></li>
<li><a href="#/realms/{{realm.id}}/applications/{{application.id}}/roles">Roles</a></li> <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}/roles">Roles</a></li>
<li><a href="#/realms/{{realm.id}}/applications/{{application.id}}/scope-mappings">Scope</a></li> <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}/scope-mappings">Scope</a></li>
<li class="active"><a href="#/realms/{{realm.id}}/applications/{{application.id}}/sessions">Sessions</a></li> <li class="active"><a href="#/realms/{{realm.realm}}/applications/{{application.id}}/sessions">Sessions</a></li>
</ul> </ul>
</div> </div>
<div id="content"> <div id="content">
<ol class="breadcrumb" data-ng-hide="create"> <ol class="breadcrumb" data-ng-hide="create">
<li><a href="#/realms/{{realm.id}}">{{realm.realm}}</a></li> <li><a href="#/realms/{{realm.realm}}">{{realm.realm}}</a></li>
<li><a href="#/realms/{{realm.id}}/applications">Applications</a></li> <li><a href="#/realms/{{realm.realm}}/applications">Applications</a></li>
<li><a href="#/realms/{{realm.id}}/applications/{{application.id}}">{{application.name}}</a></li> <li><a href="#/realms/{{realm.realm}}/applications/{{application.id}}">{{application.name}}</a></li>
<li class="active">Sessions</li> <li class="active">Sessions</li>
</ol> </ol>
<h2 data-ng-hide="create"><span>{{application.name}}</span> Sessions (Placeholder Page)</h2> <h2 data-ng-hide="create"><span>{{application.name}}</span> Sessions (Placeholder Page)</h2>

View file

@ -4,17 +4,17 @@
<div id="content-area" class="col-md-9" role="main"> <div id="content-area" class="col-md-9" role="main">
<div class="top-nav"> <div class="top-nav">
<ul class="rcue-tabs"> <ul class="rcue-tabs">
<li><a href="#/realms/{{realm.id}}/oauth-clients/{{oauth.id}}">Settings</a></li> <li><a href="#/realms/{{realm.realm}}/oauth-clients/{{oauth.id}}">Settings</a></li>
<li class="active"><a href="#/realms/{{realm.id}}/oauth-clients/{{oauth.id}}/credentials">Credentials</a></li> <li class="active"><a href="#/realms/{{realm.realm}}/oauth-clients/{{oauth.id}}/credentials">Credentials</a></li>
<li><a href="#/realms/{{realm.id}}/oauth-clients/{{oauth.id}}/scope-mappings">Scope</a></li> <li><a href="#/realms/{{realm.realm}}/oauth-clients/{{oauth.id}}/scope-mappings">Scope</a></li>
<li><a href="#/realms/{{realm.id}}/oauth-clients/{{oauth.id}}/installation">Installation</a></li> <li><a href="#/realms/{{realm.realm}}/oauth-clients/{{oauth.id}}/installation">Installation</a></li>
</ul> </ul>
</div> </div>
<div id="content"> <div id="content">
<ol class="breadcrumb" data-ng-hide="create"> <ol class="breadcrumb" data-ng-hide="create">
<li><a href="#/realms/{{realm.id}}">{{realm.realm}}</a></li> <li><a href="#/realms/{{realm.realm}}">{{realm.realm}}</a></li>
<li><a href="#/realms/{{realm.id}}/oauth-clients">OAuth Clients</a></li> <li><a href="#/realms/{{realm.realm}}/oauth-clients">OAuth Clients</a></li>
<li><a href="#/realms/{{realm.id}}/oauth-clients/{{oauth.id}}">{{oauth.name}}</a></li> <li><a href="#/realms/{{realm.realm}}/oauth-clients/{{oauth.id}}">{{oauth.name}}</a></li>
<li class="active">Credentials</li> <li class="active">Credentials</li>
</ol> </ol>
<h2 data-ng-hide="create"><span>{{oauth.name}}</span> Credentials</h2> <h2 data-ng-hide="create"><span>{{oauth.name}}</span> Credentials</h2>

View file

@ -4,10 +4,10 @@
<div id="content-area" class="col-md-9" role="main"> <div id="content-area" class="col-md-9" role="main">
<div class="top-nav" data-ng-show="!create"> <div class="top-nav" data-ng-show="!create">
<ul class="rcue-tabs"> <ul class="rcue-tabs">
<li class="active"><a href="#/realms/{{realm.id}}/oauth-clients/{{oauth.id}}">Settings</a></li> <li class="active"><a href="#/realms/{{realm.realm}}/oauth-clients/{{oauth.id}}">Settings</a></li>
<li><a href="#/realms/{{realm.id}}/oauth-clients/{{oauth.id}}/credentials">Credentials</a></li> <li><a href="#/realms/{{realm.realm}}/oauth-clients/{{oauth.id}}/credentials">Credentials</a></li>
<li><a href="#/realms/{{realm.id}}/oauth-clients/{{oauth.id}}/scope-mappings">Scope</a></li> <li><a href="#/realms/{{realm.realm}}/oauth-clients/{{oauth.id}}/scope-mappings">Scope</a></li>
<li><a href="#/realms/{{realm.id}}/oauth-clients/{{oauth.id}}/installation">Installation</a></li> <li><a href="#/realms/{{realm.realm}}/oauth-clients/{{oauth.id}}/installation">Installation</a></li>
</ul> </ul>
</div> </div>
<div class="top-nav" data-ng-show="create"> <div class="top-nav" data-ng-show="create">
@ -17,16 +17,16 @@
</div> </div>
<div id="content"> <div id="content">
<ol class="breadcrumb" data-ng-show="create"> <ol class="breadcrumb" data-ng-show="create">
<li><a href="#/realms/{{realm.id}}">{{realm.realm}}</a></li> <li><a href="#/realms/{{realm.realm}}">{{realm.realm}}</a></li>
<li><a href="#/realms/{{realm.id}}/oauth-clients">OAuth Clients</a></li> <li><a href="#/realms/{{realm.realm}}/oauth-clients">OAuth Clients</a></li>
<li class="active">Add OAuth Client</li> <li class="active">Add OAuth Client</li>
</ol> </ol>
<h2 class="pull-left" data-ng-show="create"><span>{{realm.realm}}</span> Add OAuth Client</h2> <h2 class="pull-left" data-ng-show="create"><span>{{realm.realm}}</span> Add OAuth Client</h2>
<p class="subtitle" data-ng-show="create"><span class="required">*</span> Required fields</p> <p class="subtitle" data-ng-show="create"><span class="required">*</span> Required fields</p>
<ol class="breadcrumb" data-ng-hide="create"> <ol class="breadcrumb" data-ng-hide="create">
<li><a href="#/realms/{{realm.id}}">{{realm.realm}}</a></li> <li><a href="#/realms/{{realm.realm}}">{{realm.realm}}</a></li>
<li><a href="#/realms/{{realm.id}}/oauth-clients">OAuth Clients</a></li> <li><a href="#/realms/{{realm.realm}}/oauth-clients">OAuth Clients</a></li>
<li><a href="#/realms/{{realm.id}}/oauth-clients/{{oauth.id}}">{{oauth.name}}</a></li> <li><a href="#/realms/{{realm.realm}}/oauth-clients/{{oauth.id}}">{{oauth.name}}</a></li>
<li class="active">Settings</li> <li class="active">Settings</li>
</ol> </ol>
<h2 data-ng-hide="create"><span>{{oauth.name}}</span> Settings</h2> <h2 data-ng-hide="create"><span>{{oauth.name}}</span> Settings</h2>

View file

@ -4,10 +4,10 @@
<div id="content-area" class="col-md-9" role="main"> <div id="content-area" class="col-md-9" role="main">
<div class="top-nav" data-ng-show="!create"> <div class="top-nav" data-ng-show="!create">
<ul class="rcue-tabs"> <ul class="rcue-tabs">
<li><a href="#/realms/{{realm.id}}/oauth-clients/{{oauth.id}}">Settings</a></li> <li><a href="#/realms/{{realm.realm}}/oauth-clients/{{oauth.id}}">Settings</a></li>
<li><a href="#/realms/{{realm.id}}/oauth-clients/{{oauth.id}}/credentials">Credentials</a></li> <li><a href="#/realms/{{realm.realm}}/oauth-clients/{{oauth.id}}/credentials">Credentials</a></li>
<li><a href="#/realms/{{realm.id}}/oauth-clients/{{oauth.id}}/scope-mappings">Scope</a></li> <li><a href="#/realms/{{realm.realm}}/oauth-clients/{{oauth.id}}/scope-mappings">Scope</a></li>
<li class="active"><a href="#/realms/{{realm.id}}/oauth-clients/{{oauth.id}}/installation">Installation</a></li> <li class="active"><a href="#/realms/{{realm.realm}}/oauth-clients/{{oauth.id}}/installation">Installation</a></li>
</ul> </ul>
</div> </div>
<div class="top-nav" data-ng-show="create"> <div class="top-nav" data-ng-show="create">

View file

@ -9,12 +9,12 @@
</div> </div>
<div id="content"> <div id="content">
<ol class="breadcrumb"> <ol class="breadcrumb">
<li><a href="#/realms/{{realm.id}}">{{realm.realm}}</a></li> <li><a href="#/realms/{{realm.realm}}">{{realm.realm}}</a></li>
<li class="active">OAuth Clients</li> <li class="active">OAuth Clients</li>
</ol> </ol>
<h2><span>{{realm.realm}}</span> OAuth Clients</h2> <h2><span>{{realm.realm}}</span> OAuth Clients</h2>
<div class="feedback info inline" data-ng-show="!oauthClients || oauthClients.length == 0"> <div class="feedback info inline" data-ng-show="!oauthClients || oauthClients.length == 0">
<p><strong>You have not configured oauth clients.</strong> <a class="button" href="#/create/oauth-client/{{realm.id}}">Add OAuth Client</a></p> <p><strong>You have not configured oauth clients.</strong> <a class="button" href="#/create/oauth-client/{{realm.realm}}">Add OAuth Client</a></p>
</div> </div>
<table data-ng-hide="oauthClients.length == 0"> <table data-ng-hide="oauthClients.length == 0">
<thead> <thead>
@ -29,7 +29,7 @@
</button> </button>
</div> </div>
<div class="actions"> <div class="actions">
<a class="button" href="#/create/oauth-client/{{realm.id}}">Add OAuth Client</a> <a class="button" href="#/create/oauth-client/{{realm.realm}}">Add OAuth Client</a>
</div> </div>
</th> </th>
</tr> </tr>
@ -52,7 +52,7 @@
</tfoot> </tfoot>
<tbody> <tbody>
<tr ng-repeat="client in oauthClients"> <tr ng-repeat="client in oauthClients">
<td><a href="#/realms/{{realm.id}}/oauth-clients/{{client.id}}">{{client.name}}</a></td> <td><a href="#/realms/{{realm.realm}}/oauth-clients/{{client.id}}">{{client.name}}</a></td>
<td>{{client.enabled}}</td> <td>{{client.enabled}}</td>
</tr> </tr>
</tbody> </tbody>

View file

@ -4,17 +4,17 @@
<div id="content-area" class="col-md-9" role="main"> <div id="content-area" class="col-md-9" role="main">
<div class="top-nav"> <div class="top-nav">
<ul class="rcue-tabs"> <ul class="rcue-tabs">
<li><a href="#/realms/{{realm.id}}/oauth-clients/{{oauth.id}}">Settings</a></li> <li><a href="#/realms/{{realm.realm}}/oauth-clients/{{oauth.id}}">Settings</a></li>
<li><a href="#/realms/{{realm.id}}/oauth-clients/{{oauth.id}}/credentials">Credentials</a></li> <li><a href="#/realms/{{realm.realm}}/oauth-clients/{{oauth.id}}/credentials">Credentials</a></li>
<li class="active"><a href="#/realms/{{realm.id}}/oauth-clients/{{oauth.id}}/scope-mappings">Scope</a></li> <li class="active"><a href="#/realms/{{realm.realm}}/oauth-clients/{{oauth.id}}/scope-mappings">Scope</a></li>
<li><a href="#/realms/{{realm.id}}/oauth-clients/{{oauth.id}}/installation">Installation</a></li> <li><a href="#/realms/{{realm.realm}}/oauth-clients/{{oauth.id}}/installation">Installation</a></li>
</ul> </ul>
</div> </div>
<div id="content"> <div id="content">
<ol class="breadcrumb" data-ng-hide="create"> <ol class="breadcrumb" data-ng-hide="create">
<li><a href="#/realms/{{realm.id}}">{{realm.realm}}</a></li> <li><a href="#/realms/{{realm.realm}}">{{realm.realm}}</a></li>
<li><a href="#/realms/{{realm.id}}/oauth-clients">OAuth Clients</a></li> <li><a href="#/realms/{{realm.realm}}/oauth-clients">OAuth Clients</a></li>
<li><a href="#/realms/{{realm.id}}/oauth-clients/{{oauth.id}}">{{oauth.name}}</a></li> <li><a href="#/realms/{{realm.realm}}/oauth-clients/{{oauth.id}}">{{oauth.name}}</a></li>
<li class="active">Scope</li> <li class="active">Scope</li>
</ol> </ol>
<h2 class="pull-left"><span>{{oauth.name}}</span> Scope Mappings</h2> <h2 class="pull-left"><span>{{oauth.name}}</span> Scope Mappings</h2>

View file

@ -4,20 +4,20 @@
<div id="content-area" class="col-md-9" role="main"> <div id="content-area" class="col-md-9" role="main">
<div class="top-nav" data-ng-hide="createRealm"> <div class="top-nav" data-ng-hide="createRealm">
<ul class="rcue-tabs"> <ul class="rcue-tabs">
<li><a href="#/realms/{{realm.id}}">General</a></li> <li><a href="#/realms/{{realm.realm}}">General</a></li>
<li data-ng-show="realm.social"><a href="#/realms/{{realm.id}}/social-settings">Social</a></li> <li data-ng-show="realm.social"><a href="#/realms/{{realm.realm}}/social-settings">Social</a></li>
<li data-ng-show="realm.registrationAllowed"><a href="#/realms/{{realm.id}}/registration-settings">Registration</a></li> <li data-ng-show="realm.registrationAllowed"><a href="#/realms/{{realm.realm}}/registration-settings">Registration</a></li>
<li><a href="#/realms/{{realm.id}}/roles">Roles</a></li> <li><a href="#/realms/{{realm.realm}}/roles">Roles</a></li>
<li class="active"><a href="#/realms/{{realm.id}}/required-credentials">Credentials</a></li> <li class="active"><a href="#/realms/{{realm.realm}}/required-credentials">Credentials</a></li>
<li><a href="#/realms/{{realm.id}}/token-settings">Token</a></li> <li><a href="#/realms/{{realm.realm}}/token-settings">Token</a></li>
<li><a href="#/realms/{{realm.id}}/keys-settings">Keys</a></li> <li><a href="#/realms/{{realm.realm}}/keys-settings">Keys</a></li>
<li><a href="#/realms/{{realm.id}}/smtp-settings">SMTP</a></li> <li><a href="#/realms/{{realm.realm}}/smtp-settings">SMTP</a></li>
</ul> </ul>
</div> </div>
<div id="content"> <div id="content">
<ol class="breadcrumb"> <ol class="breadcrumb">
<li><a href="#/realms/{{realm.id}}">{{realm.realm}}</a></li> <li><a href="#/realms/{{realm.realm}}">{{realm.realm}}</a></li>
<li><a href="#/realms/{{realm.id}}">Settings</a></li> <li><a href="#/realms/{{realm.realm}}">Settings</a></li>
<li class="active">Required Credentials</li> <li class="active">Required Credentials</li>
</ol> </ol>
<h2><span>{{realm.realm}}</span> Credentials</h2> <h2><span>{{realm.realm}}</span> Credentials</h2>

View file

@ -4,20 +4,20 @@
<div id="content-area" class="col-md-9" role="main"> <div id="content-area" class="col-md-9" role="main">
<div class="top-nav" data-ng-hide="createRealm"> <div class="top-nav" data-ng-hide="createRealm">
<ul class="rcue-tabs"> <ul class="rcue-tabs">
<li class="active"><a href="#/realms/{{realm.id}}">General</a></li> <li class="active"><a href="#/realms/{{realm.realm}}">General</a></li>
<li data-ng-show="social"><a href="#/realms/{{realm.id}}/social-settings">Social</a></li> <li data-ng-show="social"><a href="#/realms/{{realm.realm}}/social-settings">Social</a></li>
<li data-ng-show="registrationAllowed"><a href="#/realms/{{realm.id}}/registration-settings">Registration</a></li> <li data-ng-show="registrationAllowed"><a href="#/realms/{{realm.realm}}/registration-settings">Registration</a></li>
<li><a href="#/realms/{{realm.id}}/roles">Roles</a></li> <li><a href="#/realms/{{realm.realm}}/roles">Roles</a></li>
<li><a href="#/realms/{{realm.id}}/required-credentials">Credentials</a></li> <li><a href="#/realms/{{realm.realm}}/required-credentials">Credentials</a></li>
<li><a href="#/realms/{{realm.id}}/token-settings">Token</a></li> <li><a href="#/realms/{{realm.realm}}/token-settings">Token</a></li>
<li><a href="#/realms/{{realm.id}}/keys-settings">Keys</a></li> <li><a href="#/realms/{{realm.realm}}/keys-settings">Keys</a></li>
<li><a href="#/realms/{{realm.id}}/smtp-settings">SMTP</a></li> <li><a href="#/realms/{{realm.realm}}/smtp-settings">SMTP</a></li>
</ul> </ul>
</div> </div>
<div id="content"> <div id="content">
<ol class="breadcrumb" data-ng-hide="createRealm"> <ol class="breadcrumb" data-ng-hide="createRealm">
<li><a href="#/realms/{{realm.id}}">{{realm.realm}}</a></li> <li><a href="#/realms/{{realm.realm}}">{{realm.realm}}</a></li>
<li><a href="#/realms/{{realm.id}}">Settings</a></li> <li><a href="#/realms/{{realm.realm}}">Settings</a></li>
<li class="active">General</li> <li class="active">General</li>
</ol> </ol>
<h2 class="pull-left" data-ng-show="createRealm">Add Realm</h2> <h2 class="pull-left" data-ng-show="createRealm">Add Realm</h2>

View file

@ -4,20 +4,20 @@
<div id="content-area" class="col-md-9" role="main"> <div id="content-area" class="col-md-9" role="main">
<div class="top-nav" data-ng-hide="createRealm"> <div class="top-nav" data-ng-hide="createRealm">
<ul class="rcue-tabs"> <ul class="rcue-tabs">
<li><a href="#/realms/{{realm.id}}">General</a></li> <li><a href="#/realms/{{realm.realm}}">General</a></li>
<li data-ng-show="realm.social"><a href="#/realms/{{realm.id}}/social-settings">Social</a></li> <li data-ng-show="realm.social"><a href="#/realms/{{realm.realm}}/social-settings">Social</a></li>
<li data-ng-show="realm.registrationAllowed"><a href="#/realms/{{realm.id}}/registration-settings">Registration</a></li> <li data-ng-show="realm.registrationAllowed"><a href="#/realms/{{realm.realm}}/registration-settings">Registration</a></li>
<li><a href="#/realms/{{realm.id}}/roles">Roles</a></li> <li><a href="#/realms/{{realm.realm}}/roles">Roles</a></li>
<li><a href="#/realms/{{realm.id}}/required-credentials">Credentials</a></li> <li><a href="#/realms/{{realm.realm}}/required-credentials">Credentials</a></li>
<li><a href="#/realms/{{realm.id}}/token-settings">Token</a></li> <li><a href="#/realms/{{realm.realm}}/token-settings">Token</a></li>
<li class="active"><a href="#/realms/{{realm.id}}/keys-settings">Keys</a></li> <li class="active"><a href="#/realms/{{realm.realm}}/keys-settings">Keys</a></li>
<li><a href="#/realms/{{realm.id}}/smtp-settings">SMTP</a></li> <li><a href="#/realms/{{realm.realm}}/smtp-settings">SMTP</a></li>
</ul> </ul>
</div> </div>
<div id="content"> <div id="content">
<ol class="breadcrumb"> <ol class="breadcrumb">
<li><a href="#/realms/{{realm.id}}">{{realm.realm}}</a></li> <li><a href="#/realms/{{realm.realm}}">{{realm.realm}}</a></li>
<li><a href="#/realms/{{realm.id}}">Settings</a></li> <li><a href="#/realms/{{realm.realm}}">Settings</a></li>
<li class="active">Keys</li> <li class="active">Keys</li>
</ol> </ol>
<h2><span>{{realm.realm}}</span> Keys</h2> <h2><span>{{realm.realm}}</span> Keys</h2>

View file

@ -1,10 +1,10 @@
<ul data-ng-hide="createRealm"> <ul data-ng-hide="createRealm">
<li data-ng-class="((!path[2] || path[1] == 'role' || path[2] == 'roles' || path[2] == 'token-settings' || <li data-ng-class="((!path[2] || path[1] == 'role' || path[2] == 'roles' || path[2] == 'token-settings' ||
path[2] == 'social-settings' || path[2] == 'required-credentials' || path[2] == 'registration-settings' || path[2] == 'social-settings' || path[2] == 'required-credentials' || path[2] == 'registration-settings' ||
path[2] == 'keys-settings' || path[2] == 'smtp-settings') && path[3] != 'applications') && 'active'"><a href="#/realms/{{realm.id}}">Settings</a></li> path[2] == 'keys-settings' || path[2] == 'smtp-settings') && path[3] != 'applications') && 'active'"><a href="#/realms/{{realm.realm}}">Settings</a></li>
<li data-ng-class="(path[2] == 'users' || path[1] == 'user') && 'active'"><a href="#/realms/{{realm.id}}/users">Users</a> <li data-ng-class="(path[2] == 'users' || path[1] == 'user') && 'active'"><a href="#/realms/{{realm.realm}}/users">Users</a>
</li> </li>
<li data-ng-class="(path[2] == 'applications' || path[1] == 'application' || path[3] == 'applications') && 'active'"><a href="#/realms/{{realm.id}}/applications">Applications</a></li> <li data-ng-class="(path[2] == 'applications' || path[1] == 'application' || path[3] == 'applications') && 'active'"><a href="#/realms/{{realm.realm}}/applications">Applications</a></li>
<li data-ng-class="(path[2] == 'oauth-clients' || path[1] == 'oauth-client') && 'active'"><a href="#/realms/{{realm.id}}/oauth-clients">OAuth Clients</a></li> <li data-ng-class="(path[2] == 'oauth-clients' || path[1] == 'oauth-client') && 'active'"><a href="#/realms/{{realm.realm}}/oauth-clients">OAuth Clients</a></li>
</ul> </ul>

View file

@ -4,20 +4,20 @@
<div id="content-area" class="col-md-9" role="main"> <div id="content-area" class="col-md-9" role="main">
<div class="top-nav" data-ng-hide="createRealm"> <div class="top-nav" data-ng-hide="createRealm">
<ul class="rcue-tabs"> <ul class="rcue-tabs">
<li><a href="#/realms/{{realm.id}}">General</a></li> <li><a href="#/realms/{{realm.realm}}">General</a></li>
<li data-ng-show="realm.social"><a href="#/realms/{{realm.id}}/social-settings">Social</a></li> <li data-ng-show="realm.social"><a href="#/realms/{{realm.realm}}/social-settings">Social</a></li>
<li class="active"><a href="#/realms/{{realm.id}}/registration-settings">Registration</a></li> <li class="active"><a href="#/realms/{{realm.realm}}/registration-settings">Registration</a></li>
<li><a href="#/realms/{{realm.id}}/roles">Roles</a></li> <li><a href="#/realms/{{realm.realm}}/roles">Roles</a></li>
<li><a href="#/realms/{{realm.id}}/required-credentials">Credentials</a></li> <li><a href="#/realms/{{realm.realm}}/required-credentials">Credentials</a></li>
<li><a href="#/realms/{{realm.id}}/token-settings">Token</a></li> <li><a href="#/realms/{{realm.realm}}/token-settings">Token</a></li>
<li><a href="#/realms/{{realm.id}}/keys-settings">Keys</a></li> <li><a href="#/realms/{{realm.realm}}/keys-settings">Keys</a></li>
<li><a href="#/realms/{{realm.id}}/smtp-settings">SMTP</a></li> <li><a href="#/realms/{{realm.realm}}/smtp-settings">SMTP</a></li>
</ul> </ul>
</div> </div>
<div id="content"> <div id="content">
<ol class="breadcrumb"> <ol class="breadcrumb">
<li><a href="#/realms/{{realm.id}}">{{realm.realm}}</a></li> <li><a href="#/realms/{{realm.realm}}">{{realm.realm}}</a></li>
<li><a href="#/realms/{{realm.id}}">Settings</a></li> <li><a href="#/realms/{{realm.realm}}">Settings</a></li>
<li class="active">Registration</li> <li class="active">Registration</li>
</ol> </ol>
<h2><span>{{realm.realm}}</span> Registration Settings</h2> <h2><span>{{realm.realm}}</span> Registration Settings</h2>

View file

@ -4,20 +4,20 @@
<div id="content-area" class="col-md-9" role="main"> <div id="content-area" class="col-md-9" role="main">
<div class="top-nav" data-ng-hide="createRealm"> <div class="top-nav" data-ng-hide="createRealm">
<ul class="rcue-tabs"> <ul class="rcue-tabs">
<li><a href="#/realms/{{realm.id}}">General</a></li> <li><a href="#/realms/{{realm.realm}}">General</a></li>
<li data-ng-show="realm.social"><a href="#/realms/{{realm.id}}/social-settings">Social</a></li> <li data-ng-show="realm.social"><a href="#/realms/{{realm.realm}}/social-settings">Social</a></li>
<li data-ng-show="realm.registrationAllowed"><a href="#/realms/{{realm.id}}/registration-settings">Registration</a></li> <li data-ng-show="realm.registrationAllowed"><a href="#/realms/{{realm.realm}}/registration-settings">Registration</a></li>
<li><a href="#/realms/{{realm.id}}/roles">Roles</a></li> <li><a href="#/realms/{{realm.realm}}/roles">Roles</a></li>
<li><a href="#/realms/{{realm.id}}/required-credentials">Credentials</a></li> <li><a href="#/realms/{{realm.realm}}/required-credentials">Credentials</a></li>
<li><a href="#/realms/{{realm.id}}/token-settings">Token</a></li> <li><a href="#/realms/{{realm.realm}}/token-settings">Token</a></li>
<li><a href="#/realms/{{realm.id}}/keys-settings">Keys</a></li> <li><a href="#/realms/{{realm.realm}}/keys-settings">Keys</a></li>
<li class="active"><a href="#/realms/{{realm.id}}/smtp-settings">SMTP</a></li> <li class="active"><a href="#/realms/{{realm.realm}}/smtp-settings">SMTP</a></li>
</ul> </ul>
</div> </div>
<div id="content"> <div id="content">
<ol class="breadcrumb"> <ol class="breadcrumb">
<li><a href="#/realms/{{realm.id}}">{{realm.realm}}</a></li> <li><a href="#/realms/{{realm.realm}}">{{realm.realm}}</a></li>
<li><a href="#/realms/{{realm.id}}">Settings</a></li> <li><a href="#/realms/{{realm.realm}}">Settings</a></li>
<li class="active">SMTP Configuration</li> <li class="active">SMTP Configuration</li>
</ol> </ol>
<h2 class="pull-left"><span>{{realm.realm}}</span> SMTP Settings</h2> <h2 class="pull-left"><span>{{realm.realm}}</span> SMTP Settings</h2>

View file

@ -4,20 +4,20 @@
<div id="content-area" class="col-md-9" role="main"> <div id="content-area" class="col-md-9" role="main">
<div class="top-nav" data-ng-hide="createRealm"> <div class="top-nav" data-ng-hide="createRealm">
<ul class="rcue-tabs"> <ul class="rcue-tabs">
<li><a href="#/realms/{{realm.id}}">General</a></li> <li><a href="#/realms/{{realm.realm}}">General</a></li>
<li class="active" data-ng-show="realm.social"><a href="#/realms/{{realm.id}}/social-settings">Social</a></li> <li class="active" data-ng-show="realm.social"><a href="#/realms/{{realm.realm}}/social-settings">Social</a></li>
<li data-ng-show="realm.registrationAllowed"><a href="#/realms/{{realm.id}}/registration-settings">Registration</a></li> <li data-ng-show="realm.registrationAllowed"><a href="#/realms/{{realm.realm}}/registration-settings">Registration</a></li>
<li><a href="#/realms/{{realm.id}}/roles">Roles</a></li> <li><a href="#/realms/{{realm.realm}}/roles">Roles</a></li>
<li><a href="#/realms/{{realm.id}}/required-credentials">Credentials</a></li> <li><a href="#/realms/{{realm.realm}}/required-credentials">Credentials</a></li>
<li><a href="#/realms/{{realm.id}}/token-settings">Token</a></li> <li><a href="#/realms/{{realm.realm}}/token-settings">Token</a></li>
<li><a href="#/realms/{{realm.id}}/keys-settings">Keys</a></li> <li><a href="#/realms/{{realm.realm}}/keys-settings">Keys</a></li>
<li><a href="#/realms/{{realm.id}}/smtp-settings">SMTP</a></li> <li><a href="#/realms/{{realm.realm}}/smtp-settings">SMTP</a></li>
</ul> </ul>
</div> </div>
<div id="content"> <div id="content">
<ol class="breadcrumb"> <ol class="breadcrumb">
<li><a href="#/realms/{{realm.id}}">{{realm.realm}}</a></li> <li><a href="#/realms/{{realm.realm}}">{{realm.realm}}</a></li>
<li><a href="#/realms/{{realm.id}}">Settings</a></li> <li><a href="#/realms/{{realm.realm}}">Settings</a></li>
<li class="active">Social</li> <li class="active">Social</li>
</ol> </ol>
<h2><span>{{realm.realm}}</span> Social Providers Settings</h2> <h2><span>{{realm.realm}}</span> Social Providers Settings</h2>

View file

@ -4,20 +4,20 @@
<div id="content-area" class="col-md-9" role="main"> <div id="content-area" class="col-md-9" role="main">
<div class="top-nav" data-ng-hide="createRealm"> <div class="top-nav" data-ng-hide="createRealm">
<ul class="rcue-tabs"> <ul class="rcue-tabs">
<li><a href="#/realms/{{realm.id}}">General</a></li> <li><a href="#/realms/{{realm.realm}}">General</a></li>
<li data-ng-show="realm.social"><a href="#/realms/{{realm.id}}/social-settings">Social</a></li> <li data-ng-show="realm.social"><a href="#/realms/{{realm.realm}}/social-settings">Social</a></li>
<li data-ng-show="realm.registrationAllowed"><a href="#/realms/{{realm.id}}/registration-settings">Registration</a></li> <li data-ng-show="realm.registrationAllowed"><a href="#/realms/{{realm.realm}}/registration-settings">Registration</a></li>
<li><a href="#/realms/{{realm.id}}/roles">Roles</a></li> <li><a href="#/realms/{{realm.realm}}/roles">Roles</a></li>
<li><a href="#/realms/{{realm.id}}/required-credentials">Credentials</a></li> <li><a href="#/realms/{{realm.realm}}/required-credentials">Credentials</a></li>
<li class="active"><a href="#/realms/{{realm.id}}/token-settings">Token</a></li> <li class="active"><a href="#/realms/{{realm.realm}}/token-settings">Token</a></li>
<li><a href="#/realms/{{realm.id}}/keys-settings">Keys</a></li> <li><a href="#/realms/{{realm.realm}}/keys-settings">Keys</a></li>
<li><a href="#/realms/{{realm.id}}/smtp-settings">SMTP</a></li> <li><a href="#/realms/{{realm.realm}}/smtp-settings">SMTP</a></li>
</ul> </ul>
</div> </div>
<div id="content"> <div id="content">
<ol class="breadcrumb"> <ol class="breadcrumb">
<li><a href="#/realms/{{realm.id}}">{{realm.realm}}</a></li> <li><a href="#/realms/{{realm.realm}}">{{realm.realm}}</a></li>
<li><a href="#/realms/{{realm.id}}">Settings</a></li> <li><a href="#/realms/{{realm.realm}}">Settings</a></li>
<li class="active">Token</li> <li class="active">Token</li>
</ol> </ol>
<h2><span>{{realm.realm}}</span> Token Settings</h2> <h2><span>{{realm.realm}}</span> Token Settings</h2>

View file

@ -4,28 +4,28 @@
<div id="content-area" class="col-md-9" role="main"> <div id="content-area" class="col-md-9" role="main">
<div class="top-nav"> <div class="top-nav">
<ul class="rcue-tabs"> <ul class="rcue-tabs">
<li><a href="#/realms/{{realm.id}}">General</a></li> <li><a href="#/realms/{{realm.realm}}">General</a></li>
<li data-ng-show="realm.social"><a href="#/realms/{{realm.id}}/social-settings">Social</a></li> <li data-ng-show="realm.social"><a href="#/realms/{{realm.realm}}/social-settings">Social</a></li>
<li><a href="#/realms/{{realm.id}}/registration-settings">Registration</a></li> <li><a href="#/realms/{{realm.realm}}/registration-settings">Registration</a></li>
<li class="active"><a href="#/realms/{{realm.id}}/roles">Roles</a></li> <li class="active"><a href="#/realms/{{realm.realm}}/roles">Roles</a></li>
<li><a href="#/realms/{{realm.id}}/required-credentials">Credentials</a></li> <li><a href="#/realms/{{realm.realm}}/required-credentials">Credentials</a></li>
<li><a href="#/realms/{{realm.id}}/token-settings">Token</a></li> <li><a href="#/realms/{{realm.realm}}/token-settings">Token</a></li>
<li><a href="#/realms/{{realm.id}}/keys-settings">Keys</a></li> <li><a href="#/realms/{{realm.realm}}/keys-settings">Keys</a></li>
<li><a href="#/realms/{{realm.id}}/smtp-settings">SMTP</a></li> <li><a href="#/realms/{{realm.realm}}/smtp-settings">SMTP</a></li>
</ul> </ul>
</div> </div>
<div id="content"> <div id="content">
<ol class="breadcrumb" data-ng-hide="create"> <ol class="breadcrumb" data-ng-hide="create">
<li><a href="#/realms/{{realm.id}}">{{realm.realm}}</a></li> <li><a href="#/realms/{{realm.realm}}">{{realm.realm}}</a></li>
<li><a href="#/realms/{{realm.id}}">Settings</a></li> <li><a href="#/realms/{{realm.realm}}">Settings</a></li>
<li><a href="#/realms/{{realm.id}}/roles">Roles</a></li> <li><a href="#/realms/{{realm.realm}}/roles">Roles</a></li>
<li class="active">{{role.name}}</li> <li class="active">{{role.name}}</li>
</ol> </ol>
<h2 class="pull-left" data-ng-hide="create"><span>{{realm.realm}}</span> {{role.name}}</h2> <h2 class="pull-left" data-ng-hide="create"><span>{{realm.realm}}</span> {{role.name}}</h2>
<ol class="breadcrumb" data-ng-show="create"> <ol class="breadcrumb" data-ng-show="create">
<li><a href="#/realms/{{realm.id}}">{{realm.realm}}</a></li> <li><a href="#/realms/{{realm.realm}}">{{realm.realm}}</a></li>
<li><a href="#/realms/{{realm.id}}">Settings</a></li> <li><a href="#/realms/{{realm.realm}}">Settings</a></li>
<li><a href="#/realms/{{realm.id}}/roles">Roles</a></li> <li><a href="#/realms/{{realm.realm}}/roles">Roles</a></li>
<li class="active">Add Role</li> <li class="active">Add Role</li>
</ol> </ol>
<h2 class="pull-left" data-ng-show="create"><span>{{realm.realm}}</span> Add Role</h2> <h2 class="pull-left" data-ng-show="create"><span>{{realm.realm}}</span> Add Role</h2>

View file

@ -4,32 +4,32 @@
<div id="content-area" class="col-md-9" role="main"> <div id="content-area" class="col-md-9" role="main">
<div class="top-nav"> <div class="top-nav">
<ul class="rcue-tabs"> <ul class="rcue-tabs">
<li><a href="#/realms/{{realm.id}}">General</a></li> <li><a href="#/realms/{{realm.realm}}">General</a></li>
<li data-ng-show="realm.social"><a href="#/realms/{{realm.id}}/social-settings">Social</a></li> <li data-ng-show="realm.social"><a href="#/realms/{{realm.realm}}/social-settings">Social</a></li>
<li data-ng-show="realm.registrationAllowed"><a href="#/realms/{{realm.id}}/registration-settings">Registration</a></li> <li data-ng-show="realm.registrationAllowed"><a href="#/realms/{{realm.realm}}/registration-settings">Registration</a></li>
<li class="active"><a href="#/realms/{{realm.id}}/roles">Roles</a></li> <li class="active"><a href="#/realms/{{realm.realm}}/roles">Roles</a></li>
<li><a href="#/realms/{{realm.id}}/required-credentials">Credentials</a></li> <li><a href="#/realms/{{realm.realm}}/required-credentials">Credentials</a></li>
<li><a href="#/realms/{{realm.id}}/token-settings">Token</a></li> <li><a href="#/realms/{{realm.realm}}/token-settings">Token</a></li>
<li><a href="#/realms/{{realm.id}}/keys-settings">Keys</a></li> <li><a href="#/realms/{{realm.realm}}/keys-settings">Keys</a></li>
<li><a href="#/realms/{{realm.id}}/smtp-settings">SMTP</a></li> <li><a href="#/realms/{{realm.realm}}/smtp-settings">SMTP</a></li>
</ul> </ul>
</div> </div>
<div id="content"> <div id="content">
<ol class="breadcrumb"> <ol class="breadcrumb">
<li><a href="#/realms/{{realm.id}}">{{realm.realm}}</a></li> <li><a href="#/realms/{{realm.realm}}">{{realm.realm}}</a></li>
<li><a href="#/realms/{{realm.id}}">Settings</a></li> <li><a href="#/realms/{{realm.realm}}">Settings</a></li>
<li class="active">Roles</li> <li class="active">Roles</li>
</ol> </ol>
<h2><span>{{realm.realm}}</span> Roles</h2> <h2><span>{{realm.realm}}</span> Roles</h2>
<div class="feedback info inline" data-ng-show="!roles || roles.length == 0"> <div class="feedback info inline" data-ng-show="!roles || roles.length == 0">
<p><strong>You have not configured realm roles.</strong> <a class="button" href="#/create/role/{{realm.id}}">Add Role</a></p> <p><strong>You have not configured realm roles.</strong> <a class="button" href="#/create/role/{{realm.realm}}">Add Role</a></p>
</div> </div>
<table data-ng-hide="!roles || roles.length == 0"> <table data-ng-hide="!roles || roles.length == 0">
<thead> <thead>
<tr> <tr>
<th class="rcue-table-actions" colspan="2"> <th class="rcue-table-actions" colspan="2">
<div class="actions"> <div class="actions">
<a class="button" href="#/create/role/{{realm.id}}">Add Role</a> <a class="button" href="#/create/role/{{realm.realm}}">Add Role</a>
<!-- <button class="remove disabled">Remove</button> --> <!-- <button class="remove disabled">Remove</button> -->
</div> </div>
</th> </th>
@ -64,7 +64,7 @@
</tfoot> </tfoot>
<tbody> <tbody>
<tr ng-repeat="role in roles"> <tr ng-repeat="role in roles">
<td><a href="#/realms/{{realm.id}}/roles/{{role.id}}">{{role.name}}</a></td> <td><a href="#/realms/{{realm.realm}}/roles/{{role.id}}">{{role.name}}</a></td>
<td>{{role.description}}</td> <td>{{role.description}}</td>
</tr> </tr>
</tbody> </tbody>

View file

@ -4,16 +4,16 @@
<div id="content-area" class="col-md-9" role="main"> <div id="content-area" class="col-md-9" role="main">
<div class="top-nav"> <div class="top-nav">
<ul class="rcue-tabs" > <ul class="rcue-tabs" >
<li><a href="#/realms/{{realm.id}}/users/{{user.username}}">Attributes</a></li> <li><a href="#/realms/{{realm.realm}}/users/{{user.username}}">Attributes</a></li>
<li><a href="#/realms/{{realm.id}}/users/{{user.username}}/user-credentials">Credentials</a></li> <li><a href="#/realms/{{realm.realm}}/users/{{user.username}}/user-credentials">Credentials</a></li>
<li class="active"><a href="#/realms/{{realm.id}}/users/{{user.username}}/role-mappings">Role Mappings</a></li> <li class="active"><a href="#/realms/{{realm.realm}}/users/{{user.username}}/role-mappings">Role Mappings</a></li>
</ul> </ul>
</div> </div>
<div id="content"> <div id="content">
<ol class="breadcrumb"> <ol class="breadcrumb">
<li><a href="#/realms/{{realm.id}}">{{realm.realm}}</a></li> <li><a href="#/realms/{{realm.realm}}">{{realm.realm}}</a></li>
<li><a href="#/realms/{{realm.id}}/users">Users</a></li> <li><a href="#/realms/{{realm.realm}}/users">Users</a></li>
<li><a href="#/realms/{{realm.id}}/users/{{user.username}}">{{user.username}}</a></li> <li><a href="#/realms/{{realm.realm}}/users/{{user.username}}">{{user.username}}</a></li>
<li class="active">Role Mappings</li> <li class="active">Role Mappings</li>
</ol> </ol>
<h2 class="pull-left"><span>{{user.username}}'s</span> Role Mappings</h2> <h2 class="pull-left"><span>{{user.username}}'s</span> Role Mappings</h2>

View file

@ -4,14 +4,14 @@
<div id="content-area" class="col-md-9" role="main"> <div id="content-area" class="col-md-9" role="main">
<div class="top-nav"> <div class="top-nav">
<ul class="rcue-tabs"> <ul class="rcue-tabs">
<li><a href="#/realms/{{realm.id}}/users/{{user.username}}">Attributes</a></li> <li><a href="#/realms/{{realm.realm}}/users/{{user.username}}">Attributes</a></li>
<li class="active"><a href="#/realms/{{realm.id}}/users/{{user.username}}/user-credentials">Credentials</a></li> <li class="active"><a href="#/realms/{{realm.realm}}/users/{{user.username}}/user-credentials">Credentials</a></li>
<li><a href="#/realms/{{realm.id}}/users/{{user.username}}/role-mappings">Role Mappings</a></li> <li><a href="#/realms/{{realm.realm}}/users/{{user.username}}/role-mappings">Role Mappings</a></li>
</ul> </ul>
</div> </div>
<div id="content"> <div id="content">
<ol class="breadcrumb"> <ol class="breadcrumb">
<li><a href="#/realms/{{realm.id}}">{{realm.realm}}</a></li> <li><a href="#/realms/{{realm.realm}}">{{realm.realm}}</a></li>
<li class="active">Users</li> <li class="active">Users</li>
</ol> </ol>
<h2><span>{{user.username}}'s</span> Credentials</h2> <h2><span>{{user.username}}'s</span> Credentials</h2>

View file

@ -9,24 +9,24 @@
</div> </div>
<div class="top-nav" data-ng-show="!create"> <div class="top-nav" data-ng-show="!create">
<ul class="rcue-tabs" > <ul class="rcue-tabs" >
<li class="active"><a href="#/realms/{{realm.id}}/users/{{user.username}}">Attributes</a></li> <li class="active"><a href="#/realms/{{realm.realm}}/users/{{user.username}}">Attributes</a></li>
<li><a href="#/realms/{{realm.id}}/users/{{user.username}}/user-credentials">Credentials</a></li> <li><a href="#/realms/{{realm.realm}}/users/{{user.username}}/user-credentials">Credentials</a></li>
<li><a href="#/realms/{{realm.id}}/users/{{user.username}}/role-mappings">Role Mappings</a></li> <li><a href="#/realms/{{realm.realm}}/users/{{user.username}}/role-mappings">Role Mappings</a></li>
</ul> </ul>
</div> </div>
<div id="content"> <div id="content">
<ol class="breadcrumb" data-ng-show="create"> <ol class="breadcrumb" data-ng-show="create">
<li><a href="#/realms/{{realm.id}}">{{realm.realm}}</a></li> <li><a href="#/realms/{{realm.realm}}">{{realm.realm}}</a></li>
<li><a href="#/realms/{{realm.id}}/users">Users</a></li> <li><a href="#/realms/{{realm.realm}}/users">Users</a></li>
<li class="active">Add</li> <li class="active">Add</li>
</ol> </ol>
<h2 class="pull-left" data-ng-show="create">Add User</h2> <h2 class="pull-left" data-ng-show="create">Add User</h2>
<p class="subtitle" data-ng-show="create"><span class="required">*</span> Required fields</p> <p class="subtitle" data-ng-show="create"><span class="required">*</span> Required fields</p>
<ol class="breadcrumb" data-ng-hide="create"> <ol class="breadcrumb" data-ng-hide="create">
<li><a href="#/realms/{{realm.id}}">{{realm.realm}}</a></li> <li><a href="#/realms/{{realm.realm}}">{{realm.realm}}</a></li>
<li><a href="#/realms/{{realm.id}}/users">Users</a></li> <li><a href="#/realms/{{realm.realm}}/users">Users</a></li>
<li><a href="#/realms/{{realm.id}}/users/{{user.username}}">{{user.username}}</a></li> <li><a href="#/realms/{{realm.realm}}/users/{{user.username}}">{{user.username}}</a></li>
<li class="active">Attributes</li> <li class="active">Attributes</li>
</ol> </ol>
<h2 class="pull-left" data-ng-hide="create"><span>{{user.username}}'s</span> Attributes</h2> <h2 class="pull-left" data-ng-hide="create"><span>{{user.username}}'s</span> Attributes</h2>

View file

@ -9,7 +9,7 @@
</div> </div>
<div id="content"> <div id="content">
<ol class="breadcrumb"> <ol class="breadcrumb">
<li><a href="#/realms/{{realm.id}}">{{realm.realm}}</a></li> <li><a href="#/realms/{{realm.realm}}">{{realm.realm}}</a></li>
<li class="active">Users</li> <li class="active">Users</li>
</ol> </ol>
<h2><span>{{realm.realm}}</span> Users</h2> <h2><span>{{realm.realm}}</span> Users</h2>
@ -29,7 +29,7 @@
</div> </div>
<span><span>or</span><button class="link" ng-click="search = null; searchQuery()">View all users</button></span> <span><span>or</span><button class="link" ng-click="search = null; searchQuery()">View all users</button></span>
<div class="actions"> <div class="actions">
<a class="button" href="#/create/user/{{realm.id}}">Add User</a> <a class="button" href="#/create/user/{{realm.realm}}">Add User</a>
</div> </div>
</th> </th>
</tr> </tr>
@ -57,7 +57,7 @@
</tfoot>--> </tfoot>-->
<tbody> <tbody>
<tr ng-repeat="user in users"> <tr ng-repeat="user in users">
<td><a href="#/realms/{{realm.id}}/users/{{user.username}}">{{user.username}}</a></td> <td><a href="#/realms/{{realm.realm}}/users/{{user.username}}">{{user.username}}</a></td>
<td>{{user.lastName}}</td> <td>{{user.lastName}}</td>
<td>{{user.firstName}}</td> <td>{{user.firstName}}</td>
<td>{{user.email}}</td> <td>{{user.email}}</td>

View file

@ -12,6 +12,7 @@ public interface KeycloakSession {
RealmModel createRealm(String name); RealmModel createRealm(String name);
RealmModel createRealm(String id, String name); RealmModel createRealm(String id, String name);
RealmModel getRealm(String id); RealmModel getRealm(String id);
RealmModel getRealmByName(String name);
List<RealmModel> getRealms(UserModel admin); List<RealmModel> getRealms(UserModel admin);
boolean removeRealm(String id); boolean removeRealm(String id);

View file

@ -50,7 +50,7 @@ public class JpaKeycloakSession implements KeycloakSession {
@Override @Override
public List<RealmModel> getRealms(UserModel admin) { public List<RealmModel> getRealms(UserModel admin) {
TypedQuery<RealmEntity> query = em.createQuery("select r from RealmEntity r", RealmEntity.class); TypedQuery<RealmEntity> query = em.createNamedQuery("getAllRealms", RealmEntity.class);
List<RealmEntity> entities = query.getResultList(); List<RealmEntity> entities = query.getResultList();
List<RealmModel> realms = new ArrayList<RealmModel>(); List<RealmModel> realms = new ArrayList<RealmModel>();
for (RealmEntity entity : entities) { for (RealmEntity entity : entities) {
@ -59,6 +59,15 @@ public class JpaKeycloakSession implements KeycloakSession {
return realms; return realms;
} }
@Override
public RealmModel getRealmByName(String name) {
TypedQuery<RealmEntity> query = em.createNamedQuery("getRealmByName", RealmEntity.class);
query.setParameter("name", name);
RealmEntity realm = query.getSingleResult();
if (realm == null) return null;
return new RealmAdapter(em, realm);
}
@Override @Override
public boolean removeRealm(String id) { public boolean removeRealm(String id) {
RealmEntity realm = em.find(RealmEntity.class, id); RealmEntity realm = em.find(RealmEntity.class, id);

View file

@ -10,6 +10,8 @@ import javax.persistence.FetchType;
import javax.persistence.Id; import javax.persistence.Id;
import javax.persistence.JoinTable; import javax.persistence.JoinTable;
import javax.persistence.MapKeyColumn; import javax.persistence.MapKeyColumn;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany; import javax.persistence.OneToMany;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
@ -21,7 +23,10 @@ import java.util.Map;
* @version $Revision: 1 $ * @version $Revision: 1 $
*/ */
@Entity @Entity
public class RealmEntity { @NamedQueries({
@NamedQuery(name="getAllRealms", query="select realm from RealmEntity realm"),
@NamedQuery(name="getRealmByName", query="select realm from RealmEntity realm where realm.name = :name"),
})public class RealmEntity {
@Id @Id
protected String id; protected String id;

View file

@ -94,6 +94,11 @@ public class PicketlinkKeycloakSession implements KeycloakSession {
return new RealmAdapter(this, existing, partitionManager); return new RealmAdapter(this, existing, partitionManager);
} }
@Override
public RealmModel getRealmByName(String name) {
throw new RuntimeException("NOT IMPLEMENTED YET");
}
@Override @Override
public boolean removeRealm(String id) { public boolean removeRealm(String id) {
RealmData partition = partitionManager.getPartition(RealmData.class, id); RealmData partition = partitionManager.getPartition(RealmData.class, id);

View file

@ -41,7 +41,7 @@ public class KeycloakServerApplication extends KeycloakApplication {
throw new RuntimeException("Realm id not specified"); throw new RuntimeException("Realm id not specified");
} }
if (manager.getRealm(rep.getId()) != null) { if (manager.getRealmByName(rep.getRealm()) != null) {
log.info("Not importing realm " + rep.getRealm() + " realm already exists"); log.info("Not importing realm " + rep.getRealm() + " realm already exists");
return; return;
} }

View file

@ -13,7 +13,7 @@ import org.keycloak.models.UserModel;
import org.keycloak.representations.SkeletonKeyToken; import org.keycloak.representations.SkeletonKeyToken;
import org.keycloak.representations.idm.CredentialRepresentation; import org.keycloak.representations.idm.CredentialRepresentation;
import org.keycloak.services.resources.AccountService; import org.keycloak.services.resources.AccountService;
import org.keycloak.services.resources.AdminService; import org.keycloak.services.resources.admin.AdminService;
import org.keycloak.services.resources.RealmsResource; import org.keycloak.services.resources.RealmsResource;
import javax.ws.rs.NotAuthorizedException; import javax.ws.rs.NotAuthorizedException;

View file

@ -64,11 +64,16 @@ public class RealmManager {
return identitySession.getRealm(id); return identitySession.getRealm(id);
} }
public RealmModel getRealmByName(String name) {
return identitySession.getRealm(name);
}
public RealmModel createRealm(String name) { public RealmModel createRealm(String name) {
return createRealm(name, name); return createRealm(name, name);
} }
public RealmModel createRealm(String id, String name) { public RealmModel createRealm(String id, String name) {
if (id == null) id = generateId();
RealmModel realm = identitySession.createRealm(id, name); RealmModel realm = identitySession.createRealm(id, name);
realm.setName(name); realm.setName(name);
realm.addRole(Constants.APPLICATION_ROLE); realm.addRole(Constants.APPLICATION_ROLE);

View file

@ -7,6 +7,7 @@ import org.keycloak.models.ModelProvider;
import org.keycloak.services.managers.ApplianceBootstrap; import org.keycloak.services.managers.ApplianceBootstrap;
import org.keycloak.services.managers.SocialRequestManager; import org.keycloak.services.managers.SocialRequestManager;
import org.keycloak.services.managers.TokenManager; import org.keycloak.services.managers.TokenManager;
import org.keycloak.services.resources.admin.AdminService;
import javax.servlet.ServletContext; import javax.servlet.ServletContext;
import javax.ws.rs.core.Application; import javax.ws.rs.core.Application;

View file

@ -48,26 +48,27 @@ public class RealmsResource {
} }
@Path("{realm}/tokens") @Path("{realm}/tokens")
public TokenService getTokenService(final @PathParam("realm") String id) { public TokenService getTokenService(final @PathParam("realm") String name) {
RealmManager realmManager = new RealmManager(session); RealmManager realmManager = new RealmManager(session);
RealmModel realm = realmManager.getRealm(id); RealmModel realm = locateRealm(name, realmManager);
if (realm == null) {
logger.debug("realm not found");
throw new NotFoundException();
}
TokenService tokenService = new TokenService(realm, tokenManager); TokenService tokenService = new TokenService(realm, tokenManager);
resourceContext.initResource(tokenService); resourceContext.initResource(tokenService);
return tokenService; return tokenService;
} }
@Path("{realm}/account") protected RealmModel locateRealm(String name, RealmManager realmManager) {
public AccountService getAccountService(final @PathParam("realm") String id) { RealmModel realm = realmManager.getRealmByName(name);
RealmManager realmManager = new RealmManager(session);
RealmModel realm = realmManager.getRealm(id);
if (realm == null) { if (realm == null) {
logger.debug("realm not found"); logger.debug("realm not found");
throw new NotFoundException(); throw new NotFoundException();
} }
return realm;
}
@Path("{realm}/account")
public AccountService getAccountService(final @PathParam("realm") String name) {
RealmManager realmManager = new RealmManager(session);
RealmModel realm = locateRealm(name, realmManager);
ApplicationModel application = realm.getApplicationNameMap().get(Constants.ACCOUNT_APPLICATION); ApplicationModel application = realm.getApplicationNameMap().get(Constants.ACCOUNT_APPLICATION);
if (application == null || !application.isEnabled()) { if (application == null || !application.isEnabled()) {
@ -81,13 +82,9 @@ public class RealmsResource {
} }
@Path("{realm}") @Path("{realm}")
public PublicRealmResource getRealmResource(final @PathParam("realm") String id) { public PublicRealmResource getRealmResource(final @PathParam("realm") String name) {
RealmManager realmManager = new RealmManager(session); RealmManager realmManager = new RealmManager(session);
RealmModel realm = realmManager.getRealm(id); RealmModel realm = locateRealm(name, realmManager);
if (realm == null) {
logger.debug("realm not found");
throw new NotFoundException();
}
PublicRealmResource realmResource = new PublicRealmResource(realm); PublicRealmResource realmResource = new PublicRealmResource(realm);
resourceContext.initResource(realmResource); resourceContext.initResource(realmResource);
return realmResource; return realmResource;

View file

@ -1,4 +1,4 @@
package org.keycloak.services.resources; package org.keycloak.services.resources.admin;
import org.jboss.resteasy.annotations.cache.NoCache; import org.jboss.resteasy.annotations.cache.NoCache;
import org.jboss.resteasy.logging.Logger; import org.jboss.resteasy.logging.Logger;
@ -21,7 +21,7 @@ import org.keycloak.services.managers.AuthenticationManager.AuthenticationStatus
import org.keycloak.services.managers.RealmManager; import org.keycloak.services.managers.RealmManager;
import org.keycloak.services.managers.TokenManager; import org.keycloak.services.managers.TokenManager;
import org.keycloak.services.messages.Messages; import org.keycloak.services.messages.Messages;
import org.keycloak.services.resources.admin.RealmsAdminResource; import org.keycloak.services.resources.TokenService;
import org.keycloak.services.resources.flows.Flows; import org.keycloak.services.resources.flows.Flows;
import org.keycloak.services.resources.flows.OAuthFlows; import org.keycloak.services.resources.flows.OAuthFlows;

View file

@ -10,7 +10,6 @@ import org.keycloak.models.RealmModel;
import org.keycloak.models.UserModel; import org.keycloak.models.UserModel;
import org.keycloak.representations.idm.RealmRepresentation; import org.keycloak.representations.idm.RealmRepresentation;
import org.keycloak.services.managers.RealmManager; import org.keycloak.services.managers.RealmManager;
import org.keycloak.services.resources.AdminService;
import org.keycloak.services.resources.flows.Flows; import org.keycloak.services.resources.flows.Flows;
import javax.ws.rs.*; import javax.ws.rs.*;
@ -78,12 +77,12 @@ public class RealmsAdminResource {
public Response importRealm(@Context final UriInfo uriInfo, final RealmRepresentation rep) { public Response importRealm(@Context final UriInfo uriInfo, final RealmRepresentation rep) {
logger.debug("importRealm: {0}", rep.getRealm()); logger.debug("importRealm: {0}", rep.getRealm());
RealmManager realmManager = new RealmManager(session); RealmManager realmManager = new RealmManager(session);
if (realmManager.getRealm(rep.getRealm()) != null) { if (realmManager.getRealmByName(rep.getRealm()) != null) {
return Flows.errors().exists("Realm " + rep.getRealm() + " already exists"); return Flows.errors().exists("Realm " + rep.getRealm() + " already exists");
} }
RealmModel realm = realmManager.importRealm(rep, admin); RealmModel realm = realmManager.importRealm(rep, admin);
URI location = realmUrl(uriInfo).build(realm.getId()); URI location = realmUrl(uriInfo).build(realm.getName());
logger.debug("imported realm success, sending back: {0}", location.toString()); logger.debug("imported realm success, sending back: {0}", location.toString());
return Response.created(location).build(); return Response.created(location).build();
} }
@ -103,11 +102,11 @@ public class RealmsAdminResource {
return Response.noContent().build(); return Response.noContent().build();
} }
@Path("{id}") @Path("{realm}")
public RealmAdminResource getRealmAdmin(@Context final HttpHeaders headers, public RealmAdminResource getRealmAdmin(@Context final HttpHeaders headers,
@PathParam("id") final String id) { @PathParam("realm") final String name) {
RealmManager realmManager = new RealmManager(session); RealmManager realmManager = new RealmManager(session);
RealmModel realm = realmManager.getRealm(id); RealmModel realm = realmManager.getRealmByName(name);
if (realm == null) throw new NotFoundException(); if (realm == null) throw new NotFoundException();
RealmAdminResource adminResource = new RealmAdminResource(admin, realm); RealmAdminResource adminResource = new RealmAdminResource(admin, realm);

View file

@ -22,7 +22,7 @@
package org.keycloak.services.resources.flows; package org.keycloak.services.resources.flows;
import org.keycloak.services.resources.AccountService; import org.keycloak.services.resources.AccountService;
import org.keycloak.services.resources.AdminService; import org.keycloak.services.resources.admin.AdminService;
import org.keycloak.services.resources.RealmsResource; import org.keycloak.services.resources.RealmsResource;
import org.keycloak.services.resources.RequiredActionsService; import org.keycloak.services.resources.RequiredActionsService;
import org.keycloak.services.resources.SocialResource; import org.keycloak.services.resources.SocialResource;