aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'admin/resources/partials/authz/resource-server-scope-list.html')
-rw-r--r--admin/resources/partials/authz/resource-server-scope-list.html102
1 files changed, 102 insertions, 0 deletions
diff --git a/admin/resources/partials/authz/resource-server-scope-list.html b/admin/resources/partials/authz/resource-server-scope-list.html
new file mode 100644
index 0000000..22c7f38
--- /dev/null
+++ b/admin/resources/partials/authz/resource-server-scope-list.html
@@ -0,0 +1,102 @@
+<div class="col-sm-9 col-md-10 col-sm-push-3 col-md-push-2">
+
+ <ol class="breadcrumb">
+ <li><a href="#/realms/{{realm.realm}}/clients">{{:: 'clients' | translate}}</a></li>
+ <li><a href="#/realms/{{realm.realm}}/clients/{{client.id}}">{{client.clientId}}</a></li>
+ <li><a href="#/realms/{{realm.realm}}/clients/{{client.id}}/authz/resource-server">{{:: 'authz-authorization' | translate}}</a></li>
+ <li><a href="#/realms/{{realm.realm}}/clients/{{client.id}}/authz/resource-server/scope">{{:: 'authz-scopes' | translate}}</a></li>
+ </ol>
+
+ <kc-tabs-resource-server></kc-tabs-resource-server>
+
+ <table class="table table-striped table-bordered">
+ <thead>
+ <tr>
+ <th class="kc-table-actions" colspan="3">
+ <div class="form-inline">
+ <div class="form-group">
+ <div class="input-group">
+ <input type="text" placeholder="{{:: 'name' | translate}}" data-ng-model="query.name" class="form-control search" onkeydown="if (event.keyCode == 13) document.getElementById('scopeSearch').click()">
+ <div class="input-group-addon">
+ <i class="fa fa-search" id="scopeSearch" type="submit" data-ng-click="firstPage()"></i>
+ </div>
+ </div>
+ </div>
+ <div class="pull-right">
+ <a id="createScope" class="btn btn-default" href="#/realms/{{realm.realm}}/clients/{{client.id}}/authz/resource-server/scope/create">{{:: 'create' | translate}}</a>
+ </div>
+ </div>
+ </th>
+ </tr>
+ <tr data-ng-hide="scopes.length == 0">
+ <th width="1%"></th>
+ <th>{{:: 'name' | translate}}</th>
+ <th width="11%" style="text-align: center">{{:: 'actions' | translate}}</th>
+ </tr>
+ </thead>
+ <tfoot data-ng-show="scopes && (scopes.length >= query.max || query.first > 0)">
+ <tr>
+ <td colspan="3">
+ <div class="table-nav">
+ <button data-ng-click="firstPage()" class="first" ng-disabled="query.first == 0">{{:: 'first-page' | translate}}</button>
+ <button data-ng-click="previousPage()" class="prev" ng-disabled="query.first == 0">{{:: 'previous-page' | translate}}</button>
+ <button data-ng-click="nextPage()" class="next" ng-disabled="scopes.length < query.max">{{:: 'next-page' | translate}}</button>
+ </div>
+ </td>
+ </tr>
+ </tfoot>
+ <tbody>
+ <tr ng-repeat-start="scope in scopes | filter:search | orderBy:'name'" data-ng-click="showDetails(scope, $event);" style="cursor: pointer">
+ <td>
+ <span ng-if="!scope.details || !scope.details.loaded" class="fa fa-angle-right"></span>
+ <span ng-if="scope.details && scope.details.loaded" class="fa fa-angle-right fa-angle-down"></span>
+ </td>
+ <td><a href="#/realms/{{realm.realm}}/clients/{{client.id}}/authz/resource-server/scope/{{scope.id}}">{{scope.name}}</a></td>
+ <td align="center">
+ <div class="dropdown dropdown-kebab-pf">
+ <button class="btn btn-default" ng-click="createPolicy(scope);">{{:: 'authz-create-permission' |
+ translate}}
+ </button>
+ <button class="btn btn-default dropdown-toggle" type="button" data-toggle="dropdown"
+ aria-haspopup="true" aria-expanded="true">
+ <span class="fa fa-ellipsis-v"></span></button>
+ <ul class="dropdown-menu dropdown-menu-right" aria-labelledby="dropdownKebabRight">
+ <li><a href="" ng-click="delete(scope);">{{:: 'delete' | translate}}</a></li>
+ </ul>
+ </div>
+ </td>
+ </tr>
+ <tr ng-if="scope.details && scope.details.loaded" ng-repeat-end="">
+ <td colspan="3" style="background-color: #ffffff">
+ <div class="list-group-item-container container-fluid">
+ <div class="close" data-ng-click="showDetails(scope, $event);" style="padding-top: 10px">
+ <span class="pficon pficon-close"></span>
+ </div>
+ <div class="row">
+ <div class="col-md-12">
+ <dl class="dl-horizontal">
+ <dt>{{:: 'authz-resources' | translate}}</dt>
+ <dd>
+ <span data-ng-show="scope.resources && !scope.resources.length">{{:: 'authz-no-resources-assigned' | translate}}</span>
+ <span ng-repeat="resource in scope.resources" data-ng-show="scope.resources.length > 0"><a href="#/realms/{{realm.realm}}/clients/{{client.id}}/authz/resource-server/resource/{{resource._id}}">{{resource.name}}</a>{{$last ? '' : ', '}}</span>
+ </dd>
+ <dt>{{:: 'authz-associated-permissions' | translate}}</dt>
+ <dd>
+ <span data-ng-show="scope.policies && !scope.policies.length">{{:: 'authz-no-permission-assigned' | translate}}</span>
+ <span ng-repeat="policy in scope.policies" data-ng-show="scope.policies.length > 0"><a href="#/realms/{{realm.realm}}/clients/{{client.id}}/authz/resource-server/permission/{{policy.type}}/{{policy.id}}">{{policy.name}}</a>{{$last ? '' : ', '}}</span>
+ </dd>
+ </dl>
+ </div>
+ </div>
+ </div>
+ </td>
+ </tr>
+ <tr data-ng-show="(scopes | filter:search).length == 0">
+ <td class="text-muted" colspan="3" data-ng-show="search.name">{{:: 'no-results' | translate}}</td>
+ <td class="text-muted" colspan="3" data-ng-hide="search.name">{{:: 'authz-no-scopes-available' | translate}}</td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+
+<kc-menu></kc-menu> \ No newline at end of file