[AC-2319] remove the owned by business checkbox business name (#8674)
* Removed business name from organization create/upgrade flows, and org info page * Prefilling the logged in user's email to the billing email when creating an organization
This commit is contained in:
parent
a12c7242d6
commit
b914260705
|
@ -20,19 +20,4 @@
|
||||||
<input bitInput type="email" formControlName="clientOwnerEmail" />
|
<input bitInput type="email" formControlName="clientOwnerEmail" />
|
||||||
</bit-form-field>
|
</bit-form-field>
|
||||||
</div>
|
</div>
|
||||||
<div *ngIf="!isProvider && !acceptingSponsorship">
|
|
||||||
<input
|
|
||||||
type="checkbox"
|
|
||||||
name="businessOwned"
|
|
||||||
formControlName="businessOwned"
|
|
||||||
(change)="changedBusinessOwned.emit()"
|
|
||||||
/>
|
|
||||||
<bit-label for="businessOwned" class="tw-mb-3">{{ "accountOwnedBusiness" | i18n }}</bit-label>
|
|
||||||
<div class="tw-mt-4" *ngIf="formGroup.controls['businessOwned'].value">
|
|
||||||
<bit-form-field class="tw-w-1/2">
|
|
||||||
<bit-label>{{ "businessName" | i18n }}</bit-label>
|
|
||||||
<input bitInput type="text" formControlName="businessName" />
|
|
||||||
</bit-form-field>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</form>
|
</form>
|
||||||
|
|
|
@ -1,15 +1,32 @@
|
||||||
import { Component, EventEmitter, Input, Output } from "@angular/core";
|
import { Component, EventEmitter, Input, OnInit, Output } from "@angular/core";
|
||||||
import { UntypedFormGroup } from "@angular/forms";
|
import { UntypedFormGroup } from "@angular/forms";
|
||||||
|
import { firstValueFrom } from "rxjs";
|
||||||
|
|
||||||
|
import { AccountService } from "@bitwarden/common/auth/abstractions/account.service";
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: "app-org-info",
|
selector: "app-org-info",
|
||||||
templateUrl: "organization-information.component.html",
|
templateUrl: "organization-information.component.html",
|
||||||
})
|
})
|
||||||
export class OrganizationInformationComponent {
|
export class OrganizationInformationComponent implements OnInit {
|
||||||
@Input() nameOnly = false;
|
@Input() nameOnly = false;
|
||||||
@Input() createOrganization = true;
|
@Input() createOrganization = true;
|
||||||
@Input() isProvider = false;
|
@Input() isProvider = false;
|
||||||
@Input() acceptingSponsorship = false;
|
@Input() acceptingSponsorship = false;
|
||||||
@Input() formGroup: UntypedFormGroup;
|
@Input() formGroup: UntypedFormGroup;
|
||||||
@Output() changedBusinessOwned = new EventEmitter<void>();
|
@Output() changedBusinessOwned = new EventEmitter<void>();
|
||||||
|
|
||||||
|
constructor(private accountService: AccountService) {}
|
||||||
|
|
||||||
|
async ngOnInit(): Promise<void> {
|
||||||
|
if (this.formGroup.controls.billingEmail.value) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const activeAccount = await firstValueFrom(this.accountService.activeAccount$);
|
||||||
|
|
||||||
|
if (activeAccount?.email) {
|
||||||
|
this.formGroup.controls.billingEmail.setValue(activeAccount.email);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,10 +20,6 @@
|
||||||
<bit-label>{{ "billingEmail" | i18n }}</bit-label>
|
<bit-label>{{ "billingEmail" | i18n }}</bit-label>
|
||||||
<input bitInput id="billingEmail" formControlName="billingEmail" type="email" />
|
<input bitInput id="billingEmail" formControlName="billingEmail" type="email" />
|
||||||
</bit-form-field>
|
</bit-form-field>
|
||||||
<bit-form-field>
|
|
||||||
<bit-label>{{ "businessName" | i18n }}</bit-label>
|
|
||||||
<input bitInput id="businessName" formControlName="businessName" type="text" />
|
|
||||||
</bit-form-field>
|
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<bit-avatar [text]="org.name" [id]="org.id" size="large"></bit-avatar>
|
<bit-avatar [text]="org.name" [id]="org.id" size="large"></bit-avatar>
|
||||||
|
|
|
@ -65,10 +65,6 @@ export class AccountComponent {
|
||||||
{ value: "", disabled: true },
|
{ value: "", disabled: true },
|
||||||
{ validators: [Validators.required, Validators.email, Validators.maxLength(256)] },
|
{ validators: [Validators.required, Validators.email, Validators.maxLength(256)] },
|
||||||
),
|
),
|
||||||
businessName: this.formBuilder.control(
|
|
||||||
{ value: "", disabled: true },
|
|
||||||
{ validators: [Validators.maxLength(50)] },
|
|
||||||
),
|
|
||||||
});
|
});
|
||||||
|
|
||||||
protected collectionManagementFormGroup = this.formBuilder.group({
|
protected collectionManagementFormGroup = this.formBuilder.group({
|
||||||
|
@ -124,7 +120,6 @@ export class AccountComponent {
|
||||||
// Update disabled states - reactive forms prefers not using disabled attribute
|
// Update disabled states - reactive forms prefers not using disabled attribute
|
||||||
if (!this.selfHosted) {
|
if (!this.selfHosted) {
|
||||||
this.formGroup.get("orgName").enable();
|
this.formGroup.get("orgName").enable();
|
||||||
this.formGroup.get("businessName").enable();
|
|
||||||
this.collectionManagementFormGroup.get("limitCollectionCreationDeletion").enable();
|
this.collectionManagementFormGroup.get("limitCollectionCreationDeletion").enable();
|
||||||
this.collectionManagementFormGroup.get("allowAdminAccessToAllCollectionItems").enable();
|
this.collectionManagementFormGroup.get("allowAdminAccessToAllCollectionItems").enable();
|
||||||
}
|
}
|
||||||
|
@ -143,7 +138,6 @@ export class AccountComponent {
|
||||||
this.formGroup.patchValue({
|
this.formGroup.patchValue({
|
||||||
orgName: this.org.name,
|
orgName: this.org.name,
|
||||||
billingEmail: this.org.billingEmail,
|
billingEmail: this.org.billingEmail,
|
||||||
businessName: this.org.businessName,
|
|
||||||
});
|
});
|
||||||
this.collectionManagementFormGroup.patchValue({
|
this.collectionManagementFormGroup.patchValue({
|
||||||
limitCollectionCreationDeletion: this.org.limitCollectionCreationDeletion,
|
limitCollectionCreationDeletion: this.org.limitCollectionCreationDeletion,
|
||||||
|
@ -168,7 +162,6 @@ export class AccountComponent {
|
||||||
|
|
||||||
const request = new OrganizationUpdateRequest();
|
const request = new OrganizationUpdateRequest();
|
||||||
request.name = this.formGroup.value.orgName;
|
request.name = this.formGroup.value.orgName;
|
||||||
request.businessName = this.formGroup.value.businessName;
|
|
||||||
request.billingEmail = this.formGroup.value.billingEmail;
|
request.billingEmail = this.formGroup.value.billingEmail;
|
||||||
|
|
||||||
// Backfill pub/priv key if necessary
|
// Backfill pub/priv key if necessary
|
||||||
|
|
|
@ -120,7 +120,6 @@ export class OrganizationPlansComponent implements OnInit, OnDestroy {
|
||||||
additionalStorage: [0, [Validators.min(0), Validators.max(99)]],
|
additionalStorage: [0, [Validators.min(0), Validators.max(99)]],
|
||||||
additionalSeats: [0, [Validators.min(0), Validators.max(100000)]],
|
additionalSeats: [0, [Validators.min(0), Validators.max(100000)]],
|
||||||
clientOwnerEmail: ["", [Validators.email]],
|
clientOwnerEmail: ["", [Validators.email]],
|
||||||
businessName: [""],
|
|
||||||
plan: [this.plan],
|
plan: [this.plan],
|
||||||
product: [this.product],
|
product: [this.product],
|
||||||
secretsManager: this.secretsManagerSubscription,
|
secretsManager: this.secretsManagerSubscription,
|
||||||
|
@ -596,9 +595,6 @@ export class OrganizationPlansComponent implements OnInit, OnDestroy {
|
||||||
|
|
||||||
private async updateOrganization(orgId: string) {
|
private async updateOrganization(orgId: string) {
|
||||||
const request = new OrganizationUpgradeRequest();
|
const request = new OrganizationUpgradeRequest();
|
||||||
request.businessName = this.formGroup.controls.businessOwned.value
|
|
||||||
? this.formGroup.controls.businessName.value
|
|
||||||
: null;
|
|
||||||
request.additionalSeats = this.formGroup.controls.additionalSeats.value;
|
request.additionalSeats = this.formGroup.controls.additionalSeats.value;
|
||||||
request.additionalStorageGb = this.formGroup.controls.additionalStorage.value;
|
request.additionalStorageGb = this.formGroup.controls.additionalStorage.value;
|
||||||
request.premiumAccessAddon =
|
request.premiumAccessAddon =
|
||||||
|
@ -656,9 +652,6 @@ export class OrganizationPlansComponent implements OnInit, OnDestroy {
|
||||||
|
|
||||||
request.paymentToken = tokenResult[0];
|
request.paymentToken = tokenResult[0];
|
||||||
request.paymentMethodType = tokenResult[1];
|
request.paymentMethodType = tokenResult[1];
|
||||||
request.businessName = this.formGroup.controls.businessOwned.value
|
|
||||||
? this.formGroup.controls.businessName.value
|
|
||||||
: null;
|
|
||||||
request.additionalSeats = this.formGroup.controls.additionalSeats.value;
|
request.additionalSeats = this.formGroup.controls.additionalSeats.value;
|
||||||
request.additionalStorageGb = this.formGroup.controls.additionalStorage.value;
|
request.additionalStorageGb = this.formGroup.controls.additionalStorage.value;
|
||||||
request.premiumAccessAddon =
|
request.premiumAccessAddon =
|
||||||
|
|
Loading…
Reference in New Issue