commit
083dc1721b
11 changed files with 551 additions and 323 deletions
|
@ -11,13 +11,33 @@
|
|||
#idletimeout span { font-weight:bold }
|
||||
</style>
|
||||
|
||||
<link rel="icon" href="/auth-server/admin-ui/img/favicon.ico">
|
||||
|
||||
<!-- Frameworks -->
|
||||
<link rel="stylesheet" href="/auth-server/admin-ui/css/reset.css">
|
||||
<link rel="stylesheet" href="/auth-server/admin-ui/bootstrap-3.0.0-wip/css/bootstrap.css">
|
||||
<link rel="stylesheet" href="/auth-server/admin-ui/css/sprites.css">
|
||||
<link rel="stylesheet" href='http://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,400italic,600,600italic,700,700italic,800,800italic'>
|
||||
|
||||
<!-- RCUE styles -->
|
||||
<link rel="stylesheet" href="/auth-server/admin-ui/css/base.css">
|
||||
<link rel="stylesheet" href="/auth-server/admin-ui/css/forms.css">
|
||||
<link rel="stylesheet" href="/auth-server/admin-ui/css/header.css">
|
||||
<link rel="stylesheet" href="/auth-server/admin-ui/css/tabs.css">
|
||||
<link rel="stylesheet" href="/auth-server/admin-ui/css/icons.css">
|
||||
<link rel="stylesheet" href="/auth-server/admin-ui/css/tables.css">
|
||||
|
||||
<!-- Page styles -->
|
||||
<link rel="stylesheet" href="/auth-server/admin-ui/css/admin-console.css">
|
||||
<link href="lib/select2-3.4.1/select2.css" rel="stylesheet">
|
||||
<!--
|
||||
<link href="lib/bootstrap/css/bootstrap.css" rel="stylesheet">
|
||||
<link href="lib/bootstrap/css/bootstrap-responsive.css" rel="stylesheet">
|
||||
<link href="css/admin.css" rel="stylesheet">
|
||||
<link href="css/admin-responsive.css" rel="stylesheet">
|
||||
<link href="lib/select2-3.4.1/select2.css" rel="stylesheet">
|
||||
|
||||
<link href="css/styles.css" rel="stylesheet">
|
||||
-->
|
||||
|
||||
<script src="lib/jquery/jquery-1.10.2.js" type="text/javascript"></script>
|
||||
<script src="lib/select2-3.4.1/select2.js" type="text/javascript"></script>
|
||||
|
@ -29,15 +49,21 @@
|
|||
<script src="lib/jquery/jquery.idletimer.js" type="text/javascript"></script>
|
||||
<script src="lib/jquery/jquery.idletimeout.js" type="text/javascript"></script>
|
||||
<script src="lib/angular/select2.js" type="text/javascript"></script>
|
||||
<!--
|
||||
<script src="/auth-server/admin-ui/bootstrap-3.0.0-wip/js/dropdown.js"></script>
|
||||
<script src="/auth-server/admin-ui/bootstrap-3.0.0-wip/js/tooltip.js"></script>
|
||||
<script src="/auth-server/admin-ui/js/bootstrap-tokenfield.js"></script>
|
||||
-->
|
||||
<script src="js/app.js"></script>
|
||||
<script src="js/controllers.js"></script>
|
||||
<script src="js/loaders.js"></script>
|
||||
<script src="js/services.js"></script>
|
||||
<!-- <script src="/auth-server/admin-ui/js/base.js"></script> -->
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
<body data-ng-controller="GlobalCtrl">
|
||||
<body class="admin-console" data-ng-controller="GlobalCtrl">
|
||||
<div id="idletimeout">
|
||||
You will be logged off in <span></span> seconds due to inactivity.
|
||||
<a id="idletimeout-resume" href="#">Click here to continue using this web page</a>.
|
||||
|
|
|
@ -194,6 +194,51 @@ module.factory('spinnerInterceptor', function($q, $window, $rootScope, $location
|
|||
};
|
||||
});
|
||||
|
||||
// collapsable form fieldsets
|
||||
module.directive('collapsable', function() {
|
||||
return function(scope, element, attrs) {
|
||||
element.click(function() {
|
||||
$(this).toggleClass('collapsed');
|
||||
$(this).find('.toggle-icons').toggleClass('icon-collapse').toggleClass('icon-expand');
|
||||
$(this).find('.toggle-icons').text($(this).text() == "Icon: expand" ? "Icon: collapse" : "Icon: expand");
|
||||
$(this).parent().find('.form-group').toggleClass('hidden');
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
// collapsable form fieldsets
|
||||
module.directive('uncollapsed', function() {
|
||||
return function(scope, element, attrs) {
|
||||
element.prepend('<span class="icon-collapse toggle-icons">Icon: collapse</span>');
|
||||
element.click(function() {
|
||||
$(this).toggleClass('collapsed');
|
||||
$(this).find('.toggle-icons').toggleClass('icon-collapse').toggleClass('icon-expand');
|
||||
$(this).find('.toggle-icons').text($(this).text() == "Icon: expand" ? "Icon: collapse" : "Icon: expand");
|
||||
$(this).parent().find('.form-group').toggleClass('hidden');
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
// collapsable form fieldsets
|
||||
module.directive('collapsed', function() {
|
||||
return function(scope, element, attrs) {
|
||||
element.prepend('<span class="icon-expand toggle-icons">Icon: expand</span>');
|
||||
element.parent().find('.form-group').toggleClass('hidden');
|
||||
element.click(function() {
|
||||
$(this).toggleClass('collapsed');
|
||||
$(this).find('.toggle-icons').toggleClass('icon-collapse').toggleClass('icon-expand');
|
||||
$(this).find('.toggle-icons').text($(this).text() == "Icon: expand" ? "Icon: collapse" : "Icon: expand");
|
||||
$(this).parent().find('.form-group').toggleClass('hidden');
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
module.directive('kcInput', function() {
|
||||
var d = {
|
||||
scope : true,
|
||||
|
|
|
@ -347,63 +347,43 @@ module.controller('RoleDetailCtrl', function($scope, realm, role, Role, $locatio
|
|||
};
|
||||
});
|
||||
|
||||
module.controller('ApplicationListCtrl', function($scope, realm, applications, Application, $location, Dialog, Notifications) {
|
||||
module.controller('ApplicationListCtrl', function($scope, realm, applications, Application, $location) {
|
||||
console.log('ApplicationListCtrl');
|
||||
$scope.realm = realm;
|
||||
$scope.selection = {
|
||||
applications : angular.copy(applications),
|
||||
application : null
|
||||
};
|
||||
|
||||
|
||||
$scope.create = false;
|
||||
|
||||
$scope.changeApplication = function() {
|
||||
console.log('ApplicationListCtrl.changeApplication() - ' + $scope.selection.application.name);
|
||||
$location.url("/realms/" + realm.id + "/applications/" + $scope.selection.application.id);
|
||||
};
|
||||
|
||||
|
||||
$scope.applications = applications;
|
||||
$scope.$watch(function() {
|
||||
return $location.path();
|
||||
}, function() {
|
||||
$scope.path = $location.path().substring(1).split("/");
|
||||
});
|
||||
});
|
||||
|
||||
module.controller('ApplicationDetailCtrl', function($scope, realm, applications, application, Application, $location, Dialog, Notifications) {
|
||||
module.controller('ApplicationDetailCtrl', function($scope, realm, application, Application, $location, Dialog, Notifications) {
|
||||
console.log('ApplicationDetailCtrl');
|
||||
|
||||
$scope.realm = realm;
|
||||
$scope.create = !application.id;
|
||||
var selection = {
|
||||
applications : null,
|
||||
application : null
|
||||
};
|
||||
|
||||
selection.applications = applications;
|
||||
|
||||
for (var i=0;i < selection.applications.length; i++) {
|
||||
if (selection.applications[i].name == application.name) {
|
||||
console.log('app name: ' + application.name);
|
||||
selection.application = selection.applications[i];
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
$scope.selection = selection;
|
||||
if (!$scope.create) {
|
||||
$scope.application= selection.application;
|
||||
$scope.application= angular.copy(application);
|
||||
} else {
|
||||
$scope.application = {};
|
||||
}
|
||||
|
||||
$scope.changeApplication = function() {
|
||||
console.log('ApplicationDetailCtrl.changeApplication() - ' + $scope.selection.application.name);
|
||||
$location.url("/realms/" + realm.id + "/applications/" + $scope.selection.application.id);
|
||||
};
|
||||
$scope.$watch(function() {
|
||||
return $location.path();
|
||||
}, function() {
|
||||
$scope.path = $location.path().substring(1).split("/");
|
||||
});
|
||||
|
||||
$scope.$watch('application', function() {
|
||||
if (!angular.equals($scope.selection.application, application)) {
|
||||
console.log('watch application');
|
||||
if (!angular.equals($scope.application, application)) {
|
||||
console.log('application changed');
|
||||
$scope.changed = true;
|
||||
}
|
||||
}, true);
|
||||
|
||||
|
||||
$scope.save = function() {
|
||||
if ($scope.applicationForm.$valid) {
|
||||
|
||||
|
@ -447,7 +427,7 @@ module.controller('ApplicationDetailCtrl', function($scope, realm, applications,
|
|||
Dialog.confirmDelete($scope.application.name, 'application', function() {
|
||||
$scope.application.$remove({
|
||||
realm : realm.id,
|
||||
id : $scope.applicatino.id
|
||||
id : $scope.application.id
|
||||
}, function() {
|
||||
$location.url("/realms/" + realm.id + "/applications");
|
||||
Notifications.success("Deleted application");
|
||||
|
|
|
@ -1,71 +1,77 @@
|
|||
<div id="wrapper" class="container">
|
||||
<div class="row">
|
||||
<aside class="span3" data-ng-include data-src="'partials/application-menu.html'"></aside>
|
||||
<div id="actions-bg"></div>
|
||||
|
||||
<div id="container-right" class="span9">
|
||||
<h1 data-ng-show="create"><span class="gray">New Application</span></h1>
|
||||
|
||||
<h1 data-ng-hide="create">
|
||||
<span class="gray">Application Settings</span>
|
||||
</h1>
|
||||
|
||||
<div data-ng-show="applicationForm.showErrors && applicationForm.$error.required" class="alert alert-error">Please fill
|
||||
in all required fields
|
||||
<div class="bs-sidebar col-md-3 clearfix" data-ng-include data-src="'partials/realm-menu.html'"></div>
|
||||
<div id="content-area" class="col-md-9" role="main">
|
||||
<div class="top-nav">
|
||||
<ul class="rcue-tabs">
|
||||
<li class="active"><a href="#">Settings</a></li>
|
||||
<li><a href="#">Credentials</a></li>
|
||||
<li><a href="#">Installation</a></li>
|
||||
<li><a href="#">Roles</a></li>
|
||||
<li><a href="#">Scopes</a></li>
|
||||
<li><a href="#">Sessions</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<p class="subtitle subtitle-right"><span class="required">*</span> Required fields</p>
|
||||
|
||||
<form class="form-horizontal" name="applicationForm" novalidate>
|
||||
<div id="content">
|
||||
<h2 class="pull-left" data-ng-show="create">New Application</h2>
|
||||
<h2 class="pull-left" data-ng-hide="create">Application <span>{{application.name}}</span></h2>
|
||||
<p class="subtitle"><span class="required">*</span> Required fields</p>
|
||||
<form name="applicationForm" novalidate>
|
||||
<fieldset>
|
||||
<legend>Settings</legend>
|
||||
|
||||
<div data-kc-input>
|
||||
<label>Name</label>
|
||||
<input class="input-xlarge" type="text" name="name" data-ng-model="application.name" autofocus
|
||||
<legend uncollapsed><span class="text">Application Settings</span></legend>
|
||||
<div class="form-group">
|
||||
<label for="name">Name</label><span class="required">*</span>
|
||||
<div class="controls">
|
||||
<input type="text" id="name" name="name" data-ng-model="application.name" autofocus
|
||||
required>
|
||||
</div>
|
||||
|
||||
<div data-kc-input>
|
||||
<label>Enabled</label>
|
||||
<input class="input-xlarge" type="checkbox" name="enabled" data-ng-model="application.enabled">
|
||||
</div>
|
||||
|
||||
<div data-kc-input>
|
||||
<label>User registration</label>
|
||||
<input class="input-xlarge" type="checkbox" name="social"
|
||||
data-ng-model="application.userRegistration">
|
||||
<div class="form-group clearfix block">
|
||||
<label class="control-label">Enabled</label>
|
||||
<div class="onoffswitch">
|
||||
<input type="checkbox" data-ng-model="application.enabled" class="onoffswitch-checkbox"
|
||||
name="enabled" id="enabled">
|
||||
<label for="enabled" class="onoffswitch-label">
|
||||
<span class="onoffswitch-inner">
|
||||
<span class="onoffswitch-active">ON</span>
|
||||
<span class="onoffswitch-inactive">OFF</span>
|
||||
</span>
|
||||
<span class="onoffswitch-switch"></span>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="control-group">
|
||||
<label for="applicationForm-adminUrl" class="control-label">Admin URL</label>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="adminUrl" class="control-label">Admin URL</label>
|
||||
|
||||
<div class="controls">
|
||||
<input class="input-small" type="text" name="adminUrl"
|
||||
<input class="input-small" type="text" name="adminUrl" id="adminUrl"
|
||||
data-ng-model="application.adminUrl">
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
<div class="form-actions" data-ng-show="create">
|
||||
<button type="submit" data-ng-click="save()" class="btn btn-primary" data-ng-show="changed">Save
|
||||
<button type="submit" data-ng-click="save()" class="primary">Save
|
||||
</button>
|
||||
<button type="submit" data-ng-click="cancel()" class="btn" data-ng-click="cancel()"
|
||||
<button type="submit" data-ng-click="cancel()" data-ng-click="cancel()"
|
||||
data-ng-show="changed">Cancel
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div class="form-actions" data-ng-show="!create">
|
||||
<button type="submit" data-ng-click="save()" class="btn btn-primary" data-ng-show="changed">Save
|
||||
<button type="submit" data-ng-click="save()" class="primary" data-ng-show="changed">Save
|
||||
changes
|
||||
</button>
|
||||
<button type="submit" data-ng-click="reset()" class="btn" data-ng-show="changed">Clear changes
|
||||
<button type="submit" data-ng-click="reset()" data-ng-show="changed">Clear changes
|
||||
</button>
|
||||
<button type="submit" data-ng-click="remove()" class="btn btn-danger" data-ng-hide="changed">
|
||||
<button type="submit" data-ng-click="remove()" class="danger">
|
||||
Delete
|
||||
</button>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div id="container-right-bg"></div>
|
||||
</div>
|
||||
</div>
|
|
@ -1,10 +1,56 @@
|
|||
<div id="wrapper" class="container">
|
||||
<div class="row">
|
||||
<aside class="span3" data-ng-include data-src="'partials/application-menu.html'"></aside>
|
||||
<div id="actions-bg"></div>
|
||||
|
||||
<div id="container-right" class="span9">
|
||||
|
||||
<div class="bs-sidebar col-md-3 clearfix" data-ng-include data-src="'partials/realm-menu.html'"></div>
|
||||
<div id="content-area" class="col-md-9" role="main">
|
||||
<div class="top-nav" data-ng-hide="createRealm">
|
||||
<ul class="rcue-tabs">
|
||||
<li class="active"><a href="#">Applications</a></li>
|
||||
<li><a href="#/create/application/{{realm.id}}">New Application</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="content">
|
||||
<h2 class="pull-left">Applications</h2>
|
||||
<table>
|
||||
<caption>Table of realm applications</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="rcue-table-actions" colspan="4">
|
||||
<div class="search-comp clearfix">
|
||||
<input type="text" placeholder="Search..." class="search">
|
||||
<button class="icon-search tooltipRightTrigger"
|
||||
data-original-title="Search by application name.">
|
||||
Icon: search
|
||||
</button>
|
||||
</div>
|
||||
</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Application Name</th>
|
||||
<th>Enabled</th>
|
||||
<th>Base URL</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td colspan="3">
|
||||
<div class="table-nav">
|
||||
<a href="#" class="first disabled">First page</a><a href="#" class="prev disabled">Previous
|
||||
page</a><span><strong>1-8</strong> of <strong>10</strong></span><a href="#"
|
||||
class="next">Next
|
||||
page</a><a href="#" class="last">Last page</a>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
<tbody class="selectable-rows">
|
||||
<tr ng-repeat="app in applications">
|
||||
<td><a href="#/realms/{{realm.id}}/applications/{{app.id}}">{{app.name}}</a></td>
|
||||
<td>{{app.enabled}}</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div id="container-right-bg"></div>
|
||||
</div>
|
||||
|
|
|
@ -1,11 +1,10 @@
|
|||
<div data-ng-hide="create">
|
||||
<nav id="local-nav">
|
||||
<div data-ng-show="selection.applications.length > 0"><span class="divider-vertical-right">Application </span>
|
||||
<select ng-change="changeApplication()" ng-model="selection.application" ng-options="a.name for a in selection.applications">
|
||||
<option value="">-- chose an application --</option>
|
||||
</select>
|
||||
</div>
|
||||
<ul class="nav nav-list" data-ng-show="selection.application">
|
||||
<ul data-ng-show="selection.application">
|
||||
<li data-ng-class="path[4] == 'roles' && 'active'"><a
|
||||
href="#/realms/{{realm.id}}/applications/{{selection.application.id}}/roles">Application Roles</a>
|
||||
<ul class="sub-items">
|
||||
|
@ -21,5 +20,4 @@
|
|||
<div>
|
||||
<a href="#/realms/{{realm.id}}">Back to realm management...</a>
|
||||
</div>
|
||||
</nav>
|
||||
</div>
|
|
@ -1,34 +1,48 @@
|
|||
<header class="navbar navbar-fixed-top">
|
||||
<div class="navbar-inner">
|
||||
<div class="container">
|
||||
<div class="nav-collapse">
|
||||
<nav id="global-nav">
|
||||
<div data-ng-controller="RealmDropdownCtrl" >
|
||||
<ul class="nav pull-left" data-ng-show="showNav()">
|
||||
<li class="divider-vertical-right"><a href="#/realms/{{current.realm.id}}">Realm</a></li>
|
||||
</ul>
|
||||
<select class="nav pull-left" data-ng-show="showNav()" ng-change="changeRealm()" ng-model="current.realm" ng-options="r.realm for r in current.realms">
|
||||
</select>
|
||||
<!-- <select class="nav pull-left" ng-options="r.name for r in current.realms"></select> -->
|
||||
</div>
|
||||
<div class="header rcue">
|
||||
<div class="navbar utility">
|
||||
<div class="navbar-inner clearfix">
|
||||
<h1><a href="#"><strong>Keycloak</strong> Central Login</a></h1>
|
||||
<ul class="nav pull-right" data-ng-hide="auth.loggedIn">
|
||||
<li><a href="/auth-server/rest/saas/login">Login</a></li>
|
||||
<li><a href="/auth-server/rest/saas/registrations">Register</a></li>
|
||||
</ul>
|
||||
<ul class="nav pull-right" data-ng-show="auth.loggedIn">
|
||||
<li class="divider-vertical-left dropdown"><a data-toggle="dropdown" class="dropdown-toggle" href="#"><i
|
||||
class="icon-user icon-gray"></i> Welcome: <b>{{auth.user.displayName}}</b> <i class="caret"></i></a>
|
||||
<li class="dropdown">
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
|
||||
<span class="icon-user">Icon: user</span>{{auth.user.displayName}}<i class="caret"></i></a>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a href="/auth-server/rest/saas/logout">Sign Out</a></li>
|
||||
<li><a href="#">Manage Account</a></li>
|
||||
<li class="separator"><a href="/auth-server/rest/saas/logout">Sign Out</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="navbar primary">
|
||||
<div class="navbar-inner" data-ng-controller="RealmDropdownCtrl">
|
||||
<ul class="nav pull-right" data-ng-show="auth.loggedIn">
|
||||
<li class="divider-vertical-left" data-ng-class="path[0] == 'create' && path[1] == 'realm' && 'active'"
|
||||
data-ng-show="auth.loggedIn"><a href="#/create/realm">New Realm</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
<ul class="nav" >
|
||||
<li data-ng-show="showNav()"><a href="#/realms/{{current.realm.id}}">Realm</a></li>
|
||||
<li class="select-rcue" data-ng-show="showNav()"><select ng-change="changeRealm()" ng-model="current.realm" ng-options="r.realm for r in current.realms">
|
||||
</select></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<!--
|
||||
<div class="navbar primary">
|
||||
<div class="navbar-inner" data-ng-controller="RealmDropdownCtrl">
|
||||
<ul class="nav pull-right" data-ng-show="auth.loggedIn">
|
||||
<li class="divider-vertical-left" data-ng-class="path[0] == 'create' && path[1] == 'realm' && 'active'"
|
||||
data-ng-show="auth.loggedIn"><a href="#/create/realm">New Realm</a></li>
|
||||
</ul>
|
||||
<ul class="nav" data-ng-show="showNav()">
|
||||
<li class="divider-vertical-right"><a href="#/realms/{{current.realm.id}}">Realm</a></li>
|
||||
</ul>
|
||||
<select class="nav pull-left" data-ng-show="showNav()" ng-change="changeRealm()" ng-model="current.realm" ng-options="r.realm for r in current.realms">
|
||||
</select>
|
||||
</div>
|
||||
</header>
|
||||
</div> -->
|
||||
</div><!-- End .header -->
|
||||
|
|
|
@ -0,0 +1,54 @@
|
|||
<div id="wrapper" class="container">
|
||||
<div class="row">
|
||||
<div class="bs-sidebar col-md-3 clearfix" data-ng-include data-src="'partials/realm-menu.html'"></div>
|
||||
<div id="content-area" class="col-md-9" role="main">
|
||||
<div class="top-nav" data-ng-hide="createRealm">
|
||||
<ul class="rcue-tabs">
|
||||
<li><a href="#">Settings</a></li>
|
||||
<li data-ng-show="realm.social"><a href="#">Social</a></li>
|
||||
<li><a href="#">Roles</a></li>
|
||||
<li class="active"><a href="#">Required Credentials</a></li>
|
||||
<li><a href="#">Token Settings</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="content">
|
||||
<h2 class="pull-left">Realm: <span>{{realm.realm}}</span></h2>
|
||||
<form name="realmForm" novalidate>
|
||||
<fieldset>
|
||||
<legend collapsed><span class="text">Required Credentials</span></legend>
|
||||
<div class="form-group">
|
||||
<label class="control-label">Required User Credentials</label>
|
||||
|
||||
<div class="controls">
|
||||
<input style="width:250px" type="text" ui-select2="userCredentialOptions" ng-model="realm.requiredCredentials">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label">Required Application Credentials</label>
|
||||
|
||||
<div class="controls">
|
||||
<input style="width:250;height:25" type="text" ui-select2="userCredentialOptions" ng-model="realm.requiredApplicationCredentials">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label">Required OAuth Credentials</label>
|
||||
|
||||
<div class="controls">
|
||||
<input style="width:250px" type="text" ui-select2="userCredentialOptions" ng-model="realm.requiredOAuthClientCredentials">
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
<div class="form-actions">
|
||||
<button type="submit" data-ng-click="save()" class="primary" data-ng-show="changed">Save
|
||||
changes
|
||||
</button>
|
||||
<button type="submit" data-ng-click="reset()" data-ng-show="changed">Clear changes
|
||||
</button>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div id="container-right-bg"></div>
|
||||
</div>
|
||||
</div>
|
|
@ -1,137 +1,150 @@
|
|||
<div id="wrapper" class="container">
|
||||
<div class="row">
|
||||
<aside class="span3" data-ng-include data-src="'partials/realm-menu.html'"></aside>
|
||||
<div id="actions-bg"></div>
|
||||
|
||||
<div id="container-right" class="span9">
|
||||
<h1 data-ng-show="createRealm"><span class="gray">New Realm</span></h1>
|
||||
|
||||
<h1 data-ng-hide="createRealm">
|
||||
<span class="gray">Realm Settings</span>
|
||||
</h1>
|
||||
|
||||
<div data-ng-show="realmForm.showErrors && realmForm.$error.required" class="alert alert-error">Please fill
|
||||
in all required fields
|
||||
<div class="bs-sidebar col-md-3 clearfix" data-ng-include data-src="'partials/realm-menu.html'"></div>
|
||||
<div id="content-area" class="col-md-9" role="main">
|
||||
<div class="top-nav" data-ng-hide="createRealm">
|
||||
<ul class="rcue-tabs">
|
||||
<li class="active"><a href="#">Settings</a></li>
|
||||
<li data-ng-show="realm.social"><a href="#">Social</a></li>
|
||||
<li><a href="#">Roles</a></li>
|
||||
<li><a href="#">Required Credentials</a></li>
|
||||
<li><a href="#">Token Settings</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<p class="subtitle subtitle-right"><span class="required">*</span> Required fields</p>
|
||||
|
||||
<form class="form-horizontal" name="realmForm" novalidate>
|
||||
<div id="content">
|
||||
<h2 class="pull-left" data-ng-show="createRealm">New Realm</h2>
|
||||
<h2 class="pull-left" data-ng-hide="createRealm">Realm: <span>{{realm.realm}}</span></h2>
|
||||
<p class="subtitle" data-ng-show="createRealm"><span class="required">*</span> Required fields</p>
|
||||
<form name="realmForm" novalidate>
|
||||
<fieldset>
|
||||
|
||||
<div class="control-group">
|
||||
<label for="realmForm-name" class="control-label">Name <span class="required">*</span></label>
|
||||
<legend uncollapsed><span class="text">Required Settings</span> </legend>
|
||||
<div class="form-group">
|
||||
<label for="name">Name </label><span class="required" data-ng-show="createRealm">*</span>
|
||||
|
||||
<div class="controls">
|
||||
<input class="input-xlarge" type="text" name="name" data-ng-model="realm.realm" autofocus
|
||||
<input type="text" id="name" name="name" data-ng-model="realm.realm" autofocus
|
||||
required>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="control-group">
|
||||
<div class="form-group">
|
||||
<label class="control-label">Enabled</label>
|
||||
|
||||
<div class="controls">
|
||||
<input class="input-xlarge" type="checkbox" name="enabled"
|
||||
data-ng-model="realm.enabled">
|
||||
<div class="onoffswitch">
|
||||
<input type="checkbox" data-ng-model="realm.enabled" class="onoffswitch-checkbox"
|
||||
name="enabled" id="enabled">
|
||||
<label for="enabled" class="onoffswitch-label">
|
||||
<span class="onoffswitch-inner">
|
||||
<span class="onoffswitch-active">ON</span>
|
||||
<span class="onoffswitch-inactive">OFF</span>
|
||||
</span>
|
||||
<span class="onoffswitch-switch"></span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="control-group">
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<legend uncollapsed><span class="text">Login Options</span></legend>
|
||||
<div class="form-group clearfix block">
|
||||
<label class="control-label">Social login</label>
|
||||
|
||||
<div class="controls">
|
||||
<input class="input-xlarge" type="checkbox" name="social"
|
||||
data-ng-model="realm.social">
|
||||
<div class="onoffswitch">
|
||||
<input type="checkbox" data-ng-model="realm.social" class="onoffswitch-checkbox" name="social" id="social">
|
||||
<label for="social" class="onoffswitch-label">
|
||||
<span class="onoffswitch-inner">
|
||||
<span class="onoffswitch-active">ON</span>
|
||||
<span class="onoffswitch-inactive">OFF</span>
|
||||
</span>
|
||||
<span class="onoffswitch-switch"></span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="control-group">
|
||||
<label class="control-label">Require SSL</label>
|
||||
|
||||
<div class="controls">
|
||||
<input class="input-xlarge" type="checkbox" name="requireSsl"
|
||||
data-ng-model="realm.requireSsl">
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="control-group">
|
||||
<label class="control-label">Cookie login allowed</label>
|
||||
|
||||
<div class="controls">
|
||||
<input class="input-xlarge" type="checkbox" name="cookieLoginAllowed"
|
||||
data-ng-model="realm.cookieLoginAllowed">
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<div class="control-group">
|
||||
<div class="form-group clearfix block">
|
||||
<label class="control-label">User registration</label>
|
||||
|
||||
<div class="controls">
|
||||
<input class="input-xlarge" type="checkbox" name="userRegistration"
|
||||
data-ng-model="realm.userRegistration">
|
||||
<div class="onoffswitch">
|
||||
<input type="checkbox" data-ng-model="realm.userRegistration" class="onoffswitch-checkbox" name="userRegistration" id="userRegistration">
|
||||
<label for="userRegistration" class="onoffswitch-label">
|
||||
<span class="onoffswitch-inner">
|
||||
<span class="onoffswitch-active">ON</span>
|
||||
<span class="onoffswitch-inactive">OFF</span>
|
||||
</span>
|
||||
<span class="onoffswitch-switch"></span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<div class="control-group">
|
||||
<label for="realmForm-tokenLifespan" class="control-label">Token lifespan</label>
|
||||
|
||||
<div class="controls">
|
||||
<input class="input-small" type="text" name="tokenLifespan"
|
||||
data-ng-model="realm.tokenLifespan">
|
||||
<select style="width: auto;" name="tokenLifespanUnit"
|
||||
data-ng-model="realm.tokenLifespanUnit">
|
||||
<option value="SECONDS" data-ng-selected="!realm.tokenLifespanUnit">Seconds</option>
|
||||
<option value="MINUTES">Minutes</option>
|
||||
<option value="HOURS">Hours</option>
|
||||
<option value="DAYS">Days</option>
|
||||
<div class="form-group clearfix block">
|
||||
<label class="control-label">Require SSL</label>
|
||||
<div class="onoffswitch">
|
||||
<input type="checkbox" data-ng-model="realm.requireSsl" class="onoffswitch-checkbox" name="requireSsl" id="requireSsl">
|
||||
<label for="requireSsl" class="onoffswitch-label">
|
||||
<span class="onoffswitch-inner">
|
||||
<span class="onoffswitch-active">ON</span>
|
||||
<span class="onoffswitch-inactive">OFF</span>
|
||||
</span>
|
||||
<span class="onoffswitch-switch"></span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label">Cookie login allowed</label>
|
||||
<div class="onoffswitch">
|
||||
<input type="checkbox" data-ng-model="realm.cookieLoginAllowed" class="onoffswitch-checkbox" name="cookieLoginAllowed" id="cookieLoginAllowed">
|
||||
<label for="cookieLoginAllowed" class="onoffswitch-label">
|
||||
<span class="onoffswitch-inner">
|
||||
<span class="onoffswitch-active">ON</span>
|
||||
<span class="onoffswitch-inactive">OFF</span>
|
||||
</span>
|
||||
<span class="onoffswitch-switch"></span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<legend collapsed><span class="text">Token Settings</span></legend>
|
||||
<div class="form-group input-select">
|
||||
<label for="tokenLifespan">Token lifespan</label>
|
||||
<div class="input-group">
|
||||
<input type="text" data-ng-model="realm.tokenLifespan" id="tokenLifespan" name="tokenLifespan" class="tiny">
|
||||
<div class="select-rcue">
|
||||
<select name="tokenLifespanUnit" data-ng-model="realm.tokenLifespanUnit">
|
||||
<option data-ng-selected="!realm.tokenLifespanUnit">Seconds</option>
|
||||
<option>Minutes</option>
|
||||
<option>Hours</option>
|
||||
<option>Days</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label for="realmForm-accessCodeLifespan" class="control-label">Access code lifespan</label>
|
||||
|
||||
<div class="controls">
|
||||
<input class="input-small" type="text" name="accessCodeLifespan"
|
||||
data-ng-model="realm.accessCodeLifespan">
|
||||
<select style="width: auto;" name="accessCodeLifespanUnit"
|
||||
data-ng-model="realm.accessCodeLifespanUnit">
|
||||
<option value="SECONDS" data-ng-selected="!realm.accessCodeLifespanUnit">Seconds
|
||||
</option>
|
||||
<option value="MINUTES">Minutes</option>
|
||||
<option value="HOURS">Hours</option>
|
||||
<option value="DAYS">Days</option>
|
||||
</div>
|
||||
<div class="form-group input-select">
|
||||
<label for="accessCodeLifespan">Access code lifespan</label>
|
||||
<div class="input-group">
|
||||
<input type="text" data-ng-model="realm.accessCodeLifespan" id="accessCodeLifespan" name="accessCodeLifespan" class="tiny">
|
||||
<div class="select-rcue">
|
||||
<select name="accessCodeLifespanUnit" data-ng-model="realm.accessCodeLifespanUnit">
|
||||
<option data-ng-selected="!realm.accessCodeLifespanUnit">Seconds</option>
|
||||
<option>Minutes</option>
|
||||
<option>Hours</option>
|
||||
<option>Days</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
</div>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<legend collapsed><span class="text">Default Credential Settings</span></legend>
|
||||
<div class="form-group">
|
||||
<label class="control-label">Required User Credentials</label>
|
||||
|
||||
<div class="controls">
|
||||
<input style="width:250px" type="text" ui-select2="userCredentialOptions" ng-model="realm.requiredCredentials">
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<div class="form-group">
|
||||
<label class="control-label">Required Application Credentials</label>
|
||||
|
||||
<div class="controls">
|
||||
<input style="width:250px" type="text" ui-select2="userCredentialOptions" ng-model="realm.requiredApplicationCredentials">
|
||||
<input style="width:250;height:25" type="text" ui-select2="userCredentialOptions" ng-model="realm.requiredApplicationCredentials">
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<div class="form-group">
|
||||
<label class="control-label">Required OAuth Credentials</label>
|
||||
|
||||
<div class="controls">
|
||||
|
@ -140,26 +153,27 @@
|
|||
</div>
|
||||
</fieldset>
|
||||
<div class="form-actions" data-ng-show="createRealm">
|
||||
<button type="submit" data-ng-click="save()" class="btn btn-primary" data-ng-show="changed">Save
|
||||
<button type="submit" data-ng-click="save()" class="primary" data-ng-show="changed">Save
|
||||
</button>
|
||||
<button type="submit" data-ng-click="cancel()" class="btn" data-ng-click="cancel()"
|
||||
<button type="submit" data-ng-click="cancel()" data-ng-click="cancel()"
|
||||
data-ng-show="changed">Cancel
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div class="form-actions" data-ng-show="!createRealm">
|
||||
<button type="submit" data-ng-click="save()" class="btn btn-primary" data-ng-show="changed">Save
|
||||
<button type="submit" data-ng-click="save()" class="primary" data-ng-show="changed">Save
|
||||
changes
|
||||
</button>
|
||||
<button type="submit" data-ng-click="reset()" class="btn" data-ng-show="changed">Clear changes
|
||||
<button type="submit" data-ng-click="reset()" data-ng-show="changed">Clear changes
|
||||
</button>
|
||||
<button type="submit" data-ng-click="remove()" class="btn btn-danger" data-ng-hide="changed">
|
||||
<button type="submit" data-ng-click="remove()" class="danger" data-ng-hide="changed">
|
||||
Delete
|
||||
</button>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div id="container-right-bg"></div>
|
||||
</div>
|
||||
</div>
|
|
@ -1,22 +1,7 @@
|
|||
<div data-ng-hide="createRealm">
|
||||
<nav id="local-nav">
|
||||
<ul class="nav nav-list">
|
||||
<li data-ng-class="path[2] == 'users' && 'active'"><a href="#/realms/{{realm.id}}/users">Users</a>
|
||||
<ul class="sub-items">
|
||||
<li data-ng-class="path[0] == 'create' && path[1] == 'user' && 'active'"><a
|
||||
href="#/create/user/{{realm.id}}">New User</a></li>
|
||||
<li data-ng-class="path[0] == 'find' && path[1] == 'user' && 'active'"><a
|
||||
href="#/realms/{{realm.id}}/users">Find User</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li data-ng-class="path[2] == 'roles' && 'active'"><a href="#/realms/{{realm.id}}/roles">Roles</a>
|
||||
<ul class="sub-items">
|
||||
<li data-ng-class="path[0] == 'create' && path[1] == 'role' && 'active'"><a
|
||||
href="#/create/role/{{realm.id}}">New Role</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li data-ng-class="path[2] == 'applications' && 'active'"><a href="#/realms/{{realm.id}}/applications">Manage Applications</a></li>
|
||||
<ul data-ng-hide="createRealm">
|
||||
<li data-ng-class="!path[2] && 'active'"><a href="#/realms/{{realm.id}}">Realm Settings</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
<li data-ng-class="path[2] == 'users' && 'active'"><a href="#/realms/{{realm.id}}/users">Users</a>
|
||||
</li>
|
||||
<li data-ng-class="(path[2] == 'applications' || path[1] == 'application') && 'active'"><a href="#/realms/{{realm.id}}/applications">Applications</a></li>
|
||||
</ul>
|
||||
|
||||
|
|
|
@ -0,0 +1,60 @@
|
|||
<div id="wrapper" class="container">
|
||||
<div class="row">
|
||||
<div class="bs-sidebar col-md-3 clearfix" data-ng-include data-src="'partials/realm-menu.html'"></div>
|
||||
<div id="content-area" class="col-md-9" role="main">
|
||||
<div class="top-nav" data-ng-hide="createRealm">
|
||||
<ul class="rcue-tabs">
|
||||
<li><a href="#">Settings</a></li>
|
||||
<li data-ng-show="realm.social"><a href="#">Social</a></li>
|
||||
<li><a href="#">Roles</a></li>
|
||||
<li><a href="#">Required Credentials</a></li>
|
||||
<li class="active"><a href="#">Token Settings</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="content">
|
||||
<h2 class="pull-left">Realm: <span>{{realm.realm}}</span></h2>
|
||||
<form name="realmForm" novalidate>
|
||||
<fieldset>
|
||||
<legend collapsed><span class="text">Token Settings</span></legend>
|
||||
<div class="form-group input-select">
|
||||
<label for="tokenLifespan">Token lifespan</label>
|
||||
<div class="input-group">
|
||||
<input type="text" data-ng-model="realm.tokenLifespan" id="tokenLifespan" name="tokenLifespan" class="tiny">
|
||||
<div class="select-rcue">
|
||||
<select name="tokenLifespanUnit" data-ng-model="realm.tokenLifespanUnit">
|
||||
<option data-ng-selected="!realm.tokenLifespanUnit">Seconds</option>
|
||||
<option>Minutes</option>
|
||||
<option>Hours</option>
|
||||
<option>Days</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group input-select">
|
||||
<label for="accessCodeLifespan">Access code lifespan</label>
|
||||
<div class="input-group">
|
||||
<input type="text" data-ng-model="realm.accessCodeLifespan" id="accessCodeLifespan" name="accessCodeLifespan" class="tiny">
|
||||
<div class="select-rcue">
|
||||
<select name="accessCodeLifespanUnit" data-ng-model="realm.accessCodeLifespanUnit">
|
||||
<option data-ng-selected="!realm.accessCodeLifespanUnit">Seconds</option>
|
||||
<option>Minutes</option>
|
||||
<option>Hours</option>
|
||||
<option>Days</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
<div class="form-actions">
|
||||
<button type="submit" data-ng-click="save()" class="primary" data-ng-show="changed">Save
|
||||
changes
|
||||
</button>
|
||||
<button type="submit" data-ng-click="reset()" data-ng-show="changed">Clear changes
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div id="container-right-bg"></div>
|
||||
</div>
|
||||
</div>
|
Loading…
Reference in a new issue