keycloak-uncached
Changes
forms/common-themes/src/main/resources/theme/admin/base/resources/partials/realm-detail_mock.html 116(+0 -116)
Details
diff --git a/forms/common-themes/src/main/resources/theme/admin/base/resources/js/controllers/realm.js b/forms/common-themes/src/main/resources/theme/admin/base/resources/js/controllers/realm.js
index 27884c4..8ca40a8 100755
--- a/forms/common-themes/src/main/resources/theme/admin/base/resources/js/controllers/realm.js
+++ b/forms/common-themes/src/main/resources/theme/admin/base/resources/js/controllers/realm.js
@@ -1195,11 +1195,11 @@ module.controller('RealmEventsCtrl', function($scope, RealmEvents, realm) {
$scope.realm = realm;
$scope.page = 0;
- $scope.eventTypes = [{tag:'LOGIN'}, {tag:'REGISTER'}, {tag:'LOGOUT'}, {tag:'CODE_TO_TOKEN'}, {tag:'REFRESH_TOKEN'},
+ $scope.eventTypes = [{tag:'LOGIN'}, {tag:'REGISTER'}, {tag:'LOGOUT'}, {tag:'CODE_TO_TOKEN'}, {tag:'REFRESH_TOKEN'},
{tag:'LOGIN_ERROR'}, {tag:'REGISTER_ERROR'}, {tag:'LOGOUT_ERROR'}, {tag:'CODE_TO_TOKEN_ERROR'}, {tag:'REFRESH_TOKEN_ERROR'},
{tag:'VALIDATE_ACCESS_TOKEN'}, {tag:'VALIDATE_ACCESS_TOKEN_ERROR'}, {tag:'SOCIAL_LINK'}, {tag:'SOCIAL_LINK_ERROR'}, {tag:'REMOVE_FEDERATED_IDENTITY'},
{tag:'REMOVE_SOCIAL_LINK_ERROR'}, {tag:'UPDATE_EMAIL'}, {tag:'UPDATE_PROFILE'}, {tag:'UPDATE_PASSWORD'}, {tag:'UPDATE_TOTP'}];
-
+
$scope.query = {
id : realm.realm,
max : 5,
diff --git a/forms/common-themes/src/main/resources/theme/admin/base/resources/partials/realm-events.html b/forms/common-themes/src/main/resources/theme/admin/base/resources/partials/realm-events.html
index e810717..27843f3 100755
--- a/forms/common-themes/src/main/resources/theme/admin/base/resources/partials/realm-events.html
+++ b/forms/common-themes/src/main/resources/theme/admin/base/resources/partials/realm-events.html
@@ -31,16 +31,13 @@
</div>
<form class="form-horizontal">
<div class="form-group" data-ng-show="filter">
- <label class="col-sm-2 control-label" for="eventType">Event Type</label>
+ <label class="col-sm-2 control-label" for="eventType">Event Type</label>
<div class="col-sm-5">
- <select style="width:230px" data-ui-select2 data-ng-model="query.type" data-placeholder="Select Event Type">
- <!-- empty option gets placeholder working -->
- <option value=""></option>
- <!-- ng-repeat to populate dynamic options -->
- <option data-ng-repeat="event in eventTypes">{{event.tag}}</option>
- </select>
- </div>
- </div>
+ <select ui-select2 id="reqActions" ng-model="query.type" data-placeholder="Select event types..." multiple>
+ <option ng-repeat="event in eventTypes|orderBy:'tag'">{{event.tag}}</option>
+ </select>
+ </div>
+ </div>
<div class="form-group" data-ng-show="filter">
<label class="col-sm-2 control-label" for="client">Client</label>
<div class="col-sm-4">
diff --git a/services/src/main/java/org/keycloak/services/resources/admin/RealmAdminResource.java b/services/src/main/java/org/keycloak/services/resources/admin/RealmAdminResource.java
index bb6bedd..0befaa4 100755
--- a/services/src/main/java/org/keycloak/services/resources/admin/RealmAdminResource.java
+++ b/services/src/main/java/org/keycloak/services/resources/admin/RealmAdminResource.java
@@ -382,7 +382,7 @@ public class RealmAdminResource {
* Query events. Returns all events, or will query based on URL query parameters listed here
*
* @param client app or oauth client name
- * @param type type type
+ * @param types type type
* @param user user id
* @param ipAddress
* @param firstResult
@@ -393,7 +393,7 @@ public class RealmAdminResource {
@GET
@NoCache
@Produces(MediaType.APPLICATION_JSON)
- public List<Event> getEvents(@QueryParam("client") String client, @QueryParam("type") String type,
+ public List<Event> getEvents(@QueryParam("client") String client,
@QueryParam("user") String user, @QueryParam("dateFrom") String dateFrom, @QueryParam("dateTo") String dateTo,
@QueryParam("ipAddress") String ipAddress, @QueryParam("first") Integer firstResult,
@QueryParam("max") Integer maxResults) {
@@ -405,9 +405,16 @@ public class RealmAdminResource {
if (client != null) {
query.client(client);
}
- if (type != null) {
- query.type(EventType.valueOf(type));
+
+ List<String> types = uriInfo.getQueryParameters().get("type");
+ if (types != null) {
+ EventType[] t = new EventType[types.size()];
+ for (int i = 0; i < t.length; i++) {
+ t[i] = EventType.valueOf(types.get(i));
+ }
+ query.type(t);
}
+
if (user != null) {
query.user(user);
}