mirror of
https://github.com/bitwarden/server
synced 2025-12-19 01:33:20 +00:00
Updating SM to Sm, and adding more view refreshes
This commit is contained in:
@@ -473,7 +473,7 @@ public class OrganizationsController : Controller
|
|||||||
organization.UseOrganizationDomains = model.UseOrganizationDomains;
|
organization.UseOrganizationDomains = model.UseOrganizationDomains;
|
||||||
organization.UseAdminSponsoredFamilies = model.UseAdminSponsoredFamilies;
|
organization.UseAdminSponsoredFamilies = model.UseAdminSponsoredFamilies;
|
||||||
organization.UseAutomaticUserConfirmation = model.UseAutomaticUserConfirmation;
|
organization.UseAutomaticUserConfirmation = model.UseAutomaticUserConfirmation;
|
||||||
organization.UseDisableSMAdsForUsers = model.UseDisableSMAdsForUsers;
|
organization.UseDisableSmAdsForUsers = model.UseDisableSmAdsForUsers;
|
||||||
|
|
||||||
//secrets
|
//secrets
|
||||||
organization.SmSeats = model.SmSeats;
|
organization.SmSeats = model.SmSeats;
|
||||||
|
|||||||
@@ -107,7 +107,7 @@ public class OrganizationEditModel : OrganizationViewModel
|
|||||||
MaxAutoscaleSmServiceAccounts = org.MaxAutoscaleSmServiceAccounts;
|
MaxAutoscaleSmServiceAccounts = org.MaxAutoscaleSmServiceAccounts;
|
||||||
UseOrganizationDomains = org.UseOrganizationDomains;
|
UseOrganizationDomains = org.UseOrganizationDomains;
|
||||||
UseAutomaticUserConfirmation = org.UseAutomaticUserConfirmation;
|
UseAutomaticUserConfirmation = org.UseAutomaticUserConfirmation;
|
||||||
UseDisableSMAdsForUsers = org.UseDisableSMAdsForUsers;
|
UseDisableSmAdsForUsers = org.UseDisableSmAdsForUsers;
|
||||||
|
|
||||||
_plans = plans;
|
_plans = plans;
|
||||||
}
|
}
|
||||||
@@ -195,7 +195,7 @@ public class OrganizationEditModel : OrganizationViewModel
|
|||||||
[Display(Name = "Use Organization Domains")]
|
[Display(Name = "Use Organization Domains")]
|
||||||
public bool UseOrganizationDomains { get; set; }
|
public bool UseOrganizationDomains { get; set; }
|
||||||
[Display(Name = "Disable SM Ads For Users")]
|
[Display(Name = "Disable SM Ads For Users")]
|
||||||
public bool UseDisableSMAdsForUsers { get; set; }
|
public bool UseDisableSmAdsForUsers { get; set; }
|
||||||
|
|
||||||
[Display(Name = "Automatic User Confirmation")]
|
[Display(Name = "Automatic User Confirmation")]
|
||||||
public bool UseAutomaticUserConfirmation { get; set; }
|
public bool UseAutomaticUserConfirmation { get; set; }
|
||||||
@@ -330,7 +330,7 @@ public class OrganizationEditModel : OrganizationViewModel
|
|||||||
existingOrganization.SmServiceAccounts = SmServiceAccounts;
|
existingOrganization.SmServiceAccounts = SmServiceAccounts;
|
||||||
existingOrganization.MaxAutoscaleSmServiceAccounts = MaxAutoscaleSmServiceAccounts;
|
existingOrganization.MaxAutoscaleSmServiceAccounts = MaxAutoscaleSmServiceAccounts;
|
||||||
existingOrganization.UseOrganizationDomains = UseOrganizationDomains;
|
existingOrganization.UseOrganizationDomains = UseOrganizationDomains;
|
||||||
existingOrganization.UseDisableSMAdsForUsers = UseDisableSMAdsForUsers;
|
existingOrganization.UseDisableSmAdsForUsers = UseDisableSmAdsForUsers;
|
||||||
return existingOrganization;
|
return existingOrganization;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -185,8 +185,8 @@
|
|||||||
<label class="form-check-label" asp-for="UseSecretsManager"></label>
|
<label class="form-check-label" asp-for="UseSecretsManager"></label>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-check">
|
<div class="form-check">
|
||||||
<input type="checkbox" class="form-check-input" asp-for="UseDisableSMAdsForUsers" disabled='@(canEditPlan ? null : "disabled")'>
|
<input type="checkbox" class="form-check-input" asp-for="UseDisableSmAdsForUsers" disabled='@(canEditPlan ? null : "disabled")'>
|
||||||
<label class="form-check-label" asp-for="UseDisableSMAdsForUsers"></label>
|
<label class="form-check-label" asp-for="UseDisableSmAdsForUsers"></label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-2">
|
<div class="col-2">
|
||||||
|
|||||||
@@ -71,7 +71,7 @@ public class OrganizationResponseModel : ResponseModel
|
|||||||
UseOrganizationDomains = organization.UseOrganizationDomains;
|
UseOrganizationDomains = organization.UseOrganizationDomains;
|
||||||
UseAdminSponsoredFamilies = organization.UseAdminSponsoredFamilies;
|
UseAdminSponsoredFamilies = organization.UseAdminSponsoredFamilies;
|
||||||
UseAutomaticUserConfirmation = organization.UseAutomaticUserConfirmation;
|
UseAutomaticUserConfirmation = organization.UseAutomaticUserConfirmation;
|
||||||
UseDisableSMAdsForUsers = organization.UseDisableSMAdsForUsers;
|
UseDisableSmAdsForUsers = organization.UseDisableSmAdsForUsers;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Guid Id { get; set; }
|
public Guid Id { get; set; }
|
||||||
@@ -121,7 +121,7 @@ public class OrganizationResponseModel : ResponseModel
|
|||||||
public bool UseOrganizationDomains { get; set; }
|
public bool UseOrganizationDomains { get; set; }
|
||||||
public bool UseAdminSponsoredFamilies { get; set; }
|
public bool UseAdminSponsoredFamilies { get; set; }
|
||||||
public bool UseAutomaticUserConfirmation { get; set; }
|
public bool UseAutomaticUserConfirmation { get; set; }
|
||||||
public bool UseDisableSMAdsForUsers { get; set; }
|
public bool UseDisableSmAdsForUsers { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public class OrganizationSubscriptionResponseModel : OrganizationResponseModel
|
public class OrganizationSubscriptionResponseModel : OrganizationResponseModel
|
||||||
|
|||||||
@@ -137,7 +137,7 @@ public class Organization : ITableObject<Guid>, IStorableSubscriber, IRevisable
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// If set to true, disables Secrets Manager ads for users in the organization
|
/// If set to true, disables Secrets Manager ads for users in the organization
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool UseDisableSMAdsForUsers { get; set; }
|
public bool UseDisableSmAdsForUsers { get; set; }
|
||||||
|
|
||||||
public void SetNewId()
|
public void SetNewId()
|
||||||
{
|
{
|
||||||
@@ -338,6 +338,6 @@ public class Organization : ITableObject<Guid>, IStorableSubscriber, IRevisable
|
|||||||
UseRiskInsights = license.UseRiskInsights;
|
UseRiskInsights = license.UseRiskInsights;
|
||||||
UseOrganizationDomains = license.UseOrganizationDomains;
|
UseOrganizationDomains = license.UseOrganizationDomains;
|
||||||
UseAdminSponsoredFamilies = license.UseAdminSponsoredFamilies;
|
UseAdminSponsoredFamilies = license.UseAdminSponsoredFamilies;
|
||||||
UseDisableSMAdsForUsers = license.UseDisableSMAdsForUsers;
|
UseDisableSmAdsForUsers = license.UseDisableSmAdsForUsers;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ public class OrganizationAbility
|
|||||||
UseOrganizationDomains = organization.UseOrganizationDomains;
|
UseOrganizationDomains = organization.UseOrganizationDomains;
|
||||||
UseAdminSponsoredFamilies = organization.UseAdminSponsoredFamilies;
|
UseAdminSponsoredFamilies = organization.UseAdminSponsoredFamilies;
|
||||||
UseAutomaticUserConfirmation = organization.UseAutomaticUserConfirmation;
|
UseAutomaticUserConfirmation = organization.UseAutomaticUserConfirmation;
|
||||||
UseDisableSMAdsForUsers = organization.UseDisableSMAdsForUsers;
|
UseDisableSmAdsForUsers = organization.UseDisableSmAdsForUsers;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Guid Id { get; set; }
|
public Guid Id { get; set; }
|
||||||
@@ -52,5 +52,5 @@ public class OrganizationAbility
|
|||||||
public bool UseOrganizationDomains { get; set; }
|
public bool UseOrganizationDomains { get; set; }
|
||||||
public bool UseAdminSponsoredFamilies { get; set; }
|
public bool UseAdminSponsoredFamilies { get; set; }
|
||||||
public bool UseAutomaticUserConfirmation { get; set; }
|
public bool UseAutomaticUserConfirmation { get; set; }
|
||||||
public bool UseDisableSMAdsForUsers { get; set; }
|
public bool UseDisableSmAdsForUsers { get; set; }
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -154,7 +154,7 @@ public class SelfHostedOrganizationDetails : Organization
|
|||||||
Status = Status,
|
Status = Status,
|
||||||
UseRiskInsights = UseRiskInsights,
|
UseRiskInsights = UseRiskInsights,
|
||||||
UseAdminSponsoredFamilies = UseAdminSponsoredFamilies,
|
UseAdminSponsoredFamilies = UseAdminSponsoredFamilies,
|
||||||
UseDisableSMAdsForUsers = UseDisableSMAdsForUsers,
|
UseDisableSmAdsForUsers = UseDisableSmAdsForUsers,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -62,8 +62,8 @@ public static class OrganizationFactory
|
|||||||
UseAdminSponsoredFamilies =
|
UseAdminSponsoredFamilies =
|
||||||
claimsPrincipal.GetValue<bool>(OrganizationLicenseConstants.UseAdminSponsoredFamilies),
|
claimsPrincipal.GetValue<bool>(OrganizationLicenseConstants.UseAdminSponsoredFamilies),
|
||||||
UseAutomaticUserConfirmation = claimsPrincipal.GetValue<bool>(OrganizationLicenseConstants.UseAutomaticUserConfirmation),
|
UseAutomaticUserConfirmation = claimsPrincipal.GetValue<bool>(OrganizationLicenseConstants.UseAutomaticUserConfirmation),
|
||||||
UseDisableSMAdsForUsers =
|
UseDisableSmAdsForUsers =
|
||||||
claimsPrincipal.GetValue<bool>(OrganizationLicenseConstants.UseDisableSMAdsForUsers),
|
claimsPrincipal.GetValue<bool>(OrganizationLicenseConstants.UseDisableSmAdsForUsers),
|
||||||
};
|
};
|
||||||
|
|
||||||
public static Organization Create(
|
public static Organization Create(
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ public static class OrganizationLicenseConstants
|
|||||||
public const string UseAdminSponsoredFamilies = nameof(UseAdminSponsoredFamilies);
|
public const string UseAdminSponsoredFamilies = nameof(UseAdminSponsoredFamilies);
|
||||||
public const string UseOrganizationDomains = nameof(UseOrganizationDomains);
|
public const string UseOrganizationDomains = nameof(UseOrganizationDomains);
|
||||||
public const string UseAutomaticUserConfirmation = nameof(UseAutomaticUserConfirmation);
|
public const string UseAutomaticUserConfirmation = nameof(UseAutomaticUserConfirmation);
|
||||||
public const string UseDisableSMAdsForUsers = nameof(UseDisableSMAdsForUsers);
|
public const string UseDisableSmAdsForUsers = nameof(UseDisableSmAdsForUsers);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class UserLicenseConstants
|
public static class UserLicenseConstants
|
||||||
|
|||||||
@@ -57,7 +57,7 @@ public class OrganizationLicenseClaimsFactory : ILicenseClaimsFactory<Organizati
|
|||||||
new(nameof(OrganizationLicenseConstants.UseAdminSponsoredFamilies), entity.UseAdminSponsoredFamilies.ToString()),
|
new(nameof(OrganizationLicenseConstants.UseAdminSponsoredFamilies), entity.UseAdminSponsoredFamilies.ToString()),
|
||||||
new(nameof(OrganizationLicenseConstants.UseOrganizationDomains), entity.UseOrganizationDomains.ToString()),
|
new(nameof(OrganizationLicenseConstants.UseOrganizationDomains), entity.UseOrganizationDomains.ToString()),
|
||||||
new(nameof(OrganizationLicenseConstants.UseAutomaticUserConfirmation), entity.UseAutomaticUserConfirmation.ToString()),
|
new(nameof(OrganizationLicenseConstants.UseAutomaticUserConfirmation), entity.UseAutomaticUserConfirmation.ToString()),
|
||||||
new(nameof(OrganizationLicenseConstants.UseDisableSMAdsForUsers), entity.UseDisableSMAdsForUsers.ToString()),
|
new(nameof(OrganizationLicenseConstants.UseDisableSmAdsForUsers), entity.UseDisableSmAdsForUsers.ToString()),
|
||||||
};
|
};
|
||||||
|
|
||||||
if (entity.Name is not null)
|
if (entity.Name is not null)
|
||||||
|
|||||||
@@ -154,7 +154,7 @@ public class OrganizationLicense : ILicense
|
|||||||
public bool UseOrganizationDomains { get; set; }
|
public bool UseOrganizationDomains { get; set; }
|
||||||
public bool UseAdminSponsoredFamilies { get; set; }
|
public bool UseAdminSponsoredFamilies { get; set; }
|
||||||
public bool UseAutomaticUserConfirmation { get; set; }
|
public bool UseAutomaticUserConfirmation { get; set; }
|
||||||
public bool UseDisableSMAdsForUsers { get; set; }
|
public bool UseDisableSmAdsForUsers { get; set; }
|
||||||
public string Hash { get; set; }
|
public string Hash { get; set; }
|
||||||
public string Signature { get; set; }
|
public string Signature { get; set; }
|
||||||
public string Token { get; set; }
|
public string Token { get; set; }
|
||||||
@@ -230,7 +230,7 @@ public class OrganizationLicense : ILicense
|
|||||||
!p.Name.Equals(nameof(UseAdminSponsoredFamilies)) &&
|
!p.Name.Equals(nameof(UseAdminSponsoredFamilies)) &&
|
||||||
!p.Name.Equals(nameof(UseOrganizationDomains)) &&
|
!p.Name.Equals(nameof(UseOrganizationDomains)) &&
|
||||||
!p.Name.Equals(nameof(UseAutomaticUserConfirmation)) &&
|
!p.Name.Equals(nameof(UseAutomaticUserConfirmation)) &&
|
||||||
!p.Name.Equals(nameof(UseDisableSMAdsForUsers)))
|
!p.Name.Equals(nameof(UseDisableSmAdsForUsers)))
|
||||||
.OrderBy(p => p.Name)
|
.OrderBy(p => p.Name)
|
||||||
.Select(p => $"{p.Name}:{Core.Utilities.CoreHelpers.FormatLicenseSignatureValue(p.GetValue(this, null))}")
|
.Select(p => $"{p.Name}:{Core.Utilities.CoreHelpers.FormatLicenseSignatureValue(p.GetValue(this, null))}")
|
||||||
.Aggregate((c, n) => $"{c}|{n}");
|
.Aggregate((c, n) => $"{c}|{n}");
|
||||||
@@ -426,7 +426,7 @@ public class OrganizationLicense : ILicense
|
|||||||
var useAdminSponsoredFamilies = claimsPrincipal.GetValue<bool>(nameof(UseAdminSponsoredFamilies));
|
var useAdminSponsoredFamilies = claimsPrincipal.GetValue<bool>(nameof(UseAdminSponsoredFamilies));
|
||||||
var useOrganizationDomains = claimsPrincipal.GetValue<bool>(nameof(UseOrganizationDomains));
|
var useOrganizationDomains = claimsPrincipal.GetValue<bool>(nameof(UseOrganizationDomains));
|
||||||
var useAutomaticUserConfirmation = claimsPrincipal.GetValue<bool>(nameof(UseAutomaticUserConfirmation));
|
var useAutomaticUserConfirmation = claimsPrincipal.GetValue<bool>(nameof(UseAutomaticUserConfirmation));
|
||||||
var useDisableSMAdsForUsers = claimsPrincipal.GetValue<bool>(nameof(UseDisableSMAdsForUsers));
|
var useDisableSmAdsForUsers = claimsPrincipal.GetValue<bool>(OrganizationLicenseConstants.UseDisableSmAdsForUsers);
|
||||||
|
|
||||||
return issued <= DateTime.UtcNow &&
|
return issued <= DateTime.UtcNow &&
|
||||||
expires >= DateTime.UtcNow &&
|
expires >= DateTime.UtcNow &&
|
||||||
@@ -458,7 +458,7 @@ public class OrganizationLicense : ILicense
|
|||||||
useAdminSponsoredFamilies == organization.UseAdminSponsoredFamilies &&
|
useAdminSponsoredFamilies == organization.UseAdminSponsoredFamilies &&
|
||||||
useOrganizationDomains == organization.UseOrganizationDomains &&
|
useOrganizationDomains == organization.UseOrganizationDomains &&
|
||||||
useAutomaticUserConfirmation == organization.UseAutomaticUserConfirmation &&
|
useAutomaticUserConfirmation == organization.UseAutomaticUserConfirmation &&
|
||||||
useDisableSMAdsForUsers == organization.UseDisableSMAdsForUsers;
|
useDisableSMAdsForUsers == organization.UseDisableSmAdsForUsers;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -114,7 +114,7 @@ public class OrganizationRepository : Repository<Core.AdminConsole.Entities.Orga
|
|||||||
UseOrganizationDomains = e.UseOrganizationDomains,
|
UseOrganizationDomains = e.UseOrganizationDomains,
|
||||||
UseAdminSponsoredFamilies = e.UseAdminSponsoredFamilies,
|
UseAdminSponsoredFamilies = e.UseAdminSponsoredFamilies,
|
||||||
UseAutomaticUserConfirmation = e.UseAutomaticUserConfirmation,
|
UseAutomaticUserConfirmation = e.UseAutomaticUserConfirmation,
|
||||||
UseDisableSMAdsForUsers = e.UseDisableSMAdsForUsers
|
UseDisableSmAdsForUsers = e.UseDisableSmAdsForUsers
|
||||||
}).ToListAsync();
|
}).ToListAsync();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ CREATE PROCEDURE [dbo].[Organization_Create]
|
|||||||
@UseAdminSponsoredFamilies BIT = 0,
|
@UseAdminSponsoredFamilies BIT = 0,
|
||||||
@SyncSeats BIT = 0,
|
@SyncSeats BIT = 0,
|
||||||
@UseAutomaticUserConfirmation BIT = 0,
|
@UseAutomaticUserConfirmation BIT = 0,
|
||||||
@UseDisableSMAdsForUsers BIT = 0
|
@UseDisableSmAdsForUsers BIT = 0
|
||||||
AS
|
AS
|
||||||
BEGIN
|
BEGIN
|
||||||
SET NOCOUNT ON
|
SET NOCOUNT ON
|
||||||
@@ -128,7 +128,7 @@ BEGIN
|
|||||||
[UseAdminSponsoredFamilies],
|
[UseAdminSponsoredFamilies],
|
||||||
[SyncSeats],
|
[SyncSeats],
|
||||||
[UseAutomaticUserConfirmation],
|
[UseAutomaticUserConfirmation],
|
||||||
[UseDisableSMAdsForUsers]
|
[UseDisableSmAdsForUsers]
|
||||||
)
|
)
|
||||||
VALUES
|
VALUES
|
||||||
(
|
(
|
||||||
@@ -193,6 +193,6 @@ BEGIN
|
|||||||
@UseAdminSponsoredFamilies,
|
@UseAdminSponsoredFamilies,
|
||||||
@SyncSeats,
|
@SyncSeats,
|
||||||
@UseAutomaticUserConfirmation,
|
@UseAutomaticUserConfirmation,
|
||||||
@UseDisableSMAdsForUsers
|
@UseDisableSmAdsForUsers
|
||||||
);
|
);
|
||||||
END
|
END
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ BEGIN
|
|||||||
[UseOrganizationDomains],
|
[UseOrganizationDomains],
|
||||||
[UseAdminSponsoredFamilies],
|
[UseAdminSponsoredFamilies],
|
||||||
[UseAutomaticUserConfirmation],
|
[UseAutomaticUserConfirmation],
|
||||||
[UseDisableSMAdsForUsers]
|
[UseDisableSmAdsForUsers]
|
||||||
FROM
|
FROM
|
||||||
[dbo].[Organization]
|
[dbo].[Organization]
|
||||||
END
|
END
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ CREATE PROCEDURE [dbo].[Organization_Update]
|
|||||||
@UseAdminSponsoredFamilies BIT = 0,
|
@UseAdminSponsoredFamilies BIT = 0,
|
||||||
@SyncSeats BIT = 0,
|
@SyncSeats BIT = 0,
|
||||||
@UseAutomaticUserConfirmation BIT = 0,
|
@UseAutomaticUserConfirmation BIT = 0,
|
||||||
@UseDisableSMAdsForUsers BIT = 0
|
@UseDisableSmAdsForUsers BIT = 0
|
||||||
AS
|
AS
|
||||||
BEGIN
|
BEGIN
|
||||||
SET NOCOUNT ON
|
SET NOCOUNT ON
|
||||||
@@ -128,7 +128,7 @@ BEGIN
|
|||||||
[UseAdminSponsoredFamilies] = @UseAdminSponsoredFamilies,
|
[UseAdminSponsoredFamilies] = @UseAdminSponsoredFamilies,
|
||||||
[SyncSeats] = @SyncSeats,
|
[SyncSeats] = @SyncSeats,
|
||||||
[UseAutomaticUserConfirmation] = @UseAutomaticUserConfirmation,
|
[UseAutomaticUserConfirmation] = @UseAutomaticUserConfirmation,
|
||||||
[UseDisableSMAdsForUsers] = @UseDisableSMAdsForUsers
|
[UseDisableSmAdsForUsers] = @UseDisableSmAdsForUsers
|
||||||
WHERE
|
WHERE
|
||||||
[Id] = @Id;
|
[Id] = @Id;
|
||||||
END
|
END
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ CREATE TABLE [dbo].[Organization] (
|
|||||||
[UseAdminSponsoredFamilies] BIT NOT NULL CONSTRAINT [DF_Organization_UseAdminSponsoredFamilies] DEFAULT (0),
|
[UseAdminSponsoredFamilies] BIT NOT NULL CONSTRAINT [DF_Organization_UseAdminSponsoredFamilies] DEFAULT (0),
|
||||||
[SyncSeats] BIT NOT NULL CONSTRAINT [DF_Organization_SyncSeats] DEFAULT (0),
|
[SyncSeats] BIT NOT NULL CONSTRAINT [DF_Organization_SyncSeats] DEFAULT (0),
|
||||||
[UseAutomaticUserConfirmation] BIT NOT NULL CONSTRAINT [DF_Organization_UseAutomaticUserConfirmation] DEFAULT (0),
|
[UseAutomaticUserConfirmation] BIT NOT NULL CONSTRAINT [DF_Organization_UseAutomaticUserConfirmation] DEFAULT (0),
|
||||||
[UseDisableSMAdsForUsers] BIT NOT NULL CONSTRAINT [DF_Organization_UseDisableSMAdsForUsers] DEFAULT (0),
|
[UseDisableSmAdsForUsers] BIT NOT NULL CONSTRAINT [DF_Organization_UseDisableSmAdsForUsers] DEFAULT (0),
|
||||||
CONSTRAINT [PK_Organization] PRIMARY KEY CLUSTERED ([Id] ASC)
|
CONSTRAINT [PK_Organization] PRIMARY KEY CLUSTERED ([Id] ASC)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
@@ -98,21 +98,21 @@ public class OrganizationTests
|
|||||||
}
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
public void UseDisableSMAdsForUsers_DefaultValue_IsFalse()
|
public void UseDisableSmAdsForUsers_DefaultValue_IsFalse()
|
||||||
{
|
{
|
||||||
var organization = new Organization();
|
var organization = new Organization();
|
||||||
|
|
||||||
Assert.False(organization.UseDisableSMAdsForUsers);
|
Assert.False(organization.UseDisableSmAdsForUsers);
|
||||||
}
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
public void UseDisableSMAdsForUsers_CanBeSetToTrue()
|
public void UseDisableSmAdsForUsers_CanBeSetToTrue()
|
||||||
{
|
{
|
||||||
var organization = new Organization
|
var organization = new Organization
|
||||||
{
|
{
|
||||||
UseDisableSMAdsForUsers = true
|
UseDisableSmAdsForUsers = true
|
||||||
};
|
};
|
||||||
|
|
||||||
Assert.True(organization.UseDisableSMAdsForUsers);
|
Assert.True(organization.UseDisableSmAdsForUsers);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -214,7 +214,7 @@ If you believe you need to change the version for a valid reason, please discuss
|
|||||||
AllowAdminAccessToAllCollectionItems = true,
|
AllowAdminAccessToAllCollectionItems = true,
|
||||||
UseOrganizationDomains = true,
|
UseOrganizationDomains = true,
|
||||||
UseAdminSponsoredFamilies = false,
|
UseAdminSponsoredFamilies = false,
|
||||||
UseDisableSMAdsForUsers = false
|
UseDisableSmAdsForUsers = false
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -260,4 +260,34 @@ If you believe you need to change the version for a valid reason, please discuss
|
|||||||
.Returns([0x00, 0x01, 0x02, 0x03]); // Dummy signature for hash testing
|
.Returns([0x00, 0x01, 0x02, 0x03]); // Dummy signature for hash testing
|
||||||
return mockService;
|
return mockService;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Verifies that UseDisableSmAdsForUsers claim is properly generated in the license Token
|
||||||
|
/// and that VerifyData correctly validates the claim.
|
||||||
|
/// </summary>
|
||||||
|
[Theory]
|
||||||
|
[BitAutoData(true)]
|
||||||
|
[BitAutoData(false)]
|
||||||
|
public void OrganizationLicense_UseDisableSmAdsForUsers_ClaimGenerationAndValidation(bool useDisableSmAdsForUsers, ClaimsPrincipal claimsPrincipal)
|
||||||
|
{
|
||||||
|
// Arrange
|
||||||
|
var organization = CreateDeterministicOrganization();
|
||||||
|
organization.UseDisableSmAdsForUsers = useDisableSmAdsForUsers;
|
||||||
|
|
||||||
|
var subscriptionInfo = CreateDeterministicSubscriptionInfo();
|
||||||
|
var installationId = new Guid("78900000-0000-0000-0000-000000000123");
|
||||||
|
var mockLicensingService = CreateMockLicensingService();
|
||||||
|
|
||||||
|
var license = new OrganizationLicense(organization, subscriptionInfo, installationId, mockLicensingService);
|
||||||
|
license.Expires = DateTime.MaxValue; // Prevent expiration during test
|
||||||
|
|
||||||
|
var globalSettings = Substitute.For<IGlobalSettings>();
|
||||||
|
globalSettings.Installation.Returns(new GlobalSettings.InstallationSettings
|
||||||
|
{
|
||||||
|
Id = installationId
|
||||||
|
});
|
||||||
|
|
||||||
|
// Act & Assert - Verify VerifyData passes with the UseDisableSmAdsForUsers value
|
||||||
|
Assert.True(license.VerifyData(organization, claimsPrincipal, globalSettings));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,15 +2,19 @@
|
|||||||
IF NOT EXISTS (SELECT 1
|
IF NOT EXISTS (SELECT 1
|
||||||
FROM INFORMATION_SCHEMA.COLUMNS
|
FROM INFORMATION_SCHEMA.COLUMNS
|
||||||
WHERE TABLE_NAME = 'Organization'
|
WHERE TABLE_NAME = 'Organization'
|
||||||
AND COLUMN_NAME = 'UseDisableSMAdsForUsers')
|
AND COLUMN_NAME = 'UseDisableSmAdsForUsers')
|
||||||
BEGIN
|
BEGIN
|
||||||
ALTER TABLE [dbo].[Organization]
|
ALTER TABLE [dbo].[Organization]
|
||||||
ADD [UseDisableSMAdsForUsers] BIT NOT NULL CONSTRAINT [DF_Organization_UseDisableSMAdsForUsers] DEFAULT 0;
|
ADD [UseDisableSmAdsForUsers] BIT NOT NULL CONSTRAINT [DF_Organization_UseDisableSmAdsForUsers] DEFAULT 0;
|
||||||
END
|
END
|
||||||
GO
|
GO
|
||||||
|
|
||||||
-- Refresh view
|
-- Refresh views
|
||||||
|
EXEC sp_refreshview N'[dbo].[OrganizationCipherDetailsCollectionsView]';
|
||||||
|
EXEC sp_refreshview N'[dbo].[OrganizationUserOrganizationDetailsView]';
|
||||||
EXEC sp_refreshsqlmodule N'[dbo].[OrganizationView]';
|
EXEC sp_refreshsqlmodule N'[dbo].[OrganizationView]';
|
||||||
|
EXEC sp_refreshview N'[dbo].[ProviderOrganizationOrganizationDetailsView]';
|
||||||
|
EXEC sp_refreshview N'[dbo].[ProviderUserProviderOrganizationDetailsView]';
|
||||||
GO
|
GO
|
||||||
|
|
||||||
CREATE OR ALTER PROCEDURE [dbo].[Organization_Create]
|
CREATE OR ALTER PROCEDURE [dbo].[Organization_Create]
|
||||||
@@ -75,7 +79,7 @@ CREATE OR ALTER PROCEDURE [dbo].[Organization_Create]
|
|||||||
@UseAdminSponsoredFamilies BIT = 0,
|
@UseAdminSponsoredFamilies BIT = 0,
|
||||||
@SyncSeats BIT = 0,
|
@SyncSeats BIT = 0,
|
||||||
@UseAutomaticUserConfirmation BIT = 0,
|
@UseAutomaticUserConfirmation BIT = 0,
|
||||||
@UseDisableSMAdsForUsers BIT = 0
|
@UseDisableSmAdsForUsers BIT = 0
|
||||||
AS
|
AS
|
||||||
BEGIN
|
BEGIN
|
||||||
SET NOCOUNT ON
|
SET NOCOUNT ON
|
||||||
@@ -143,7 +147,7 @@ BEGIN
|
|||||||
[UseAdminSponsoredFamilies],
|
[UseAdminSponsoredFamilies],
|
||||||
[SyncSeats],
|
[SyncSeats],
|
||||||
[UseAutomaticUserConfirmation],
|
[UseAutomaticUserConfirmation],
|
||||||
[UseDisableSMAdsForUsers]
|
[UseDisableSmAdsForUsers]
|
||||||
)
|
)
|
||||||
VALUES
|
VALUES
|
||||||
(
|
(
|
||||||
@@ -208,7 +212,7 @@ BEGIN
|
|||||||
@UseAdminSponsoredFamilies,
|
@UseAdminSponsoredFamilies,
|
||||||
@SyncSeats,
|
@SyncSeats,
|
||||||
@UseAutomaticUserConfirmation,
|
@UseAutomaticUserConfirmation,
|
||||||
@UseDisableSMAdsForUsers
|
@UseDisableSmAdsForUsers
|
||||||
)
|
)
|
||||||
END
|
END
|
||||||
GO
|
GO
|
||||||
@@ -275,7 +279,7 @@ CREATE OR ALTER PROCEDURE [dbo].[Organization_Update]
|
|||||||
@UseAdminSponsoredFamilies BIT = 0,
|
@UseAdminSponsoredFamilies BIT = 0,
|
||||||
@SyncSeats BIT = 0,
|
@SyncSeats BIT = 0,
|
||||||
@UseAutomaticUserConfirmation BIT = 0,
|
@UseAutomaticUserConfirmation BIT = 0,
|
||||||
@UseDisableSMAdsForUsers BIT = 0
|
@UseDisableSmAdsForUsers BIT = 0
|
||||||
AS
|
AS
|
||||||
BEGIN
|
BEGIN
|
||||||
SET NOCOUNT ON
|
SET NOCOUNT ON
|
||||||
@@ -343,7 +347,7 @@ BEGIN
|
|||||||
[UseAdminSponsoredFamilies] = @UseAdminSponsoredFamilies,
|
[UseAdminSponsoredFamilies] = @UseAdminSponsoredFamilies,
|
||||||
[SyncSeats] = @SyncSeats,
|
[SyncSeats] = @SyncSeats,
|
||||||
[UseAutomaticUserConfirmation] = @UseAutomaticUserConfirmation,
|
[UseAutomaticUserConfirmation] = @UseAutomaticUserConfirmation,
|
||||||
[UseDisableSMAdsForUsers] = @UseDisableSMAdsForUsers
|
[UseDisableSmAdsForUsers] = @UseDisableSmAdsForUsers
|
||||||
WHERE
|
WHERE
|
||||||
[Id] = @Id
|
[Id] = @Id
|
||||||
END
|
END
|
||||||
@@ -380,7 +384,7 @@ BEGIN
|
|||||||
[UseOrganizationDomains],
|
[UseOrganizationDomains],
|
||||||
[UseAdminSponsoredFamilies],
|
[UseAdminSponsoredFamilies],
|
||||||
[UseAutomaticUserConfirmation],
|
[UseAutomaticUserConfirmation],
|
||||||
[UseDisableSMAdsForUsers]
|
[UseDisableSmAdsForUsers]
|
||||||
FROM
|
FROM
|
||||||
[dbo].[Organization]
|
[dbo].[Organization]
|
||||||
END
|
END
|
||||||
|
|||||||
@@ -113,7 +113,7 @@ namespace Bit.MySqlMigrations.Migrations
|
|||||||
b.Property<DateTime>("CreationDate")
|
b.Property<DateTime>("CreationDate")
|
||||||
.HasColumnType("datetime(6)");
|
.HasColumnType("datetime(6)");
|
||||||
|
|
||||||
b.Property<bool>("UseDisableSMAdsForUsers")
|
b.Property<bool>("UseDisableSmAdsForUsers")
|
||||||
.HasColumnType("tinyint(1)");
|
.HasColumnType("tinyint(1)");
|
||||||
|
|
||||||
b.Property<bool>("Enabled")
|
b.Property<bool>("Enabled")
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ public partial class AddingNewFlagToLicenseForDisableSMAdsForUser : Migration
|
|||||||
protected override void Up(MigrationBuilder migrationBuilder)
|
protected override void Up(MigrationBuilder migrationBuilder)
|
||||||
{
|
{
|
||||||
migrationBuilder.AddColumn<bool>(
|
migrationBuilder.AddColumn<bool>(
|
||||||
name: "UseDisableSMAdsForUsers",
|
name: "UseDisableSmAdsForUsers",
|
||||||
table: "Organization",
|
table: "Organization",
|
||||||
type: "tinyint(1)",
|
type: "tinyint(1)",
|
||||||
nullable: false,
|
nullable: false,
|
||||||
@@ -22,7 +22,7 @@ public partial class AddingNewFlagToLicenseForDisableSMAdsForUser : Migration
|
|||||||
protected override void Down(MigrationBuilder migrationBuilder)
|
protected override void Down(MigrationBuilder migrationBuilder)
|
||||||
{
|
{
|
||||||
migrationBuilder.DropColumn(
|
migrationBuilder.DropColumn(
|
||||||
name: "UseDisableSMAdsForUsers",
|
name: "UseDisableSmAdsForUsers",
|
||||||
table: "Organization");
|
table: "Organization");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -110,7 +110,7 @@ namespace Bit.MySqlMigrations.Migrations
|
|||||||
b.Property<DateTime>("CreationDate")
|
b.Property<DateTime>("CreationDate")
|
||||||
.HasColumnType("datetime(6)");
|
.HasColumnType("datetime(6)");
|
||||||
|
|
||||||
b.Property<bool>("UseDisableSMAdsForUsers")
|
b.Property<bool>("UseDisableSmAdsForUsers")
|
||||||
.HasColumnType("tinyint(1)");
|
.HasColumnType("tinyint(1)");
|
||||||
|
|
||||||
b.Property<bool>("Enabled")
|
b.Property<bool>("Enabled")
|
||||||
|
|||||||
@@ -114,7 +114,7 @@ namespace Bit.PostgresMigrations.Migrations
|
|||||||
b.Property<DateTime>("CreationDate")
|
b.Property<DateTime>("CreationDate")
|
||||||
.HasColumnType("timestamp with time zone");
|
.HasColumnType("timestamp with time zone");
|
||||||
|
|
||||||
b.Property<bool>("UseDisableSMAdsForUsers")
|
b.Property<bool>("UseDisableSmAdsForUsers")
|
||||||
.HasColumnType("boolean");
|
.HasColumnType("boolean");
|
||||||
|
|
||||||
b.Property<bool>("Enabled")
|
b.Property<bool>("Enabled")
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ public partial class AddingNewFlagToLicenseForDisableSMAdsForUser : Migration
|
|||||||
protected override void Up(MigrationBuilder migrationBuilder)
|
protected override void Up(MigrationBuilder migrationBuilder)
|
||||||
{
|
{
|
||||||
migrationBuilder.AddColumn<bool>(
|
migrationBuilder.AddColumn<bool>(
|
||||||
name: "UseDisableSMAdsForUsers",
|
name: "UseDisableSmAdsForUsers",
|
||||||
table: "Organization",
|
table: "Organization",
|
||||||
type: "boolean",
|
type: "boolean",
|
||||||
nullable: false,
|
nullable: false,
|
||||||
@@ -22,7 +22,7 @@ public partial class AddingNewFlagToLicenseForDisableSMAdsForUser : Migration
|
|||||||
protected override void Down(MigrationBuilder migrationBuilder)
|
protected override void Down(MigrationBuilder migrationBuilder)
|
||||||
{
|
{
|
||||||
migrationBuilder.DropColumn(
|
migrationBuilder.DropColumn(
|
||||||
name: "UseDisableSMAdsForUsers",
|
name: "UseDisableSmAdsForUsers",
|
||||||
table: "Organization");
|
table: "Organization");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -111,7 +111,7 @@ namespace Bit.PostgresMigrations.Migrations
|
|||||||
b.Property<DateTime>("CreationDate")
|
b.Property<DateTime>("CreationDate")
|
||||||
.HasColumnType("timestamp with time zone");
|
.HasColumnType("timestamp with time zone");
|
||||||
|
|
||||||
b.Property<bool>("UseDisableSMAdsForUsers")
|
b.Property<bool>("UseDisableSmAdsForUsers")
|
||||||
.HasColumnType("boolean");
|
.HasColumnType("boolean");
|
||||||
|
|
||||||
b.Property<bool>("Enabled")
|
b.Property<bool>("Enabled")
|
||||||
|
|||||||
@@ -108,7 +108,7 @@ namespace Bit.SqliteMigrations.Migrations
|
|||||||
b.Property<DateTime>("CreationDate")
|
b.Property<DateTime>("CreationDate")
|
||||||
.HasColumnType("TEXT");
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
b.Property<bool>("UseDisableSMAdsForUsers")
|
b.Property<bool>("UseDisableSmAdsForUsers")
|
||||||
.HasColumnType("INTEGER");
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
b.Property<bool>("Enabled")
|
b.Property<bool>("Enabled")
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ public partial class AddingNewFlagToLicenseForDisableSMAdsForUser : Migration
|
|||||||
protected override void Up(MigrationBuilder migrationBuilder)
|
protected override void Up(MigrationBuilder migrationBuilder)
|
||||||
{
|
{
|
||||||
migrationBuilder.AddColumn<bool>(
|
migrationBuilder.AddColumn<bool>(
|
||||||
name: "UseDisableSMAdsForUsers",
|
name: "UseDisableSmAdsForUsers",
|
||||||
table: "Organization",
|
table: "Organization",
|
||||||
type: "INTEGER",
|
type: "INTEGER",
|
||||||
nullable: false,
|
nullable: false,
|
||||||
@@ -22,7 +22,7 @@ public partial class AddingNewFlagToLicenseForDisableSMAdsForUser : Migration
|
|||||||
protected override void Down(MigrationBuilder migrationBuilder)
|
protected override void Down(MigrationBuilder migrationBuilder)
|
||||||
{
|
{
|
||||||
migrationBuilder.DropColumn(
|
migrationBuilder.DropColumn(
|
||||||
name: "UseDisableSMAdsForUsers",
|
name: "UseDisableSmAdsForUsers",
|
||||||
table: "Organization");
|
table: "Organization");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -105,7 +105,7 @@ namespace Bit.SqliteMigrations.Migrations
|
|||||||
b.Property<DateTime>("CreationDate")
|
b.Property<DateTime>("CreationDate")
|
||||||
.HasColumnType("TEXT");
|
.HasColumnType("TEXT");
|
||||||
|
|
||||||
b.Property<bool>("UseDisableSMAdsForUsers")
|
b.Property<bool>("UseDisableSmAdsForUsers")
|
||||||
.HasColumnType("INTEGER");
|
.HasColumnType("INTEGER");
|
||||||
|
|
||||||
b.Property<bool>("Enabled")
|
b.Property<bool>("Enabled")
|
||||||
|
|||||||
Reference in New Issue
Block a user