DI: configuration
This commit is contained in:
parent
42fe613918
commit
75285dfc69
@ -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
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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)
|
||||
|
@ -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;
|
||||
|
@ -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);
|
||||
|
||||
|
@ -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))
|
||||
{
|
||||
|
@ -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)
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -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; }
|
||||
}
|
||||
}
|
||||
|
@ -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
|
||||
};
|
||||
|
||||
|
@ -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))
|
||||
{
|
||||
|
@ -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('.'));
|
||||
}
|
||||
|
||||
|
||||
|
@ -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);
|
||||
|
@ -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));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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]
|
||||
|
@ -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)
|
||||
|
@ -101,9 +101,10 @@ namespace ASC.Web.Studio.Core.Notify
|
||||
var tenantUtil = scope.ServiceProvider.GetService<TenantUtil>();
|
||||
var commonLinkUtility = scope.ServiceProvider.GetService<CommonLinkUtility>();
|
||||
var displayUserSettings = scope.ServiceProvider.GetService<DisplayUserSettings>();
|
||||
var feedAggregateDataProvider = scope.ServiceProvider.GetService<FeedAggregateDataProvider>();
|
||||
var feedAggregateDataProvider = scope.ServiceProvider.GetService<FeedAggregateDataProvider>();
|
||||
var coreSettings = scope.ServiceProvider.GetService<CoreSettings>();
|
||||
|
||||
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))
|
||||
|
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user