mirror of
https://github.com/bitwarden/server
synced 2025-12-30 15:14:02 +00:00
[PM-8445] Update trial initiation UI (#4712)
* Add the feature flag Signed-off-by: Cy Okeke <cokeke@bitwarden.com> * Initial comment Signed-off-by: Cy Okeke <cokeke@bitwarden.com> * changes to subscribe with payment method Signed-off-by: Cy Okeke <cokeke@bitwarden.com> * Add new objects * Implementation for subscription without payment method Signed-off-by: Cy Okeke <cokeke@bitwarden.com> * Remove unused codes and classes Signed-off-by: Cy Okeke <cokeke@bitwarden.com> * Rename the flag properly Signed-off-by: Cy Okeke <cokeke@bitwarden.com> * remove implementation that is no longer needed Signed-off-by: Cy Okeke <cokeke@bitwarden.com> * revert the changes on some code removal Signed-off-by: Cy Okeke <cokeke@bitwarden.com> * Resolve the pr comment Signed-off-by: Cy Okeke <cokeke@bitwarden.com> * format the data annotations line breaks Signed-off-by: Cy Okeke <cokeke@bitwarden.com> --------- Signed-off-by: Cy Okeke <cokeke@bitwarden.com>
This commit is contained in:
@@ -14,42 +14,63 @@ public class OrganizationCreateRequestModel : IValidatableObject
|
||||
[StringLength(50, ErrorMessage = "The field Name exceeds the maximum length.")]
|
||||
[JsonConverter(typeof(HtmlEncodingStringConverter))]
|
||||
public string Name { get; set; }
|
||||
|
||||
[StringLength(50, ErrorMessage = "The field Business Name exceeds the maximum length.")]
|
||||
[JsonConverter(typeof(HtmlEncodingStringConverter))]
|
||||
public string BusinessName { get; set; }
|
||||
|
||||
[Required]
|
||||
[StringLength(256)]
|
||||
[EmailAddress]
|
||||
public string BillingEmail { get; set; }
|
||||
|
||||
public PlanType PlanType { get; set; }
|
||||
|
||||
[Required]
|
||||
public string Key { get; set; }
|
||||
|
||||
public OrganizationKeysRequestModel Keys { get; set; }
|
||||
public PaymentMethodType? PaymentMethodType { get; set; }
|
||||
public string PaymentToken { get; set; }
|
||||
|
||||
[Range(0, int.MaxValue)]
|
||||
public int AdditionalSeats { get; set; }
|
||||
|
||||
[Range(0, 99)]
|
||||
public short? AdditionalStorageGb { get; set; }
|
||||
|
||||
public bool PremiumAccessAddon { get; set; }
|
||||
|
||||
[EncryptedString]
|
||||
[EncryptedStringLength(1000)]
|
||||
public string CollectionName { get; set; }
|
||||
|
||||
public string TaxIdNumber { get; set; }
|
||||
|
||||
public string BillingAddressLine1 { get; set; }
|
||||
|
||||
public string BillingAddressLine2 { get; set; }
|
||||
|
||||
public string BillingAddressCity { get; set; }
|
||||
|
||||
public string BillingAddressState { get; set; }
|
||||
|
||||
public string BillingAddressPostalCode { get; set; }
|
||||
|
||||
[StringLength(2)]
|
||||
public string BillingAddressCountry { get; set; }
|
||||
|
||||
public int? MaxAutoscaleSeats { get; set; }
|
||||
|
||||
[Range(0, int.MaxValue)]
|
||||
public int? AdditionalSmSeats { get; set; }
|
||||
|
||||
[Range(0, int.MaxValue)]
|
||||
public int? AdditionalServiceAccounts { get; set; }
|
||||
|
||||
[Required]
|
||||
public bool UseSecretsManager { get; set; }
|
||||
|
||||
public bool IsFromSecretsManagerTrial { get; set; }
|
||||
|
||||
public string InitiationPath { get; set; }
|
||||
@@ -99,16 +120,19 @@ public class OrganizationCreateRequestModel : IValidatableObject
|
||||
{
|
||||
yield return new ValidationResult("Payment required.", new string[] { nameof(PaymentToken) });
|
||||
}
|
||||
|
||||
if (PlanType != PlanType.Free && !PaymentMethodType.HasValue)
|
||||
{
|
||||
yield return new ValidationResult("Payment method type required.",
|
||||
new string[] { nameof(PaymentMethodType) });
|
||||
}
|
||||
|
||||
if (PlanType != PlanType.Free && string.IsNullOrWhiteSpace(BillingAddressCountry))
|
||||
{
|
||||
yield return new ValidationResult("Country required.",
|
||||
new string[] { nameof(BillingAddressCountry) });
|
||||
}
|
||||
|
||||
if (PlanType != PlanType.Free && BillingAddressCountry == "US" &&
|
||||
string.IsNullOrWhiteSpace(BillingAddressPostalCode))
|
||||
{
|
||||
@@ -117,3 +141,4 @@ public class OrganizationCreateRequestModel : IValidatableObject
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user