mirror of
https://github.com/bitwarden/browser
synced 2025-12-11 13:53:34 +00:00
remove deprecated component (#14582)
This commit is contained in:
@@ -1,124 +0,0 @@
|
|||||||
<div class="modal fade" role="dialog" aria-modal="true" aria-labelledby="userAddEditTitle">
|
|
||||||
<div class="modal-dialog modal-dialog-scrollable modal-lg" role="document">
|
|
||||||
<form
|
|
||||||
class="modal-content"
|
|
||||||
#form
|
|
||||||
(ngSubmit)="submit()"
|
|
||||||
[appApiAction]="formPromise"
|
|
||||||
ngNativeValidate
|
|
||||||
>
|
|
||||||
<div class="modal-header">
|
|
||||||
<h2 class="modal-title" id="userAddEditTitle">
|
|
||||||
{{ title }}
|
|
||||||
<small class="text-muted" *ngIf="name">{{ name }}</small>
|
|
||||||
</h2>
|
|
||||||
<button
|
|
||||||
type="button"
|
|
||||||
class="close"
|
|
||||||
data-dismiss="modal"
|
|
||||||
appA11yTitle="{{ 'close' | i18n }}"
|
|
||||||
>
|
|
||||||
<span aria-hidden="true">×</span>
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
<div class="modal-body" *ngIf="loading">
|
|
||||||
<i
|
|
||||||
class="bwi bwi-spinner bwi-spin text-muted"
|
|
||||||
title="{{ 'loading' | i18n }}"
|
|
||||||
aria-hidden="true"
|
|
||||||
></i>
|
|
||||||
<span class="tw-sr-only">{{ "loading" | i18n }}</span>
|
|
||||||
</div>
|
|
||||||
<div class="modal-body" *ngIf="!loading">
|
|
||||||
<ng-container *ngIf="!editMode">
|
|
||||||
<p>{{ "providerInviteUserDesc" | i18n }}</p>
|
|
||||||
<div class="form-group mb-4">
|
|
||||||
<label for="emails">{{ "email" | i18n }}</label>
|
|
||||||
<input
|
|
||||||
id="emails"
|
|
||||||
class="form-control"
|
|
||||||
type="text"
|
|
||||||
name="Emails"
|
|
||||||
[(ngModel)]="emails"
|
|
||||||
required
|
|
||||||
appAutoFocus
|
|
||||||
/>
|
|
||||||
<small class="text-muted">{{ "inviteMultipleEmailDesc" | i18n: "20" }}</small>
|
|
||||||
</div>
|
|
||||||
</ng-container>
|
|
||||||
<h3>
|
|
||||||
{{ "userType" | i18n }}
|
|
||||||
<a
|
|
||||||
target="_blank"
|
|
||||||
rel="noreferrer"
|
|
||||||
appA11yTitle="{{ 'learnMore' | i18n }}"
|
|
||||||
href="https://bitwarden.com/help/provider-users/"
|
|
||||||
>
|
|
||||||
<i class="bwi bwi-question-circle" aria-hidden="true"></i>
|
|
||||||
</a>
|
|
||||||
</h3>
|
|
||||||
<div class="form-check mt-2 form-check-block">
|
|
||||||
<input
|
|
||||||
class="form-check-input"
|
|
||||||
type="radio"
|
|
||||||
name="userType"
|
|
||||||
id="userTypeServiceUser"
|
|
||||||
[value]="userType.ServiceUser"
|
|
||||||
[(ngModel)]="type"
|
|
||||||
/>
|
|
||||||
<label class="form-check-label" for="userTypeServiceUser">
|
|
||||||
{{ "serviceUser" | i18n }}
|
|
||||||
<small>{{ "serviceUserDesc" | i18n }}</small>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
<div class="form-check mt-2 form-check-block">
|
|
||||||
<input
|
|
||||||
class="form-check-input"
|
|
||||||
type="radio"
|
|
||||||
name="userType"
|
|
||||||
id="userTypeProviderAdmin"
|
|
||||||
[value]="userType.ProviderAdmin"
|
|
||||||
[(ngModel)]="type"
|
|
||||||
/>
|
|
||||||
<label class="form-check-label" for="userTypeProviderAdmin">
|
|
||||||
{{ "providerAdmin" | i18n }}
|
|
||||||
<small>{{ "providerAdminDesc" | i18n }}</small>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="modal-footer">
|
|
||||||
<button type="submit" class="btn btn-primary btn-submit" [disabled]="form.loading">
|
|
||||||
<i class="bwi bwi-spinner bwi-spin" title="{{ 'loading' | i18n }}" aria-hidden="true"></i>
|
|
||||||
<span>{{ "save" | i18n }}</span>
|
|
||||||
</button>
|
|
||||||
<button type="button" class="btn btn-outline-secondary" data-dismiss="modal">
|
|
||||||
{{ "cancel" | i18n }}
|
|
||||||
</button>
|
|
||||||
<div class="ml-auto">
|
|
||||||
<button
|
|
||||||
#deleteBtn
|
|
||||||
type="button"
|
|
||||||
(click)="delete()"
|
|
||||||
class="btn btn-outline-danger"
|
|
||||||
appA11yTitle="{{ 'delete' | i18n }}"
|
|
||||||
*ngIf="editMode"
|
|
||||||
[disabled]="$any(deleteBtn).loading"
|
|
||||||
[appApiAction]="deletePromise"
|
|
||||||
>
|
|
||||||
<i
|
|
||||||
class="bwi bwi-trash bwi-lg bwi-fw"
|
|
||||||
[hidden]="$any(deleteBtn).loading"
|
|
||||||
aria-hidden="true"
|
|
||||||
></i>
|
|
||||||
<i
|
|
||||||
class="bwi bwi-spinner bwi-spin bwi-lg bwi-fw"
|
|
||||||
[hidden]="!$any(deleteBtn).loading"
|
|
||||||
title="{{ 'loading' | i18n }}"
|
|
||||||
aria-hidden="true"
|
|
||||||
></i>
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
@@ -1,125 +0,0 @@
|
|||||||
// FIXME: Update this file to be type safe and remove this and next line
|
|
||||||
// @ts-strict-ignore
|
|
||||||
import { Component, EventEmitter, Input, OnInit, Output } from "@angular/core";
|
|
||||||
|
|
||||||
import { ApiService } from "@bitwarden/common/abstractions/api.service";
|
|
||||||
import { ProviderUserType } from "@bitwarden/common/admin-console/enums";
|
|
||||||
import { PermissionsApi } from "@bitwarden/common/admin-console/models/api/permissions.api";
|
|
||||||
import { ProviderUserInviteRequest } from "@bitwarden/common/admin-console/models/request/provider/provider-user-invite.request";
|
|
||||||
import { ProviderUserUpdateRequest } from "@bitwarden/common/admin-console/models/request/provider/provider-user-update.request";
|
|
||||||
import { I18nService } from "@bitwarden/common/platform/abstractions/i18n.service";
|
|
||||||
import { LogService } from "@bitwarden/common/platform/abstractions/log.service";
|
|
||||||
import { PlatformUtilsService } from "@bitwarden/common/platform/abstractions/platform-utils.service";
|
|
||||||
import { DialogService, ToastService } from "@bitwarden/components";
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @deprecated Please use the {@link MembersDialogComponent} instead.
|
|
||||||
*/
|
|
||||||
@Component({
|
|
||||||
selector: "provider-user-add-edit",
|
|
||||||
templateUrl: "user-add-edit.component.html",
|
|
||||||
})
|
|
||||||
export class UserAddEditComponent implements OnInit {
|
|
||||||
@Input() name: string;
|
|
||||||
@Input() providerUserId: string;
|
|
||||||
@Input() providerId: string;
|
|
||||||
@Output() savedUser = new EventEmitter();
|
|
||||||
@Output() deletedUser = new EventEmitter();
|
|
||||||
|
|
||||||
loading = true;
|
|
||||||
editMode = false;
|
|
||||||
title: string;
|
|
||||||
emails: string;
|
|
||||||
type: ProviderUserType = ProviderUserType.ServiceUser;
|
|
||||||
permissions = new PermissionsApi();
|
|
||||||
showCustom = false;
|
|
||||||
access: "all" | "selected" = "selected";
|
|
||||||
formPromise: Promise<any>;
|
|
||||||
deletePromise: Promise<any>;
|
|
||||||
userType = ProviderUserType;
|
|
||||||
|
|
||||||
constructor(
|
|
||||||
private apiService: ApiService,
|
|
||||||
private i18nService: I18nService,
|
|
||||||
private platformUtilsService: PlatformUtilsService,
|
|
||||||
private logService: LogService,
|
|
||||||
private dialogService: DialogService,
|
|
||||||
private toastService: ToastService,
|
|
||||||
) {}
|
|
||||||
|
|
||||||
async ngOnInit() {
|
|
||||||
this.editMode = this.loading = this.providerUserId != null;
|
|
||||||
|
|
||||||
if (this.editMode) {
|
|
||||||
this.editMode = true;
|
|
||||||
this.title = this.i18nService.t("editMember");
|
|
||||||
try {
|
|
||||||
const user = await this.apiService.getProviderUser(this.providerId, this.providerUserId);
|
|
||||||
this.type = user.type;
|
|
||||||
} catch (e) {
|
|
||||||
this.logService.error(e);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
this.title = this.i18nService.t("inviteMember");
|
|
||||||
}
|
|
||||||
|
|
||||||
this.loading = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
async submit() {
|
|
||||||
try {
|
|
||||||
if (this.editMode) {
|
|
||||||
const request = new ProviderUserUpdateRequest();
|
|
||||||
request.type = this.type;
|
|
||||||
this.formPromise = this.apiService.putProviderUser(
|
|
||||||
this.providerId,
|
|
||||||
this.providerUserId,
|
|
||||||
request,
|
|
||||||
);
|
|
||||||
} else {
|
|
||||||
const request = new ProviderUserInviteRequest();
|
|
||||||
request.emails = this.emails.trim().split(/\s*,\s*/);
|
|
||||||
request.type = this.type;
|
|
||||||
this.formPromise = this.apiService.postProviderUserInvite(this.providerId, request);
|
|
||||||
}
|
|
||||||
await this.formPromise;
|
|
||||||
this.toastService.showToast({
|
|
||||||
variant: "success",
|
|
||||||
title: null,
|
|
||||||
message: this.i18nService.t(this.editMode ? "editedUserId" : "invitedUsers", this.name),
|
|
||||||
});
|
|
||||||
this.savedUser.emit();
|
|
||||||
} catch (e) {
|
|
||||||
this.logService.error(e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
async delete() {
|
|
||||||
if (!this.editMode) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
const confirmed = await this.dialogService.openSimpleDialog({
|
|
||||||
title: this.name,
|
|
||||||
content: { key: "removeUserConfirmation" },
|
|
||||||
type: "warning",
|
|
||||||
});
|
|
||||||
|
|
||||||
if (!confirmed) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
|
||||||
this.deletePromise = this.apiService.deleteProviderUser(this.providerId, this.providerUserId);
|
|
||||||
await this.deletePromise;
|
|
||||||
this.toastService.showToast({
|
|
||||||
variant: "success",
|
|
||||||
title: null,
|
|
||||||
message: this.i18nService.t("removedUserId", this.name),
|
|
||||||
});
|
|
||||||
this.deletedUser.emit();
|
|
||||||
} catch (e) {
|
|
||||||
this.logService.error(e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -30,7 +30,6 @@ import { BulkConfirmDialogComponent } from "./manage/dialogs/bulk-confirm-dialog
|
|||||||
import { BulkRemoveDialogComponent } from "./manage/dialogs/bulk-remove-dialog.component";
|
import { BulkRemoveDialogComponent } from "./manage/dialogs/bulk-remove-dialog.component";
|
||||||
import { EventsComponent } from "./manage/events.component";
|
import { EventsComponent } from "./manage/events.component";
|
||||||
import { MembersComponent } from "./manage/members.component";
|
import { MembersComponent } from "./manage/members.component";
|
||||||
import { UserAddEditComponent } from "./manage/user-add-edit.component";
|
|
||||||
import { ProvidersLayoutComponent } from "./providers-layout.component";
|
import { ProvidersLayoutComponent } from "./providers-layout.component";
|
||||||
import { ProvidersRoutingModule } from "./providers-routing.module";
|
import { ProvidersRoutingModule } from "./providers-routing.module";
|
||||||
import { ProvidersComponent } from "./providers.component";
|
import { ProvidersComponent } from "./providers.component";
|
||||||
@@ -67,7 +66,6 @@ import { VerifyRecoverDeleteProviderComponent } from "./verify-recover-delete-pr
|
|||||||
MembersComponent,
|
MembersComponent,
|
||||||
SetupComponent,
|
SetupComponent,
|
||||||
SetupProviderComponent,
|
SetupProviderComponent,
|
||||||
UserAddEditComponent,
|
|
||||||
AddEditMemberDialogComponent,
|
AddEditMemberDialogComponent,
|
||||||
AddExistingOrganizationDialogComponent,
|
AddExistingOrganizationDialogComponent,
|
||||||
CreateClientDialogComponent,
|
CreateClientDialogComponent,
|
||||||
|
|||||||
Reference in New Issue
Block a user