From 75285dfc693828910537047e50df90c35b5a8abb Mon Sep 17 00:00:00 2001 From: pavelbannov Date: Thu, 10 Oct 2019 13:59:22 +0300 Subject: [PATCH] DI: configuration --- .../ASC.Core.Common/BaseCommonLinkUtility.cs | 13 +++++++--- .../ASC.Core.Common/Billing/TariffService.cs | 4 +-- .../Caching/CachedTenantService.cs | 4 +-- .../Context/Impl/CoreConfiguration.cs | 19 +++++++++----- .../Context/Impl/TenantManager.cs | 8 +++--- common/ASC.Core.Common/Core/ITenantService.cs | 2 +- .../ASC.Core.Common/Data/DbTenantService.cs | 4 +-- common/ASC.Core.Common/HostedSolution.cs | 26 ++++++++++++++----- .../Notify/ReplyToTagProvider.cs | 6 +++-- .../Notify/Signalr/SignalrServiceClient.cs | 8 +++--- common/ASC.Core.Common/Tenants/Tenant.cs | 8 +++--- common/ASC.Core.Common/Tenants/TenantUtil.cs | 12 --------- .../Tests/DbTenantServiceTest.cs | 14 +++++----- .../Tests/HostedSolutionTest.cs | 4 +-- .../Controllers/SettingsController.cs | 7 +++-- web/ASC.Web.Api/Models/QuotaWrapper.cs | 8 +++--- .../Notify/StudioWhatsNewNotify.cs | 5 ++-- web/ASC.Web.Core/Utility/CommonLinkUtility.cs | 20 +++++++------- 18 files changed, 96 insertions(+), 76 deletions(-) diff --git a/common/ASC.Core.Common/BaseCommonLinkUtility.cs b/common/ASC.Core.Common/BaseCommonLinkUtility.cs index fba5f1a7c7..83fe1e4918 100644 --- a/common/ASC.Core.Common/BaseCommonLinkUtility.cs +++ b/common/ASC.Core.Common/BaseCommonLinkUtility.cs @@ -40,15 +40,18 @@ namespace ASC.Core.Common private const string LOCALHOST = "localhost"; private UriBuilder _serverRoot; - private string _vpath; + private string _vpath; public HttpContext HttpContext { get; set; } - public BaseCommonLinkUtility(CoreBaseSettings coreBaseSettings, TenantManager tenantManager) : this(null, coreBaseSettings, tenantManager) + public BaseCommonLinkUtility(CoreBaseSettings coreBaseSettings, CoreSettings coreSettings, TenantManager tenantManager) : this(null, coreBaseSettings, coreSettings, tenantManager) { } - public BaseCommonLinkUtility(IHttpContextAccessor httpContextAccessor, CoreBaseSettings coreBaseSettings, TenantManager tenantManager) + public BaseCommonLinkUtility(IHttpContextAccessor httpContextAccessor, + CoreBaseSettings coreBaseSettings, + CoreSettings coreSettings, + TenantManager tenantManager) { try { @@ -67,6 +70,7 @@ namespace ASC.Core.Common } CoreBaseSettings = coreBaseSettings; + CoreSettings = coreSettings; TenantManager = tenantManager; } @@ -88,6 +92,7 @@ namespace ASC.Core.Common } public CoreBaseSettings CoreBaseSettings { get; } + public CoreSettings CoreSettings { get; } public TenantManager TenantManager { get; } private string serverRootPath; @@ -118,7 +123,7 @@ namespace ASC.Core.Common { // take values from db if localhost or no http context thread var tenant = TenantManager.GetCurrentTenant(); - result.Host = tenant.TenantDomain; + result.Host = tenant.GetTenantDomain(CoreSettings); #if DEBUG // for Visual Studio debug diff --git a/common/ASC.Core.Common/Billing/TariffService.cs b/common/ASC.Core.Common/Billing/TariffService.cs index 33f5400e43..473c50fbc6 100644 --- a/common/ASC.Core.Common/Billing/TariffService.cs +++ b/common/ASC.Core.Common/Billing/TariffService.cs @@ -189,7 +189,7 @@ namespace ASC.Core.Billing if (tenant != null) { tenant.VersionChanged = DateTime.UtcNow; - tenantService.SaveTenant(tenant); + tenantService.SaveTenant(CoreSettings, tenant); } } @@ -420,7 +420,7 @@ client.GetPaymentUrls(null, products, !string.IsNullOrEmpty(affiliateId) ? affil if (t != null) { // update tenant.LastModified to flush cache in documents - tenantService.SaveTenant(t); + tenantService.SaveTenant(CoreSettings, t); } } return inserted; diff --git a/common/ASC.Core.Common/Caching/CachedTenantService.cs b/common/ASC.Core.Common/Caching/CachedTenantService.cs index 848df30620..3a083bbb16 100644 --- a/common/ASC.Core.Common/Caching/CachedTenantService.cs +++ b/common/ASC.Core.Common/Caching/CachedTenantService.cs @@ -131,9 +131,9 @@ namespace ASC.Core.Caching return t; } - public Tenant SaveTenant(Tenant tenant) + public Tenant SaveTenant(CoreSettings coreSettings, Tenant tenant) { - tenant = service.SaveTenant(tenant); + tenant = service.SaveTenant(coreSettings, tenant); cacheNotifyItem.Publish(new TenantCacheItem() { TenantId = tenant.TenantId }, CacheNotifyAction.InsertOrUpdate); return tenant; } diff --git a/common/ASC.Core.Common/Context/Impl/CoreConfiguration.cs b/common/ASC.Core.Common/Context/Impl/CoreConfiguration.cs index 10072fdccf..9dbef5d2c6 100644 --- a/common/ASC.Core.Common/Context/Impl/CoreConfiguration.cs +++ b/common/ASC.Core.Common/Context/Impl/CoreConfiguration.cs @@ -106,6 +106,18 @@ namespace ASC.Core Configuration = configuration; } + public string GetBaseDomain(string hostedRegion) + { + var baseHost = BaseDomain; + + if (string.IsNullOrEmpty(hostedRegion) || string.IsNullOrEmpty(baseHost) || !baseHost.Contains(".")) + { + return baseHost; + } + var subdomain = baseHost.Remove(baseHost.IndexOf('.') + 1); + return hostedRegion.StartsWith(subdomain) ? hostedRegion : (subdomain + hostedRegion.TrimStart('.')); + } + public void SaveSetting(string key, string value, int tenant = Tenant.DEFAULT_TENANT) { if (string.IsNullOrEmpty(key)) @@ -186,12 +198,7 @@ namespace ASC.Core public bool Standalone { - get => CoreBaseSettings.Standalone; - } - - public bool Personal - { - get => CoreBaseSettings.Personal; + get => CoreBaseSettings.Standalone; } public long PersonalMaxSpace(PersonalQuotaSettings personalQuotaSettings) diff --git a/common/ASC.Core.Common/Context/Impl/TenantManager.cs b/common/ASC.Core.Common/Context/Impl/TenantManager.cs index 5a9c55f796..dfeaaefcc2 100644 --- a/common/ASC.Core.Common/Context/Impl/TenantManager.cs +++ b/common/ASC.Core.Common/Context/Impl/TenantManager.cs @@ -67,9 +67,9 @@ namespace ASC.Core } public TenantManager( - ITenantService tenantService, - IQuotaService quotaService, - ITariffService tariffService, + ITenantService tenantService, + IQuotaService quotaService, + ITariffService tariffService, IHttpContextAccessor httpContextAccessor, CoreBaseSettings coreBaseSettings, CoreSettings coreSettings) @@ -140,7 +140,7 @@ namespace ASC.Core public Tenant SaveTenant(Tenant tenant) { - var newTenant = tenantService.SaveTenant(tenant); + var newTenant = tenantService.SaveTenant(CoreSettings, tenant); if (CallContext.GetData(CURRENT_TENANT) is Tenant) SetCurrentTenant(newTenant); return newTenant; diff --git a/common/ASC.Core.Common/Core/ITenantService.cs b/common/ASC.Core.Common/Core/ITenantService.cs index ed23588859..2f1d0c9381 100644 --- a/common/ASC.Core.Common/Core/ITenantService.cs +++ b/common/ASC.Core.Common/Core/ITenantService.cs @@ -44,7 +44,7 @@ namespace ASC.Core Tenant GetTenantForStandaloneWithoutAlias(string ip); - Tenant SaveTenant(Tenant tenant); + Tenant SaveTenant(CoreSettings coreSettings, Tenant tenant); void RemoveTenant(int id, bool auto = false); diff --git a/common/ASC.Core.Common/Data/DbTenantService.cs b/common/ASC.Core.Common/Data/DbTenantService.cs index aafe526600..f313ed63b8 100644 --- a/common/ASC.Core.Common/Data/DbTenantService.cs +++ b/common/ASC.Core.Common/Data/DbTenantService.cs @@ -117,7 +117,7 @@ namespace ASC.Core.Data .FirstOrDefault(); } - public Tenant SaveTenant(Tenant t) + public Tenant SaveTenant(CoreSettings coreSettings, Tenant t) { if (t == null) throw new ArgumentNullException("tenant"); @@ -126,7 +126,7 @@ namespace ASC.Core.Data { if (!string.IsNullOrEmpty(t.MappedDomain)) { - var baseUrl = TenantUtil.GetBaseDomain(t.HostedRegion); + var baseUrl = coreSettings.GetBaseDomain(t.HostedRegion); if (baseUrl != null && t.MappedDomain.EndsWith("." + baseUrl, StringComparison.InvariantCultureIgnoreCase)) { diff --git a/common/ASC.Core.Common/HostedSolution.cs b/common/ASC.Core.Common/HostedSolution.cs index c197fca6e8..54341872fa 100644 --- a/common/ASC.Core.Common/HostedSolution.cs +++ b/common/ASC.Core.Common/HostedSolution.cs @@ -49,7 +49,8 @@ namespace ASC.Core private readonly IQuotaService quotaService; private readonly ITariffService tariffService; private readonly TenantManager clientTenantManager; - private readonly DbSettingsManager settingsManager; + private readonly DbSettingsManager settingsManager; + private readonly CoreSettings coreSettings; public string Region { @@ -63,16 +64,27 @@ namespace ASC.Core private set; } - public HostedSolution(IConfiguration configuration, TenantDomainValidator tenantDomainValidator, TimeZoneConverter timeZoneConverter, DbRegistry dbRegistry, ConnectionStringSettings connectionString) + public HostedSolution( + IConfiguration configuration, + TenantDomainValidator tenantDomainValidator, + TimeZoneConverter timeZoneConverter, + DbRegistry dbRegistry, + ConnectionStringSettings connectionString) : this(configuration, tenantDomainValidator, timeZoneConverter, dbRegistry, connectionString, null) { } - public HostedSolution(IConfiguration configuration, TenantDomainValidator tenantDomainValidator, TimeZoneConverter timeZoneConverter, DbRegistry dbRegistry, ConnectionStringSettings connectionString, string region) + public HostedSolution( + IConfiguration configuration, + TenantDomainValidator tenantDomainValidator, + TimeZoneConverter timeZoneConverter, + DbRegistry dbRegistry, + ConnectionStringSettings connectionString, + string region) { tenantService = new DbTenantService(connectionString, dbRegistry, tenantDomainValidator, timeZoneConverter); var baseSettings = new CoreBaseSettings(configuration); - var coreSettings = new CoreSettings(tenantService, baseSettings, configuration); + coreSettings = new CoreSettings(tenantService, baseSettings, configuration); userService = new DbUserService(connectionString, dbRegistry); quotaService = new DbQuotaService(connectionString, dbRegistry); @@ -144,7 +156,7 @@ namespace ASC.Core Calls = ri.Calls }; - tenant = tenantService.SaveTenant(tenant); + tenant = tenantService.SaveTenant(coreSettings, tenant); // create user var user = new UserInfo @@ -163,14 +175,14 @@ namespace ASC.Core // save tenant owner tenant.OwnerId = user.ID; - tenant = tenantService.SaveTenant(tenant); + tenant = tenantService.SaveTenant(coreSettings, tenant); settingsManager.SaveSettings(new TenantAnalyticsSettings() { Analytics = ri.Analytics }, tenant.TenantId); } public Tenant SaveTenant(Tenant tenant) { - return tenantService.SaveTenant(tenant); + return tenantService.SaveTenant(coreSettings, tenant); } public void RemoveTenant(Tenant tenant) diff --git a/common/ASC.Core.Common/Notify/ReplyToTagProvider.cs b/common/ASC.Core.Common/Notify/ReplyToTagProvider.cs index 39bd1db30d..dba842e395 100644 --- a/common/ASC.Core.Common/Notify/ReplyToTagProvider.cs +++ b/common/ASC.Core.Common/Notify/ReplyToTagProvider.cs @@ -39,10 +39,11 @@ namespace ASC.Core.Common.Notify private const string TagName = "replyto"; - public ReplyToTagProvider(TenantManager tenantManager, CoreBaseSettings coreBaseSettings) + public ReplyToTagProvider(TenantManager tenantManager, CoreBaseSettings coreBaseSettings, CoreSettings coreSettings) { TenantManager = tenantManager; CoreBaseSettings = coreBaseSettings; + CoreSettings = coreSettings; } /// @@ -89,11 +90,12 @@ namespace ASC.Core.Common.Notify // we use mapped domains for standalone portals because it is the only way to reach autoreply service // mapped domains are no allowed for SAAS because of http(s) problem var tenant = TenantManager.GetCurrentTenant(); - return tenant.GetTenantDomain(CoreBaseSettings.Standalone); + return tenant.GetTenantDomain(CoreSettings, CoreBaseSettings.Standalone); } } public TenantManager TenantManager { get; } public CoreBaseSettings CoreBaseSettings { get; } + public CoreSettings CoreSettings { get; } } } diff --git a/common/ASC.Core.Common/Notify/Signalr/SignalrServiceClient.cs b/common/ASC.Core.Common/Notify/Signalr/SignalrServiceClient.cs index 19bf140066..6a2fdb6656 100644 --- a/common/ASC.Core.Common/Notify/Signalr/SignalrServiceClient.cs +++ b/common/ASC.Core.Common/Notify/Signalr/SignalrServiceClient.cs @@ -53,6 +53,7 @@ namespace ASC.Core.Notify.Signalr private readonly string hub; public TenantManager TenantManager { get; } + public CoreSettings CoreSettings { get; } static SignalrServiceClient() { @@ -60,10 +61,11 @@ namespace ASC.Core.Notify.Signalr Log = LogManager.GetLogger("ASC"); } - public SignalrServiceClient(string hub, TenantManager tenantManager, IConfiguration configuration) + public SignalrServiceClient(string hub, TenantManager tenantManager, CoreSettings coreSettings, IConfiguration configuration) { this.hub = hub.Trim('/'); TenantManager = tenantManager; + CoreSettings = coreSettings; CoreMachineKey = configuration["core:machinekey"]; Url = configuration["web:hub:internal"]; EnableSignalr = !string.IsNullOrEmpty(Url); @@ -99,7 +101,7 @@ namespace ASC.Core.Notify.Signalr var isTenantUser = callerUserName == string.Empty; var message = new MessageClass { - UserName = isTenantUser ? tenant.GetTenantDomain() : callerUserName, + UserName = isTenantUser ? tenant.GetTenantDomain(CoreSettings) : callerUserName, Text = messageText }; @@ -121,7 +123,7 @@ namespace ASC.Core.Notify.Signalr var message = new MessageClass { - UserName = tenant.GetTenantDomain(), + UserName = tenant.GetTenantDomain(CoreSettings), Text = chatRoomName }; diff --git a/common/ASC.Core.Common/Tenants/Tenant.cs b/common/ASC.Core.Common/Tenants/Tenant.cs index edb5dccb54..887d982210 100644 --- a/common/ASC.Core.Common/Tenants/Tenant.cs +++ b/common/ASC.Core.Common/Tenants/Tenant.cs @@ -75,8 +75,6 @@ namespace ASC.Core.Tenants public DateTime VersionChanged { get; set; } - public string TenantDomain { get { return GetTenantDomain(); } } - public string HostedRegion { get; set; } public string Name { get; set; } @@ -132,7 +130,7 @@ namespace ASC.Core.Tenants public override string ToString() { - return TenantDomain ?? TenantAlias; + return TenantAlias; } @@ -155,9 +153,9 @@ namespace ASC.Core.Tenants } } - public string GetTenantDomain(bool allowMappedDomain = true) + public string GetTenantDomain(CoreSettings coreSettings, bool allowMappedDomain = true) { - var baseHost = TenantUtil.GetBaseDomain(HostedRegion); + var baseHost = coreSettings.GetBaseDomain(HostedRegion); if (string.IsNullOrEmpty(baseHost) && !string.IsNullOrEmpty(HostedRegion)) { diff --git a/common/ASC.Core.Common/Tenants/TenantUtil.cs b/common/ASC.Core.Common/Tenants/TenantUtil.cs index 81d9763594..a82b1b2a48 100644 --- a/common/ASC.Core.Common/Tenants/TenantUtil.cs +++ b/common/ASC.Core.Common/Tenants/TenantUtil.cs @@ -35,18 +35,6 @@ namespace ASC.Core.Tenants public TenantUtil(TenantManager tenantManager) { TenantManager = tenantManager; - } - - public static string GetBaseDomain(string hostedRegion) - { - var baseHost = CoreContext.Configuration.BaseDomain; - - if (string.IsNullOrEmpty(hostedRegion) || string.IsNullOrEmpty(baseHost) || !baseHost.Contains(".")) - { - return baseHost; - } - var subdomain = baseHost.Remove(baseHost.IndexOf('.') + 1); - return hostedRegion.StartsWith(subdomain) ? hostedRegion : (subdomain + hostedRegion.TrimStart('.')); } diff --git a/common/ASC.Core.Common/Tests/DbTenantServiceTest.cs b/common/ASC.Core.Common/Tests/DbTenantServiceTest.cs index 7174b98adb..e82b81ab7d 100644 --- a/common/ASC.Core.Common/Tests/DbTenantServiceTest.cs +++ b/common/ASC.Core.Common/Tests/DbTenantServiceTest.cs @@ -72,8 +72,8 @@ namespace ASC.Core.Common.Tests t2.TrustedDomains.Add(null); t2.TrustedDomains.Add("microsoft"); - Service.SaveTenant(t1); - Service.SaveTenant(t2); + Service.SaveTenant(null, t1); + Service.SaveTenant(null, t2); var tenants = Service.GetTenants(default); CollectionAssert.Contains(tenants.ToList(), t1); @@ -83,7 +83,7 @@ namespace ASC.Core.Common.Tests CompareTenants(t, t1); t1.Version = 2; - Service.SaveTenant(t1); + Service.SaveTenant(null, t1); t = Service.GetTenant(t1.TenantId); CompareTenants(t, t1); @@ -98,7 +98,7 @@ namespace ASC.Core.Common.Tests t1 = new Tenant("nct5nct5"); - Service.SaveTenant(t1); + Service.SaveTenant(null, t1); var user = new UserInfo { @@ -135,7 +135,7 @@ namespace ASC.Core.Common.Tests ValidateDomain("abcdef", null); var t = new Tenant("nct5nct5") { MappedDomain = "nct5nct6" }; - t = Service.SaveTenant(t); + t = Service.SaveTenant(null, t); ValidateDomain("nct5nct5", typeof(TenantAlreadyExistsException)); ValidateDomain("NCT5NCT5", typeof(TenantAlreadyExistsException)); ValidateDomain("nct5nct6", typeof(TenantAlreadyExistsException)); @@ -151,7 +151,7 @@ namespace ASC.Core.Common.Tests } t.MappedDomain = "abc.defg"; - _ = Service.SaveTenant(t); + _ = Service.SaveTenant(null, t); Service.RemoveTenant(Tenant); } @@ -182,7 +182,7 @@ namespace ASC.Core.Common.Tests Assert.AreEqual(t1.PaymentId, t2.PaymentId); Assert.AreEqual(t1.Status, t2.Status); Assert.AreEqual(t1.TenantAlias, t2.TenantAlias); - Assert.AreEqual(t1.TenantDomain, t2.TenantDomain); + Assert.AreEqual(t1.GetTenantDomain(null), t2.GetTenantDomain(null)); Assert.AreEqual(t1.TenantId, t2.TenantId); Assert.AreEqual(t1.TrustedDomains, t2.TrustedDomains); Assert.AreEqual(t1.TrustedDomainsType, t2.TrustedDomainsType); diff --git a/common/ASC.Core.Common/Tests/HostedSolutionTest.cs b/common/ASC.Core.Common/Tests/HostedSolutionTest.cs index 74b46d9618..71fab5c4a6 100644 --- a/common/ASC.Core.Common/Tests/HostedSolutionTest.cs +++ b/common/ASC.Core.Common/Tests/HostedSolutionTest.cs @@ -58,10 +58,10 @@ namespace ASC.Core.Common.Tests var regionSerice = new MultiRegionHostedSolution("site", null, null, null, null, null); var t1 = regionSerice.GetTenant("teamlab.com", 50001); - Assert.AreEqual("alias_test2.teamlab.com", t1.TenantDomain); + Assert.AreEqual("alias_test2.teamlab.com", t1.GetTenantDomain(null)); var t2 = regionSerice.GetTenant("teamlab.eu.com", 50001); - Assert.AreEqual("tscherb.teamlab.eu.com", t2.TenantDomain); + Assert.AreEqual("tscherb.teamlab.eu.com", t2.GetTenantDomain(null)); } } } diff --git a/web/ASC.Web.Api/Controllers/SettingsController.cs b/web/ASC.Web.Api/Controllers/SettingsController.cs index 82e7afd461..f71040757a 100644 --- a/web/ASC.Web.Api/Controllers/SettingsController.cs +++ b/web/ASC.Web.Api/Controllers/SettingsController.cs @@ -135,6 +135,7 @@ namespace ASC.Api.Settings public DisplayUserSettings DisplayUserSettings { get; } public StatisticManager StatisticManager { get; } public IPRestrictionsService IPRestrictionsService { get; } + public CoreConfiguration CoreConfiguration { get; } public SettingsController( IServiceProvider serviceProvider, @@ -184,7 +185,8 @@ namespace ASC.Api.Settings BuildVersion buildVersion, DisplayUserSettings displayUserSettings, StatisticManager statisticManager, - IPRestrictionsService iPRestrictionsService) + IPRestrictionsService iPRestrictionsService, + CoreConfiguration coreConfiguration) { ServiceProvider = serviceProvider; LogManager = logManager; @@ -234,6 +236,7 @@ namespace ASC.Api.Settings DisplayUserSettings = displayUserSettings; StatisticManager = statisticManager; IPRestrictionsService = iPRestrictionsService; + CoreConfiguration = coreConfiguration; } [Read("")] @@ -261,7 +264,7 @@ namespace ASC.Api.Settings [Read("quota")] public QuotaWrapper GetQuotaUsed() { - return new QuotaWrapper(Tenant, TenantExtra, TenantStatisticsProvider, AuthContext, PersonalQuotaSettings, WebItemManager); + return new QuotaWrapper(Tenant, CoreBaseSettings, CoreConfiguration, TenantExtra, TenantStatisticsProvider, AuthContext, PersonalQuotaSettings, WebItemManager); } [AllowAnonymous] diff --git a/web/ASC.Web.Api/Models/QuotaWrapper.cs b/web/ASC.Web.Api/Models/QuotaWrapper.cs index 290cd5353d..bdeedd39de 100644 --- a/web/ASC.Web.Api/Models/QuotaWrapper.cs +++ b/web/ASC.Web.Api/Models/QuotaWrapper.cs @@ -93,7 +93,7 @@ namespace ASC.Web.Studio.Core.Quota } - public QuotaWrapper(Tenant tenant, TenantExtra tenantExtra, TenantStatisticsProvider tenantStatisticsProvider, AuthContext authContext, PersonalQuotaSettings personalQuotaSettings, WebItemManager webItemManager) + public QuotaWrapper(Tenant tenant, CoreBaseSettings coreBaseSettings, CoreConfiguration configuration, TenantExtra tenantExtra, TenantStatisticsProvider tenantStatisticsProvider, AuthContext authContext, PersonalQuotaSettings personalQuotaSettings, WebItemManager webItemManager) { TenantExtra = tenantExtra; TenantStatisticsProvider = tenantStatisticsProvider; @@ -104,15 +104,15 @@ namespace ASC.Web.Studio.Core.Quota StorageSize = (ulong)Math.Max(0, quota.MaxTotalSize); UsedSize = (ulong)Math.Max(0, quotaRows.Sum(r => r.Counter)); MaxUsersCount = TenantExtra.GetTenantQuota().ActiveUsers; - UsersCount = CoreContext.Configuration.Personal ? 1 : TenantStatisticsProvider.GetUsersCount(); + UsersCount = coreBaseSettings.Personal ? 1 : TenantStatisticsProvider.GetUsersCount(); StorageUsage = quotaRows .Select(x => new QuotaUsage { Path = x.Path.TrimStart('/').TrimEnd('/'), Size = x.Counter, }) .ToList(); - if (CoreContext.Configuration.Personal && SetupInfo.IsVisibleSettings("PersonalMaxSpace")) + if (coreBaseSettings.Personal && SetupInfo.IsVisibleSettings("PersonalMaxSpace")) { - UserStorageSize = CoreContext.Configuration.PersonalMaxSpace(personalQuotaSettings); + UserStorageSize = configuration.PersonalMaxSpace(personalQuotaSettings); var webItem = WebItemManager[WebItemManager.DocumentsProductID]; if (webItem.Context.SpaceUsageStatManager is IUserSpaceUsage spaceUsageManager) diff --git a/web/ASC.Web.Core/Notify/StudioWhatsNewNotify.cs b/web/ASC.Web.Core/Notify/StudioWhatsNewNotify.cs index 13fb22e03e..cf7f496273 100644 --- a/web/ASC.Web.Core/Notify/StudioWhatsNewNotify.cs +++ b/web/ASC.Web.Core/Notify/StudioWhatsNewNotify.cs @@ -101,9 +101,10 @@ namespace ASC.Web.Studio.Core.Notify var tenantUtil = scope.ServiceProvider.GetService(); var commonLinkUtility = scope.ServiceProvider.GetService(); var displayUserSettings = scope.ServiceProvider.GetService(); - var feedAggregateDataProvider = scope.ServiceProvider.GetService(); + var feedAggregateDataProvider = scope.ServiceProvider.GetService(); + var coreSettings = scope.ServiceProvider.GetService(); - log.InfoFormat("Start send whats new in {0} ({1}).", tenant.TenantDomain, tenantid); + log.InfoFormat("Start send whats new in {0} ({1}).", tenant.GetTenantDomain(coreSettings), tenantid); foreach (var user in userManager.GetUsers()) { if (!studioNotifyHelper.IsSubscribedToNotify(user, Actions.SendWhatsNew)) diff --git a/web/ASC.Web.Core/Utility/CommonLinkUtility.cs b/web/ASC.Web.Core/Utility/CommonLinkUtility.cs index 4b1ee5dbfc..78335170a2 100644 --- a/web/ASC.Web.Core/Utility/CommonLinkUtility.cs +++ b/web/ASC.Web.Core/Utility/CommonLinkUtility.cs @@ -65,7 +65,7 @@ namespace ASC.Web.Studio.Utility Storage = 21 } - public class CommonLinkUtility: BaseCommonLinkUtility + public class CommonLinkUtility : BaseCommonLinkUtility { private static readonly Regex RegFilePathTrim = new Regex("/[^/]*\\.aspx", RegexOptions.IgnoreCase | RegexOptions.Compiled); @@ -74,25 +74,27 @@ namespace ASC.Web.Studio.Utility public const string ParamName_UserUserID = "uid"; public CommonLinkUtility( - CoreBaseSettings coreBaseSettings, - TenantManager tenantManager, - UserManager userManager, - WebItemManagerSecurity webItemManagerSecurity, + CoreBaseSettings coreBaseSettings, + CoreSettings coreSettings, + TenantManager tenantManager, + UserManager userManager, + WebItemManagerSecurity webItemManagerSecurity, WebItemManager webItemManager, - EmailValidationKeyProvider emailValidationKeyProvider) : - this(null, coreBaseSettings, tenantManager, userManager, webItemManagerSecurity, webItemManager, emailValidationKeyProvider) + EmailValidationKeyProvider emailValidationKeyProvider) : + this(null, coreBaseSettings, coreSettings, tenantManager, userManager, webItemManagerSecurity, webItemManager, emailValidationKeyProvider) { } public CommonLinkUtility( IHttpContextAccessor httpContextAccessor, CoreBaseSettings coreBaseSettings, + CoreSettings coreSettings, TenantManager tenantManager, UserManager userManager, WebItemManagerSecurity webItemManagerSecurity, WebItemManager webItemManager, EmailValidationKeyProvider emailValidationKeyProvider) : - base(httpContextAccessor, coreBaseSettings, tenantManager) => (UserManager, WebItemManagerSecurity, WebItemManager, EmailValidationKeyProvider) = (userManager, webItemManagerSecurity, webItemManager, emailValidationKeyProvider); + base(httpContextAccessor, coreBaseSettings, coreSettings, tenantManager) => (UserManager, WebItemManagerSecurity, WebItemManager, EmailValidationKeyProvider) = (userManager, webItemManagerSecurity, webItemManager, emailValidationKeyProvider); public string Logout { @@ -442,7 +444,7 @@ namespace ASC.Web.Studio.Utility #region Help Centr - public string GetHelpLink(AdditionalWhiteLabelSettings AdditionalWhiteLabelSettings, bool inCurrentCulture = true) + public string GetHelpLink(AdditionalWhiteLabelSettings AdditionalWhiteLabelSettings, bool inCurrentCulture = true) { if (!AdditionalWhiteLabelSettings.Instance.HelpCenterEnabled) return string.Empty;