Skip to content

Commit dbce452

Browse files
authored
[PM-26361] Add User Auto Confirmation (#6436)
* Adding AutoConfrim and migrations. * Add value to Admin Page and update sproc to correct name. * Correcting license constant. * Adding feature check back in. * Fixing sprocs :face_palm: * Remove Coalesce * Adding property to plan and model constructor * Correcting name of column. Cascading change throughout. Updating response models. Updating sprocs and views. Updating migrations * fixing sproc * Fixing up license stuff. * Updating org view * Code review changes and renames :face_palm: * Refershing additional views * Last two fixes.
1 parent 4bf7cf9 commit dbce452

File tree

36 files changed

+10618
-79
lines changed

36 files changed

+10618
-79
lines changed

src/Admin/AdminConsole/Controllers/OrganizationsController.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -472,6 +472,7 @@ private void UpdateOrganization(Organization organization, OrganizationEditModel
472472
organization.UseRiskInsights = model.UseRiskInsights;
473473
organization.UseOrganizationDomains = model.UseOrganizationDomains;
474474
organization.UseAdminSponsoredFamilies = model.UseAdminSponsoredFamilies;
475+
organization.UseAutomaticUserConfirmation = model.UseAutomaticUserConfirmation;
475476

476477
//secrets
477478
organization.SmSeats = model.SmSeats;

src/Admin/AdminConsole/Models/OrganizationEditModel.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,8 @@ public OrganizationEditModel(
106106
SmServiceAccounts = org.SmServiceAccounts;
107107
MaxAutoscaleSmServiceAccounts = org.MaxAutoscaleSmServiceAccounts;
108108
UseOrganizationDomains = org.UseOrganizationDomains;
109+
UseAutomaticUserConfirmation = org.UseAutomaticUserConfirmation;
110+
109111
_plans = plans;
110112
}
111113

@@ -192,6 +194,8 @@ public OrganizationEditModel(
192194
[Display(Name = "Use Organization Domains")]
193195
public bool UseOrganizationDomains { get; set; }
194196

197+
[Display(Name = "Automatic User Confirmation")]
198+
public bool UseAutomaticUserConfirmation { get; set; }
195199
/**
196200
* Creates a Plan[] object for use in Javascript
197201
* This is mapped manually below to provide some type safety in case the plan objects change
@@ -231,6 +235,7 @@ public object GetPlansHelper() =>
231235
LegacyYear = p.LegacyYear,
232236
Disabled = p.Disabled,
233237
SupportsSecretsManager = p.SupportsSecretsManager,
238+
AutomaticUserConfirmation = p.AutomaticUserConfirmation,
234239
PasswordManager =
235240
new
236241
{

src/Admin/AdminConsole/Views/Shared/_OrganizationForm.cshtml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,13 @@
159159
<label class="form-check-label" asp-for="UseAdminSponsoredFamilies"></label>
160160
</div>
161161
}
162+
@if(FeatureService.IsEnabled(FeatureFlagKeys.AutomaticConfirmUsers))
163+
{
164+
<div class="form-check">
165+
<input type="checkbox" class="form-check-input" asp-for="UseAutomaticUserConfirmation" disabled='@(canEditPlan ? null : "disabled")'>
166+
<label class="form-check-label" asp-for="UseAutomaticUserConfirmation"></label>
167+
</div>
168+
}
162169
</div>
163170
<div class="col-3">
164171
<h3>Password Manager</h3>

src/Api/AdminConsole/Models/Response/Organizations/OrganizationResponseModel.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ public OrganizationResponseModel(
7070
UseRiskInsights = organization.UseRiskInsights;
7171
UseOrganizationDomains = organization.UseOrganizationDomains;
7272
UseAdminSponsoredFamilies = organization.UseAdminSponsoredFamilies;
73+
UseAutomaticUserConfirmation = organization.UseAutomaticUserConfirmation;
7374
}
7475

7576
public Guid Id { get; set; }
@@ -118,6 +119,7 @@ public OrganizationResponseModel(
118119
public bool UseRiskInsights { get; set; }
119120
public bool UseOrganizationDomains { get; set; }
120121
public bool UseAdminSponsoredFamilies { get; set; }
122+
public bool UseAutomaticUserConfirmation { get; set; }
121123
}
122124

123125
public class OrganizationSubscriptionResponseModel : OrganizationResponseModel

src/Api/AdminConsole/Models/Response/ProfileOrganizationResponseModel.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,8 @@ public ProfileOrganizationResponseModel(
8787
KeyConnectorUrl = ssoConfigData.KeyConnectorUrl;
8888
SsoMemberDecryptionType = ssoConfigData.MemberDecryptionType;
8989
}
90+
91+
UseAutomaticUserConfirmation = organization.UseAutomaticUserConfirmation;
9092
}
9193

9294
public Guid Id { get; set; }
@@ -164,4 +166,5 @@ public bool UserIsManagedByOrganization
164166
public bool IsAdminInitiated { get; set; }
165167
public bool SsoEnabled { get; set; }
166168
public MemberDecryptionType? SsoMemberDecryptionType { get; set; }
169+
public bool UseAutomaticUserConfirmation { get; set; }
167170
}

src/Api/AdminConsole/Models/Response/ProfileProviderOrganizationResponseModel.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,5 +52,6 @@ public ProfileProviderOrganizationResponseModel(ProviderUserOrganizationDetails
5252
UseRiskInsights = organization.UseRiskInsights;
5353
UseOrganizationDomains = organization.UseOrganizationDomains;
5454
UseAdminSponsoredFamilies = organization.UseAdminSponsoredFamilies;
55+
UseAutomaticUserConfirmation = organization.UseAutomaticUserConfirmation;
5556
}
5657
}

src/Core/AdminConsole/Entities/Organization.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,11 @@ public class Organization : ITableObject<Guid>, IStorableSubscriber, IRevisable
129129
/// </summary>
130130
public bool SyncSeats { get; set; }
131131

132+
/// <summary>
133+
/// If set to true, user accounts created within the organization are automatically confirmed without requiring additional verification steps.
134+
/// </summary>
135+
public bool UseAutomaticUserConfirmation { get; set; }
136+
132137
public void SetNewId()
133138
{
134139
if (Id == default(Guid))

src/Core/AdminConsole/Models/Data/Organizations/OrganizationAbility.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ public OrganizationAbility(Organization organization)
2828
UseRiskInsights = organization.UseRiskInsights;
2929
UseOrganizationDomains = organization.UseOrganizationDomains;
3030
UseAdminSponsoredFamilies = organization.UseAdminSponsoredFamilies;
31+
UseAutomaticUserConfirmation = organization.UseAutomaticUserConfirmation;
3132
}
3233

3334
public Guid Id { get; set; }
@@ -49,4 +50,5 @@ public OrganizationAbility(Organization organization)
4950
public bool UseRiskInsights { get; set; }
5051
public bool UseOrganizationDomains { get; set; }
5152
public bool UseAdminSponsoredFamilies { get; set; }
53+
public bool UseAutomaticUserConfirmation { get; set; }
5254
}

src/Core/AdminConsole/Models/Data/Organizations/OrganizationUsers/OrganizationUserOrganizationDetails.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,4 +66,5 @@ public class OrganizationUserOrganizationDetails
6666
public bool UseOrganizationDomains { get; set; }
6767
public bool UseAdminSponsoredFamilies { get; set; }
6868
public bool? IsAdminInitiated { get; set; }
69+
public bool UseAutomaticUserConfirmation { get; set; }
6970
}

src/Core/AdminConsole/Models/Data/Provider/ProviderUserOrganizationDetails.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,4 +51,5 @@ public class ProviderUserOrganizationDetails
5151
public bool UseOrganizationDomains { get; set; }
5252
public bool UseAdminSponsoredFamilies { get; set; }
5353
public ProviderType ProviderType { get; set; }
54+
public bool UseAutomaticUserConfirmation { get; set; }
5455
}

0 commit comments

Comments
 (0)