diff --git a/bitwarden_license/src/app/providers/clients/clients.component.ts b/bitwarden_license/src/app/providers/clients/clients.component.ts index 4ed3293672..ee5f96ce7f 100644 --- a/bitwarden_license/src/app/providers/clients/clients.component.ts +++ b/bitwarden_license/src/app/providers/clients/clients.component.ts @@ -58,6 +58,13 @@ export class ClientsComponent implements OnInit { this.providerId = params.providerId; await this.load(); + + const queryParamsSub = this.route.queryParams.subscribe(async qParams => { + this.searchText = qParams.search; + if (queryParamsSub != null) { + queryParamsSub.unsubscribe(); + } + }); }); } diff --git a/jslib b/jslib index 00acbce556..8bf0f75d9e 160000 --- a/jslib +++ b/jslib @@ -1 +1 @@ -Subproject commit 00acbce556c015fae9e6281ea7db2e704ec96c26 +Subproject commit 8bf0f75d9e9869bbb8df397fb0c3bae4359eacf0 diff --git a/src/app/services/event.service.ts b/src/app/services/event.service.ts index 07a0b97b33..319e25f577 100644 --- a/src/app/services/event.service.ts +++ b/src/app/services/event.service.ts @@ -245,6 +245,18 @@ export class EventService { msg = this.i18nService.t('removedUserId', this.formatProviderUserId(ev)); humanReadableMsg = this.i18nService.t('removedUserId', this.getShortId(ev.providerUserId)); break; + case EventType.ProviderOrganization_Created: + msg = this.i18nService.t('createdOrganizationId', this.formatProviderOrganizationId(ev)); + humanReadableMsg = this.i18nService.t('createdOrganizationId', this.getShortId(ev.providerOrganizationId)); + break; + case EventType.ProviderOrganization_Added: + msg = this.i18nService.t('addedOrganizationId', this.formatProviderOrganizationId(ev)); + humanReadableMsg = this.i18nService.t('addedOrganizationId', this.getShortId(ev.providerOrganizationId)); + break; + case EventType.ProviderOrganization_Removed: + msg = this.i18nService.t('removedOrganizationId', this.formatProviderOrganizationId(ev)); + humanReadableMsg = this.i18nService.t('removedOrganizationId', this.getShortId(ev.providerOrganizationId)); + break; default: break; } @@ -342,6 +354,13 @@ export class EventService { return a.outerHTML; } + private formatProviderOrganizationId(ev: EventResponse) { + const shortId = this.getShortId(ev.providerOrganizationId); + const a = this.makeAnchor(shortId); + a.setAttribute('href', '#/providers/' + ev.providerId + '/clients?search=' + shortId); + return a.outerHTML; + } + private formatPolicyId(ev: EventResponse) { const shortId = this.getShortId(ev.policyId); const a = this.makeAnchor(shortId); @@ -357,7 +376,7 @@ export class EventService { } private getShortId(id: string) { - return id.substring(0, 8); + return id?.substring(0, 8); } private toDateTimeLocalString(date: Date) { diff --git a/src/locales/en/messages.json b/src/locales/en/messages.json index adcad3a6f8..795710c1f2 100644 --- a/src/locales/en/messages.json +++ b/src/locales/en/messages.json @@ -2577,6 +2577,33 @@ } } }, + "createdOrganizationId": { + "message": "Created organization $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "John Smith" + } + } + }, + "addedOrganizationId": { + "message": "Added organization $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "John Smith" + } + } + }, + "removedOrganizationId": { + "message": "Removed organization $ID$.", + "placeholders": { + "id": { + "content": "$1", + "example": "John Smith" + } + } + }, "device": { "message": "Device" },