Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
17 commits
Select commit Hold shift + click to select a range
4aafafc
Add UseInviteLinks to Organization SQL schema and views
r-tome Apr 17, 2026
030ecb8
Add Migrator scripts for UseInviteLinks column and data migration
r-tome Apr 17, 2026
1756daa
Add EF migrations for UseInviteLinks on Organization
r-tome Apr 17, 2026
d2e0917
Wire UseInviteLinks through organization domain and repositories
r-tome Apr 17, 2026
deaf859
Add HasInviteLinks plan support and UseInviteLinks license handling
r-tome Apr 17, 2026
4e2edad
Expose UseInviteLinks and HasInviteLinks on organization and plan API…
r-tome Apr 17, 2026
9a6a27e
Update tests for UseInviteLinks and invite-links plan feature
r-tome Apr 17, 2026
fca9aaf
Merge branch 'main' into ac/pm-35253/add-useinvitelinks-organization-…
r-tome Apr 17, 2026
a35f09a
Update migration script with missing update to Organization_ReadManyB…
r-tome Apr 17, 2026
78c1b81
Merge branch 'ac/pm-35253/add-useinvitelinks-organization-ability' of…
r-tome Apr 17, 2026
ae6c7c2
Merge branch 'main' into ac/pm-35253/add-useinvitelinks-organization-…
r-tome Apr 21, 2026
9b5e5e0
Merge remote-tracking branch 'origin/main' into ac/pm-35253/add-usein…
r-tome Apr 21, 2026
95ab7da
Move UseInviteLinks column after ExemptFromBillingAutomation
r-tome Apr 21, 2026
3ab5864
Merge branch 'main' into ac/pm-35253/add-useinvitelinks-organization-…
r-tome Apr 22, 2026
2c03c9b
Merge branch 'main' into ac/pm-35253/add-useinvitelinks-organization-…
r-tome Apr 23, 2026
738c81d
Merge branch 'main' into ac/pm-35253/add-useinvitelinks-organization-…
r-tome Apr 28, 2026
a0e341a
Merge branch 'main' into ac/pm-35253/add-useinvitelinks-organization-…
r-tome Apr 28, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ protected BaseProfileOrganizationResponseModel(
UseDisableSMAdsForUsers = organizationDetails.UseDisableSMAdsForUsers;
UsePasswordManager = organizationDetails.UsePasswordManager;
UseMyItems = organizationDetails.UseMyItems;
UseInviteLinks = organizationDetails.UseInviteLinks;
SelfHost = organizationDetails.SelfHost;
Seats = organizationDetails.Seats;
MaxCollections = organizationDetails.MaxCollections;
Expand Down Expand Up @@ -106,6 +107,7 @@ protected BaseProfileOrganizationResponseModel(
public bool UseDisableSMAdsForUsers { get; set; }
public bool UsePhishingBlocker { get; set; }
public bool UseMyItems { get; set; }
public bool UseInviteLinks { get; set; }
public bool SelfHost { get; set; }
public int? Seats { get; set; }
public short? MaxCollections { get; set; }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,7 @@ public OrganizationResponseModel(
UseDisableSmAdsForUsers = organization.UseDisableSmAdsForUsers;
UsePhishingBlocker = organization.UsePhishingBlocker;
UseMyItems = organization.UseMyItems;
UseInviteLinks = organization.UseInviteLinks;
}

public Guid Id { get; set; }
Expand Down Expand Up @@ -129,6 +130,7 @@ public OrganizationResponseModel(
public bool UseDisableSmAdsForUsers { get; set; }
public bool UsePhishingBlocker { get; set; }
public bool UseMyItems { get; set; }
public bool UseInviteLinks { get; set; }
}

public class OrganizationSubscriptionResponseModel : OrganizationResponseModel
Expand Down
2 changes: 2 additions & 0 deletions src/Api/Models/Response/PlanResponseModel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ public PlanResponseModel(Plan plan, string obj = "plan")
HasResetPassword = plan.HasResetPassword;
UsersGetPremium = plan.UsersGetPremium;
HasMyItems = plan.HasMyItems;
HasInviteLinks = plan.HasInviteLinks;
UpgradeSortOrder = plan.UpgradeSortOrder;
DisplaySortOrder = plan.DisplaySortOrder;
LegacyYear = plan.LegacyYear;
Expand Down Expand Up @@ -80,6 +81,7 @@ public PlanResponseModel(Organization organization, string obj = "plan") : base(
public bool HasResetPassword { get; set; }
public bool UsersGetPremium { get; set; }
public bool HasMyItems { get; set; }
public bool HasInviteLinks { get; set; }

public int UpgradeSortOrder { get; set; }
public int DisplaySortOrder { get; set; }
Expand Down
7 changes: 7 additions & 0 deletions src/Core/AdminConsole/Entities/Organization.cs
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,12 @@ public class Organization : ITableObject<Guid>, IStorableSubscriber, IRevisable
/// </summary>
public bool UseMyItems { get; set; }

/// <summary>
/// If set to true, the organization can generate invite links to invite users to the organization.
/// This is an Enterprise-only feature.
/// </summary>
public bool UseInviteLinks { get; set; }

/// <summary>
/// When set to <see langword="true"/>, the organization is excluded from automated billing
/// lifecycle operations such as subscription cancellation and disabling for non-payment.
Expand Down Expand Up @@ -337,6 +343,7 @@ public void UpdateFromLicense(OrganizationLicense license, IFeatureService featu
UseApi = license.UseApi;
UsePolicies = license.UsePolicies;
UseMyItems = license.UseMyItems;
UseInviteLinks = license.UseInviteLinks;
UseSso = license.UseSso;
UseKeyConnector = license.UseKeyConnector;
UseScim = license.UseScim;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,4 +57,5 @@ public interface IProfileOrganizationDetails

bool UsePhishingBlocker { get; set; }
bool UseMyItems { get; set; }
bool UseInviteLinks { get; set; }
}
Original file line number Diff line number Diff line change
Expand Up @@ -73,4 +73,5 @@ public class OrganizationUserOrganizationDetails : IProfileOrganizationDetails
public bool UseDisableSMAdsForUsers { get; set; }
public bool UsePhishingBlocker { get; set; }
public bool UseMyItems { get; set; }
public bool UseInviteLinks { get; set; }
}
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,7 @@ public Organization ToOrganization()
UseOrganizationDomains = UseOrganizationDomains,
UseAutomaticUserConfirmation = UseAutomaticUserConfirmation,
UseMyItems = UseMyItems,
UseInviteLinks = UseInviteLinks,
};
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -59,4 +59,5 @@ public class ProviderUserOrganizationDetails : IProfileOrganizationDetails
public bool UseDisableSMAdsForUsers { get; set; }
public bool UsePhishingBlocker { get; set; }
public bool UseMyItems { get; set; }
public bool UseInviteLinks { get; set; }
}
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ public OrganizationAbility(Organization organization)
UseDisableSmAdsForUsers = organization.UseDisableSmAdsForUsers;
UsePhishingBlocker = organization.UsePhishingBlocker;
UseMyItems = organization.UseMyItems;
UseInviteLinks = organization.UseInviteLinks;
}

public Guid Id { get; set; }
Expand All @@ -57,4 +58,5 @@ public OrganizationAbility(Organization organization)
public bool UseDisableSmAdsForUsers { get; set; }
public bool UsePhishingBlocker { get; set; }
public bool UseMyItems { get; set; }
public bool UseInviteLinks { get; set; }
}
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,7 @@ public async Task<SignUpOrganizationResponse> SignUpOrganizationAsync(Organizati
MaxStorageGb = (short)(plan.PasswordManager.BaseStorageGb + signup.AdditionalStorageGb),
UsePolicies = plan.HasPolicies,
UseMyItems = plan.HasMyItems,
UseInviteLinks = plan.HasInviteLinks,
UseSso = plan.HasSso,
UseGroups = plan.HasGroups,
UseEvents = plan.HasEvents,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,7 @@ public async Task<ProviderClientOrganizationSignUpResponse> SignUpClientOrganiza
MaxStorageGb = plan.PasswordManager.BaseStorageGb,
UsePolicies = plan.HasPolicies,
UseMyItems = plan.HasMyItems,
UseInviteLinks = plan.HasInviteLinks,
UseSso = plan.HasSso,
UseOrganizationDomains = plan.HasOrganizationDomains,
UseGroups = plan.HasGroups,
Expand Down
2 changes: 2 additions & 0 deletions src/Core/AdminConsole/Services/OrganizationFactory.cs
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@ public static Organization Create(
claimsPrincipal.GetValue<bool>(OrganizationLicenseConstants.UseDisableSmAdsForUsers),
UsePhishingBlocker = claimsPrincipal.GetValue<bool>(OrganizationLicenseConstants.UsePhishingBlocker),
UseMyItems = claimsPrincipal.GetValue<bool>(OrganizationLicenseConstants.UseMyItems),
UseInviteLinks = claimsPrincipal.GetValue<bool>(OrganizationLicenseConstants.UseInviteLinks),
};

public static Organization Create(
Expand Down Expand Up @@ -119,5 +120,6 @@ public static Organization Create(
UseDisableSmAdsForUsers = license.UseDisableSmAdsForUsers,
UsePhishingBlocker = license.UsePhishingBlocker,
UseMyItems = license.UseMyItems,
UseInviteLinks = license.UseInviteLinks,
};
}
1 change: 1 addition & 0 deletions src/Core/Billing/Licenses/LicenseConstants.cs
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ public static class OrganizationLicenseConstants
public const string UseDisableSmAdsForUsers = nameof(UseDisableSmAdsForUsers);
public const string UsePhishingBlocker = nameof(UsePhishingBlocker);
public const string UseMyItems = nameof(UseMyItems);
public const string UseInviteLinks = nameof(UseInviteLinks);
}

public static class UserLicenseConstants
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ public Task<List<Claim>> GenerateClaims(Organization entity, LicenseContext lice
new(nameof(OrganizationLicenseConstants.UseDisableSmAdsForUsers), entity.UseDisableSmAdsForUsers.ToString()),
new(nameof(OrganizationLicenseConstants.UsePhishingBlocker), entity.UsePhishingBlocker.ToString()),
new(nameof(OrganizationLicenseConstants.UseMyItems), entity.UseMyItems.ToString()),
new(nameof(OrganizationLicenseConstants.UseInviteLinks), entity.UseInviteLinks.ToString()),
};

if (entity.Name is not null)
Expand Down
1 change: 1 addition & 0 deletions src/Core/Billing/Models/StaticStore/Plan.cs
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ public abstract record Plan
public bool UsersGetPremium { get; protected init; }
public bool HasCustomPermissions { get; protected init; }
public bool HasMyItems { get; protected init; }
public bool HasInviteLinks { get; protected init; }
public int UpgradeSortOrder { get; protected init; }
// TODO: Move to the client
public int DisplaySortOrder { get; protected init; }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,7 @@ public async Task UpdateLicenseAsync(SelfHostedOrganizationDetails selfHostedOrg
license.UseDisableSmAdsForUsers = claimsPrincipal.GetValue<bool>(OrganizationLicenseConstants.UseDisableSmAdsForUsers);
license.UsePhishingBlocker = claimsPrincipal.GetValue<bool>(OrganizationLicenseConstants.UsePhishingBlocker);
license.UseMyItems = claimsPrincipal.GetValue<bool>(OrganizationLicenseConstants.UseMyItems);
license.UseInviteLinks = claimsPrincipal.GetValue<bool>(OrganizationLicenseConstants.UseInviteLinks);
license.MaxStorageGb = claimsPrincipal.GetValue<short?>(OrganizationLicenseConstants.MaxStorageGb);
license.InstallationId = claimsPrincipal.GetValue<Guid>(OrganizationLicenseConstants.InstallationId);
license.LicenseType = claimsPrincipal.GetValue<LicenseType>(OrganizationLicenseConstants.LicenseType);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,7 @@ private async Task UpdateOrganizationFeaturesAsync(
organization.UseOrganizationDomains = plan.HasOrganizationDomains;
organization.UseAutomaticUserConfirmation = plan.AutomaticUserConfirmation;
organization.UseMyItems = plan.HasMyItems;
organization.UseInviteLinks = plan.HasInviteLinks;

if (keys != null)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,7 @@ public OrganizationLicense(Organization org, SubscriptionInfo subscriptionInfo,
public bool UseAutomaticUserConfirmation { get; set; }
public bool UseDisableSmAdsForUsers { get; set; }
public bool UseMyItems { get; set; }
public bool UseInviteLinks { get; set; }
public string Hash { get; set; }
public string Signature { get; set; }
public string Token { get; set; }
Expand Down Expand Up @@ -237,7 +238,8 @@ public byte[] GetDataBytes(bool forHash = false)
!p.Name.Equals(nameof(UseAutomaticUserConfirmation)) &&
!p.Name.Equals(nameof(UseDisableSmAdsForUsers)) &&
!p.Name.Equals(nameof(UsePhishingBlocker)) &&
!p.Name.Equals(nameof(UseMyItems)))
!p.Name.Equals(nameof(UseMyItems)) &&
!p.Name.Equals(nameof(UseInviteLinks)))
.OrderBy(p => p.Name)
.Select(p => $"{p.Name}:{Core.Utilities.CoreHelpers.FormatLicenseSignatureValue(p.GetValue(this, null))}")
.Aggregate((c, n) => $"{c}|{n}");
Expand Down Expand Up @@ -434,6 +436,7 @@ public bool VerifyData(
var useAutomaticUserConfirmation = claimsPrincipal.GetValue<bool>(nameof(UseAutomaticUserConfirmation));
var useDisableSmAdsForUsers = claimsPrincipal.GetValue<bool>(nameof(UseDisableSmAdsForUsers));
var useMyItems = claimsPrincipal.GetValue<bool>(nameof(UseMyItems));
var useInviteLinks = claimsPrincipal.GetValue<bool>(nameof(UseInviteLinks));

var claimedPlanType = claimsPrincipal.GetValue<PlanType>(nameof(PlanType));

Expand Down Expand Up @@ -478,7 +481,9 @@ public bool VerifyData(
useAutomaticUserConfirmation == organization.UseAutomaticUserConfirmation &&
useDisableSmAdsForUsers == organization.UseDisableSmAdsForUsers &&
(!claimsPrincipal.HasClaim(c => c.Type == nameof(UseMyItems))
|| useMyItems == organization.UseMyItems);
|| useMyItems == organization.UseMyItems) &&
(!claimsPrincipal.HasClaim(c => c.Type == nameof(UseInviteLinks))
|| useInviteLinks == organization.UseInviteLinks);

}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -244,6 +244,7 @@ private Organization BuildOrganization(
MaxStorageGb = targetPlan.PasswordManager.BaseStorageGb,
UsePolicies = targetPlan.HasPolicies,
UseMyItems = targetPlan.HasMyItems,
UseInviteLinks = targetPlan.HasInviteLinks,
UseSso = targetPlan.HasSso,
UseGroups = targetPlan.HasGroups,
UseEvents = targetPlan.HasEvents,
Expand Down
1 change: 1 addition & 0 deletions src/Core/Billing/Pricing/Organizations/PlanAdapter.cs
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ public PlanAdapter(Plan plan)
UsersGetPremium = HasFeature("usersGetPremium");
HasCustomPermissions = HasFeature("customPermissions");
HasMyItems = HasFeature("myItems");
HasInviteLinks = HasFeature("inviteLinks");
UpgradeSortOrder = plan.AdditionalData.TryGetValue("upgradeSortOrder", out var upgradeSortOrder)
? int.Parse(upgradeSortOrder)
: 0;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,7 @@ private async Task RestartOrganizationSubscriptionAsync(
organization.SelfHost = newPlan.HasSelfHost;
organization.UsePolicies = newPlan.HasPolicies;
organization.UseMyItems = newPlan.HasMyItems;
organization.UseInviteLinks = newPlan.HasInviteLinks;
organization.UseGroups = newPlan.HasGroups;
organization.UseDirectory = newPlan.HasDirectory;
organization.UseEvents = newPlan.HasEvents;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -296,6 +296,7 @@ await _organizationUserRepository.GetManyByOrganizationAsync(organization.Id,
organization.SelfHost = newPlan.HasSelfHost;
organization.UsePolicies = newPlan.HasPolicies;
organization.UseMyItems = newPlan.HasMyItems;
organization.UseInviteLinks = newPlan.HasInviteLinks;
organization.MaxStorageGb = (short)(newPlan.PasswordManager.BaseStorageGb + upgrade.AdditionalStorageGb);
organization.UseSso = newPlan.HasSso;
organization.UseOrganizationDomains = newPlan.HasOrganizationDomains;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,8 @@ public async Task<ICollection<OrganizationAbility>> GetManyAbilitiesAsync()
UseAutomaticUserConfirmation = e.UseAutomaticUserConfirmation,
UseDisableSmAdsForUsers = e.UseDisableSmAdsForUsers,
UsePhishingBlocker = e.UsePhishingBlocker,
UseMyItems = e.UseMyItems
UseMyItems = e.UseMyItems,
UseInviteLinks = e.UseInviteLinks
}).ToListAsync();
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,7 @@ from os in os_g.DefaultIfEmpty()
UseDisableSMAdsForUsers = o.UseDisableSmAdsForUsers,
UsePhishingBlocker = o.UsePhishingBlocker,
UseMyItems = o.UseMyItems,
UseInviteLinks = o.UseInviteLinks,
RevocationReason = ou.RevocationReason
};
return query;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,8 @@ from ss in ss_g.DefaultIfEmpty()
SsoConfig = x.ss.Data,
UseDisableSMAdsForUsers = x.o.UseDisableSmAdsForUsers,
UsePhishingBlocker = x.o.UsePhishingBlocker,
UseMyItems = x.o.UseMyItems
UseMyItems = x.o.UseMyItems,
UseInviteLinks = x.o.UseInviteLinks
});
}
}
9 changes: 6 additions & 3 deletions src/Sql/dbo/Stored Procedures/Organization_Create.sql
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,8 @@ CREATE PROCEDURE [dbo].[Organization_Create]
@UsePhishingBlocker BIT = 0,
@UseDisableSmAdsForUsers BIT = 0,
@UseMyItems BIT = 0,
@ExemptFromBillingAutomation BIT = 0
@ExemptFromBillingAutomation BIT = 0,
@UseInviteLinks BIT = 0
AS
BEGIN
SET NOCOUNT ON
Expand Down Expand Up @@ -135,7 +136,8 @@ BEGIN
[MaxStorageGbIncreased],
[UseDisableSmAdsForUsers],
[UseMyItems],
[ExemptFromBillingAutomation]
[ExemptFromBillingAutomation],
[UseInviteLinks]
)
VALUES
(
Expand Down Expand Up @@ -204,6 +206,7 @@ BEGIN
@MaxStorageGb,
@UseDisableSmAdsForUsers,
@UseMyItems,
@ExemptFromBillingAutomation
@ExemptFromBillingAutomation,
@UseInviteLinks
);
END
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,8 @@ BEGIN
[UseAutomaticUserConfirmation],
[UsePhishingBlocker],
[UseDisableSmAdsForUsers],
[UseMyItems]
[UseMyItems],
[UseInviteLinks]
FROM
[dbo].[Organization]
END
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,8 @@ BEGIN
o.[LimitCollectionDeletion],
o.[LimitItemDeletion],
o.[AllowAdminAccessToAllCollectionItems],
o.[UseRiskInsights]
o.[UseRiskInsights],
o.[UseInviteLinks]
FROM [dbo].[OrganizationView] o
INNER JOIN @OrganizationIds ids ON o.[Id] = ids.[Id]

Expand Down
6 changes: 4 additions & 2 deletions src/Sql/dbo/Stored Procedures/Organization_Update.sql
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,8 @@ CREATE PROCEDURE [dbo].[Organization_Update]
@UsePhishingBlocker BIT = 0,
@UseDisableSmAdsForUsers BIT = 0,
@UseMyItems BIT = 0,
@ExemptFromBillingAutomation BIT = 0
@ExemptFromBillingAutomation BIT = 0,
@UseInviteLinks BIT = 0
AS
BEGIN
SET NOCOUNT ON
Expand Down Expand Up @@ -135,7 +136,8 @@ BEGIN
[MaxStorageGbIncreased] = @MaxStorageGb,
[UseDisableSmAdsForUsers] = @UseDisableSmAdsForUsers,
[UseMyItems] = @UseMyItems,
[ExemptFromBillingAutomation] = @ExemptFromBillingAutomation
[ExemptFromBillingAutomation] = @ExemptFromBillingAutomation,
[UseInviteLinks] = @UseInviteLinks
WHERE
[Id] = @Id;
END
1 change: 1 addition & 0 deletions src/Sql/dbo/Tables/Organization.sql
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ CREATE TABLE [dbo].[Organization] (
[UseDisableSmAdsForUsers] BIT NOT NULL CONSTRAINT [DF_Organization_UseDisableSmAdsForUsers] DEFAULT (0),
[UseMyItems] BIT NOT NULL CONSTRAINT [DF_Organization_UseMyItems] DEFAULT (0),
[ExemptFromBillingAutomation] BIT NOT NULL CONSTRAINT [DF_Organization_ExemptFromBillingAutomation] DEFAULT (0),
[UseInviteLinks] BIT NOT NULL CONSTRAINT [DF_Organization_UseInviteLinks] DEFAULT (0),
CONSTRAINT [PK_Organization] PRIMARY KEY CLUSTERED ([Id] ASC)
);

Expand Down
3 changes: 2 additions & 1 deletion src/Sql/dbo/Views/OrganizationAbilityView.sql
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ SELECT
[UseAutomaticUserConfirmation],
[UseDisableSmAdsForUsers],
[UsePhishingBlocker],
[UseMyItems]
[UseMyItems],
[UseInviteLinks]
FROM
[dbo].[Organization]
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@ SELECT
O.[UsePhishingBlocker],
O.[UseDisableSmAdsForUsers],
O.[UseMyItems],
O.[UseInviteLinks],
OU.[RevocationReason]
FROM
[dbo].[OrganizationUser] OU
Expand Down
3 changes: 2 additions & 1 deletion src/Sql/dbo/Views/OrganizationView.sql
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ SELECT
[UsePhishingBlocker],
[UseDisableSmAdsForUsers],
[UseMyItems],
[ExemptFromBillingAutomation]
[ExemptFromBillingAutomation],
[UseInviteLinks]
FROM
[dbo].[Organization]
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,8 @@ SELECT
SS.[Data] SsoConfig,
O.[UsePhishingBlocker],
O.[UseDisableSmAdsForUsers],
O.[UseMyItems]
O.[UseMyItems],
O.[UseInviteLinks]
FROM
[dbo].[ProviderUser] PU
INNER JOIN
Expand Down
1 change: 1 addition & 0 deletions test/Core.Test/Billing/Mocks/Plans/Enterprise2019Plan.cs
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ public Enterprise2019Plan(bool isAnnual)
UsersGetPremium = true;
HasCustomPermissions = true;
HasMyItems = true;
HasInviteLinks = true;

UpgradeSortOrder = 4;
DisplaySortOrder = 4;
Expand Down
Loading
Loading