Merge branch 'master' into feature/ASC.Data.Storage.Encryption
This commit is contained in:
commit
ae61f59d55
@ -283,7 +283,7 @@ namespace ASC.Notify.Engine
|
||||
{
|
||||
if (request.Recipient is IDirectRecipient)
|
||||
{
|
||||
var subscriptionSource = request.NotifySource.GetSubscriptionProvider();
|
||||
var subscriptionSource = request.GetSubscriptionProvider(serviceScope);
|
||||
if (!request.IsNeedCheckSubscriptions || !subscriptionSource.IsUnsubscribe(request.Recipient as IDirectRecipient, request.NotifyAction, request.ObjectID))
|
||||
{
|
||||
var directresponses = new List<SendResponse>(1);
|
||||
@ -309,7 +309,7 @@ namespace ASC.Notify.Engine
|
||||
}
|
||||
else
|
||||
{
|
||||
var recipientProvider = request.NotifySource.GetRecipientsProvider();
|
||||
var recipientProvider = request.GetRecipientsProvider(serviceScope);
|
||||
|
||||
try
|
||||
{
|
||||
@ -358,9 +358,9 @@ namespace ASC.Notify.Engine
|
||||
|
||||
try
|
||||
{
|
||||
PrepareRequestFillSenders(request);
|
||||
PrepareRequestFillPatterns(request);
|
||||
PrepareRequestFillTags(request);
|
||||
PrepareRequestFillSenders(request, serviceScope);
|
||||
PrepareRequestFillPatterns(request, serviceScope);
|
||||
PrepareRequestFillTags(request, serviceScope);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
@ -421,7 +421,7 @@ namespace ASC.Notify.Engine
|
||||
{
|
||||
if (request == null) throw new ArgumentNullException("request");
|
||||
|
||||
var recipientProvider = request.NotifySource.GetRecipientsProvider();
|
||||
var recipientProvider = request.GetRecipientsProvider(serviceScope);
|
||||
var recipient = request.Recipient as IDirectRecipient;
|
||||
|
||||
var addresses = recipient.Addresses;
|
||||
@ -450,7 +450,7 @@ namespace ASC.Notify.Engine
|
||||
noticeMessage.Pattern = pattern;
|
||||
noticeMessage.ContentType = pattern.ContentType;
|
||||
noticeMessage.AddArgument(request.Arguments.ToArray());
|
||||
var patternProvider = request.NotifySource.GetPatternProvider();
|
||||
var patternProvider = request.GetPatternProvider(serviceScope);
|
||||
|
||||
var formatter = patternProvider.GetFormatter(pattern);
|
||||
try
|
||||
@ -500,11 +500,11 @@ namespace ASC.Notify.Engine
|
||||
}
|
||||
}
|
||||
|
||||
private void PrepareRequestFillSenders(NotifyRequest request)
|
||||
private void PrepareRequestFillSenders(NotifyRequest request, IServiceScope serviceScope)
|
||||
{
|
||||
if (request.SenderNames == null)
|
||||
{
|
||||
var subscriptionProvider = request.NotifySource.GetSubscriptionProvider();
|
||||
var subscriptionProvider = request.GetSubscriptionProvider(serviceScope);
|
||||
|
||||
var senderNames = new List<string>();
|
||||
senderNames.AddRange(subscriptionProvider.GetSubscriptionMethod(request.NotifyAction, request.Recipient) ?? new string[0]);
|
||||
@ -514,14 +514,14 @@ namespace ASC.Notify.Engine
|
||||
}
|
||||
}
|
||||
|
||||
private void PrepareRequestFillPatterns(NotifyRequest request)
|
||||
private void PrepareRequestFillPatterns(NotifyRequest request, IServiceScope serviceScope)
|
||||
{
|
||||
if (request.Patterns == null)
|
||||
{
|
||||
request.Patterns = new IPattern[request.SenderNames.Length];
|
||||
if (request.Patterns.Length == 0) return;
|
||||
|
||||
var apProvider = request.NotifySource.GetPatternProvider();
|
||||
var apProvider = request.GetPatternProvider(serviceScope);
|
||||
for (var i = 0; i < request.SenderNames.Length; i++)
|
||||
{
|
||||
var senderName = request.SenderNames[i];
|
||||
@ -540,9 +540,9 @@ namespace ASC.Notify.Engine
|
||||
}
|
||||
}
|
||||
|
||||
private void PrepareRequestFillTags(NotifyRequest request)
|
||||
private void PrepareRequestFillTags(NotifyRequest request, IServiceScope serviceScope)
|
||||
{
|
||||
var patternProvider = request.NotifySource.GetPatternProvider();
|
||||
var patternProvider = request.GetPatternProvider(serviceScope);
|
||||
foreach (var pattern in request.Patterns)
|
||||
{
|
||||
IPatternFormatter formatter;
|
||||
|
@ -41,7 +41,7 @@ namespace ASC.Notify.Engine
|
||||
{
|
||||
public class NotifyRequest
|
||||
{
|
||||
public INotifySource NotifySource { get; internal set; }
|
||||
private INotifySource NotifySource { get; set; }
|
||||
|
||||
public INotifyAction NotifyAction { get; internal set; }
|
||||
|
||||
@ -142,6 +142,26 @@ namespace ASC.Notify.Engine
|
||||
internal NoticeMessage CreateMessage(IDirectRecipient recipient)
|
||||
{
|
||||
return new NoticeMessage(recipient, NotifyAction, ObjectID);
|
||||
}
|
||||
|
||||
public IActionProvider GetActionProvider(IServiceScope scope)
|
||||
{
|
||||
return ((INotifySource)scope.ServiceProvider.GetService(NotifySource.GetType())).GetActionProvider();
|
||||
}
|
||||
|
||||
public IPatternProvider GetPatternProvider(IServiceScope scope)
|
||||
{
|
||||
return ((INotifySource)scope.ServiceProvider.GetService(NotifySource.GetType())).GetPatternProvider();
|
||||
}
|
||||
|
||||
public IRecipientProvider GetRecipientsProvider(IServiceScope scope)
|
||||
{
|
||||
return ((INotifySource)scope.ServiceProvider.GetService(NotifySource.GetType())).GetRecipientsProvider();
|
||||
}
|
||||
|
||||
public ISubscriptionProvider GetSubscriptionProvider(IServiceScope scope)
|
||||
{
|
||||
return ((INotifySource)scope.ServiceProvider.GetService(NotifySource.GetType())).GetSubscriptionProvider();
|
||||
}
|
||||
}
|
||||
}
|
@ -100,7 +100,9 @@
|
||||
},
|
||||
"controlpanel": {
|
||||
"url": ""
|
||||
}
|
||||
},
|
||||
"support-feedback": "https://helpdesk.onlyoffice.com",
|
||||
"teamlab-site": "http://www.onlyoffice.com"
|
||||
},
|
||||
"ConnectionStrings": {
|
||||
"default": {
|
||||
|
@ -70,6 +70,29 @@
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Compile Update="Services\NotifyService\FilesPatternResource.Designer.cs">
|
||||
<DesignTime>True</DesignTime>
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>FilesPatternResource.resx</DependentUpon>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Update="Services\NotifyService\FilesPatternResource.resx">
|
||||
<Generator>PublicResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>FilesPatternResource.Designer.cs</LastGenOutput>
|
||||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<None Remove="Services\NotifyService\patterns.xml" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="Services\NotifyService\patterns.xml" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Update="Resources\FilesCommonResource.de.resx">
|
||||
<DependentUpon>FilesCommonResource.resx</DependentUpon>
|
||||
|
@ -36,7 +36,8 @@ using ASC.Web.Core;
|
||||
using ASC.Web.Core.PublicResources;
|
||||
using ASC.Web.Files.Classes;
|
||||
using ASC.Web.Files.Core.Search;
|
||||
|
||||
using ASC.Web.Studio.Core.Notify;
|
||||
|
||||
namespace ASC.Web.Files.Configuration
|
||||
{
|
||||
public class ProductEntryPoint : Product
|
||||
@ -60,14 +61,16 @@ namespace ASC.Web.Files.Configuration
|
||||
// FilesSpaceUsageStatManager filesSpaceUsageStatManager,
|
||||
CoreBaseSettings coreBaseSettings,
|
||||
AuthContext authContext,
|
||||
UserManager userManager
|
||||
UserManager userManager,
|
||||
IServiceProvider serviceProvider
|
||||
// SubscriptionManager subscriptionManager
|
||||
)
|
||||
{
|
||||
// FilesSpaceUsageStatManager = filesSpaceUsageStatManager;
|
||||
CoreBaseSettings = coreBaseSettings;
|
||||
AuthContext = authContext;
|
||||
UserManager = userManager;
|
||||
UserManager = userManager;
|
||||
ServiceProvider = serviceProvider;
|
||||
//SubscriptionManager = subscriptionManager;
|
||||
}
|
||||
|
||||
@ -99,8 +102,12 @@ namespace ASC.Web.Files.Configuration
|
||||
AdminOpportunities = adminOpportunities,
|
||||
UserOpportunities = userOpportunities,
|
||||
CanNotBeDisabled = true,
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
if (ServiceProvider != null)
|
||||
{
|
||||
NotifyConfiguration.Configure(ServiceProvider);
|
||||
}
|
||||
//SearchHandlerManager.Registry(new SearchHandler());
|
||||
}
|
||||
|
||||
@ -175,6 +182,7 @@ namespace ASC.Web.Files.Configuration
|
||||
{
|
||||
if (services.TryAddScoped<ProductEntryPoint>())
|
||||
{
|
||||
services.TryAddScoped<IWebItem, ProductEntryPoint>();
|
||||
return services
|
||||
.AddFilesSpaceUsageStatManagerService()
|
||||
.AddCoreBaseSettingsService()
|
||||
|
@ -354,9 +354,14 @@ namespace ASC.Files.Core.Data
|
||||
|
||||
private FileShareRecord ToFileShareRecord(SecurityTreeRecord r)
|
||||
{
|
||||
var result = ToFileShareRecord(r.DbFilesSecurity);
|
||||
result.EntryId = r.DbFolderTree?.FolderId;
|
||||
result.Level = r.DbFolderTree?.Level ?? -1;
|
||||
var result = ToFileShareRecord(r.DbFilesSecurity);
|
||||
if (r.DbFolderTree != null)
|
||||
{
|
||||
result.EntryId = r.DbFolderTree.FolderId;
|
||||
}
|
||||
|
||||
result.Level = r.DbFolderTree?.Level ?? -1;
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
@ -193,14 +193,16 @@ namespace ASC.Files.Core.Data
|
||||
Query(FilesDbContext.Tag)
|
||||
.Join(FilesDbContext.TagLink, r => r.Id, l => l.TagId, (tag, link) => new TagLinkData { Tag = tag, Link = link })
|
||||
.Where(r => r.Link.TenantId == r.Tag.TenantId)
|
||||
.Where(r => r.Tag.Flag == TagType.New && r.Link.CreateOn <= TenantUtil.DateTimeNow().AddMonths(-1));
|
||||
.Where(r => r.Tag.Flag == TagType.New && r.Link.CreateOn <= TenantUtil.DateTimeNow().AddMonths(-1))
|
||||
.ToList();
|
||||
|
||||
foreach (var row in mustBeDeleted)
|
||||
{
|
||||
var linksToRemove = Query(FilesDbContext.TagLink)
|
||||
.Where(r => r.TagId == row.Link.TagId)
|
||||
.Where(r => r.EntryId == row.Link.EntryId)
|
||||
.Where(r => r.EntryType == row.Link.EntryType);
|
||||
.Where(r => r.EntryType == row.Link.EntryType)
|
||||
.ToList();
|
||||
FilesDbContext.TagLink.RemoveRange(linksToRemove);
|
||||
}
|
||||
|
||||
|
@ -417,7 +417,7 @@ namespace ASC.Web.Files.Classes
|
||||
id = my ? folderDao.GetFolderIDUser(true) : folderDao.GetFolderIDCommon(true);
|
||||
|
||||
//Copy start document
|
||||
if (AdditionalWhiteLabelSettings.Instance(SettingsManager).StartDocsEnabled)
|
||||
if (SettingsManager.LoadForDefaultTenant<AdditionalWhiteLabelSettings>().StartDocsEnabled)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
@ -593,13 +593,14 @@ namespace ASC.Web.Files.Services.DocumentService
|
||||
set { }
|
||||
get
|
||||
{
|
||||
if (CoreBaseSettings.Standalone) return null;
|
||||
if (!AdditionalWhiteLabelSettings.Instance(SettingsManager).FeedbackAndSupportEnabled) return null;
|
||||
if (CoreBaseSettings.Standalone) return null;
|
||||
var settings = SettingsManager.LoadForDefaultTenant<AdditionalWhiteLabelSettings>();
|
||||
if (!settings.FeedbackAndSupportEnabled) return null;
|
||||
|
||||
return new FeedbackConfig
|
||||
{
|
||||
Url = BaseCommonLinkUtility.GetRegionalUrl(
|
||||
AdditionalWhiteLabelSettings.Instance(SettingsManager).FeedbackAndSupportUrl,
|
||||
settings.FeedbackAndSupportUrl,
|
||||
CultureInfo.CurrentCulture.TwoLetterISOLanguageName),
|
||||
};
|
||||
}
|
||||
|
@ -1,215 +1,215 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.42000
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace ASC.Web.Files.Services.NotifyService {
|
||||
using System;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// A strongly-typed resource class, for looking up localized strings, etc.
|
||||
/// </summary>
|
||||
// This class was auto-generated by the StronglyTypedResourceBuilder
|
||||
// class via a tool like ResGen or Visual Studio.
|
||||
// To add or remove a member, edit your .ResX file then rerun ResGen
|
||||
// with the /str option, or rebuild your VS project.
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
public class FilesPatternResource {
|
||||
|
||||
private static global::System.Resources.ResourceManager resourceMan;
|
||||
|
||||
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||
|
||||
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||
internal FilesPatternResource() {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns the cached ResourceManager instance used by this class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
public static global::System.Resources.ResourceManager ResourceManager {
|
||||
get {
|
||||
if (object.ReferenceEquals(resourceMan, null)) {
|
||||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ASC.Web.Files.Services.NotifyService.FilesPatternResource", typeof(FilesPatternResource).Assembly);
|
||||
resourceMan = temp;
|
||||
}
|
||||
return resourceMan;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Overrides the current thread's CurrentUICulture property for all
|
||||
/// resource lookups using this strongly typed resource class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
public static global::System.Globalization.CultureInfo Culture {
|
||||
get {
|
||||
return resourceCulture;
|
||||
}
|
||||
set {
|
||||
resourceCulture = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.42000
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace ASC.Web.Files.Services.NotifyService {
|
||||
using System;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// A strongly-typed resource class, for looking up localized strings, etc.
|
||||
/// </summary>
|
||||
// This class was auto-generated by the StronglyTypedResourceBuilder
|
||||
// class via a tool like ResGen or Visual Studio.
|
||||
// To add or remove a member, edit your .ResX file then rerun ResGen
|
||||
// with the /str option, or rebuild your VS project.
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
public class FilesPatternResource {
|
||||
|
||||
private static global::System.Resources.ResourceManager resourceMan;
|
||||
|
||||
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||
|
||||
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||
internal FilesPatternResource() {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns the cached ResourceManager instance used by this class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
public static global::System.Resources.ResourceManager ResourceManager {
|
||||
get {
|
||||
if (object.ReferenceEquals(resourceMan, null)) {
|
||||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ASC.Files.Core.Services.NotifyService.FilesPatternResource", typeof(FilesPatternResource).Assembly);
|
||||
resourceMan = temp;
|
||||
}
|
||||
return resourceMan;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Overrides the current thread's CurrentUICulture property for all
|
||||
/// resource lookups using this strongly typed resource class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
public static global::System.Globalization.CultureInfo Culture {
|
||||
get {
|
||||
return resourceCulture;
|
||||
}
|
||||
set {
|
||||
resourceCulture = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to h1. All signers completed $Message
|
||||
///
|
||||
///This is a mail message to notify you that all signers completed "$DocumentTitle":"$DocumentURL".
|
||||
///
|
||||
///^You receive this email because you are a registered user of the "${__VirtualRootPath}":"${__VirtualRootPath}" portal.^.
|
||||
/// </summary>
|
||||
public static string pattern_DocuSignComplete {
|
||||
get {
|
||||
return ResourceManager.GetString("pattern_DocuSignComplete", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///^You receive this email because you are a registered user of the "${__VirtualRootPath}":"${__VirtualRootPath}" portal.^.
|
||||
/// </summary>
|
||||
public static string pattern_DocuSignComplete {
|
||||
get {
|
||||
return ResourceManager.GetString("pattern_DocuSignComplete", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to h1. $Message: $DocumentTitle
|
||||
///
|
||||
///Watch your DocuSign account for more information.
|
||||
///
|
||||
///^You receive this email because you are a registered user of the "${__VirtualRootPath}":"${__VirtualRootPath}" portal.^.
|
||||
/// </summary>
|
||||
public static string pattern_DocuSignStatus {
|
||||
get {
|
||||
return ResourceManager.GetString("pattern_DocuSignStatus", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///^You receive this email because you are a registered user of the "${__VirtualRootPath}":"${__VirtualRootPath}" portal.^.
|
||||
/// </summary>
|
||||
public static string pattern_DocuSignStatus {
|
||||
get {
|
||||
return ResourceManager.GetString("pattern_DocuSignStatus", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to h1. "$DocumentTitle":"$DocumentURL"
|
||||
///
|
||||
///This is a mail message to notify you that you have mentioned by "$__AuthorName":"$__AuthorUrl".
|
||||
///
|
||||
///$Message
|
||||
///
|
||||
///^You receive this email because you are a registered user of the "${__VirtualRootPath}":"${__VirtualRootPath}" portal.^.
|
||||
/// </summary>
|
||||
public static string pattern_EditorMentions {
|
||||
get {
|
||||
return ResourceManager.GetString("pattern_EditorMentions", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///^You receive this email because you are a registered user of the "${__VirtualRootPath}":"${__VirtualRootPath}" portal.^.
|
||||
/// </summary>
|
||||
public static string pattern_EditorMentions {
|
||||
get {
|
||||
return ResourceManager.GetString("pattern_EditorMentions", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to h1. Mailing completed
|
||||
///
|
||||
///This is a mail message to notify you that you have requested the mailing of $MailsCount messages and the process is now complete. $Message
|
||||
///
|
||||
///The successfully sent mail messages can be found in your "Sent":"$__VirtualRootPath/addons/mail/#sent" folder of the Mail module.
|
||||
///
|
||||
///^You receive this email because you are a registered user of the "${__VirtualRootPath}":"${__VirtualRootPath}" portal.^.
|
||||
/// </summary>
|
||||
public static string pattern_MailMergeEnd {
|
||||
get {
|
||||
return ResourceManager.GetString("pattern_MailMergeEnd", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///^You receive this email because you are a registered user of the "${__VirtualRootPath}":"${__VirtualRootPath}" portal.^.
|
||||
/// </summary>
|
||||
public static string pattern_MailMergeEnd {
|
||||
get {
|
||||
return ResourceManager.GetString("pattern_MailMergeEnd", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to h1. Access granted to document: "$DocumentTitle":"$DocumentURL"
|
||||
///
|
||||
///$__DateTime "$__AuthorName":"$__AuthorUrl" granted you the access to the "$DocumentTitle":"$DocumentURL" document with the following access rights: "$AccessRights".
|
||||
///
|
||||
///$Message.
|
||||
/// </summary>
|
||||
public static string pattern_ShareDocument {
|
||||
get {
|
||||
return ResourceManager.GetString("pattern_ShareDocument", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///$Message.
|
||||
/// </summary>
|
||||
public static string pattern_ShareDocument {
|
||||
get {
|
||||
return ResourceManager.GetString("pattern_ShareDocument", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to h1. Access granted to folder: "$DocumentTitle":"$__VirtualRootPath/products/files/#$FolderID"
|
||||
///
|
||||
///$__DateTime "$__AuthorName":"$__AuthorUrl" granted you the access to the "$DocumentTitle":"$__VirtualRootPath/products/files/#$FolderID" folder with the following access rights: "$AccessRights".
|
||||
///
|
||||
///$Message.
|
||||
/// </summary>
|
||||
public static string pattern_ShareFolder {
|
||||
get {
|
||||
return ResourceManager.GetString("pattern_ShareFolder", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///$Message.
|
||||
/// </summary>
|
||||
public static string pattern_ShareFolder {
|
||||
get {
|
||||
return ResourceManager.GetString("pattern_ShareFolder", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to <patterns>
|
||||
/// <formatter type="ASC.Notify.Patterns.NVelocityPatternFormatter, ASC.Common" />
|
||||
/// <formatter type="ASC.Notify.Patterns.NVelocityPatternFormatter, ASC.Core.Common" />
|
||||
///
|
||||
/// <pattern id="DocuSignComplete" sender="email.sender">
|
||||
/// <subject resource="|subject_DocuSignComplete|ASC.Web.Files.Services.NotifyService.FilesPatternResource,ASC.Web.Files" />
|
||||
/// <body styler="ASC.Notify.Textile.TextileStyler,ASC.Notify.Textile" resource="|pattern_DocuSignComplete|ASC.Web.Files.Services.NotifyService.FilesPatternResource,ASC.Web.Files" />
|
||||
/// <subject resource="|subject_DocuSignComplete|ASC.Web.Files.Services.NotifyService.FilesPatternResource,ASC.Files.Core" />
|
||||
/// <body styler="ASC.Notify.Textile.TextileStyler,ASC.Notify.Textile" resource="|pattern_DocuSignComplete|ASC.Web.Files.Services.NotifyService.FilesPatternResource,ASC.Files.Core" />
|
||||
/// </pattern>
|
||||
/// <pattern id="DocuSignComplete" se [rest of string was truncated]";.
|
||||
/// </summary>
|
||||
public static string patterns {
|
||||
get {
|
||||
return ResourceManager.GetString("patterns", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Documents. All signers completed $DocumentTitle.
|
||||
/// </summary>
|
||||
public static string subject_DocuSignComplete {
|
||||
get {
|
||||
return ResourceManager.GetString("subject_DocuSignComplete", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Documents. Sign status changed.
|
||||
/// </summary>
|
||||
public static string subject_DocuSignStatus {
|
||||
get {
|
||||
return ResourceManager.GetString("subject_DocuSignStatus", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Documents. Mentioned in document.
|
||||
/// </summary>
|
||||
public static string subject_EditorMentions {
|
||||
get {
|
||||
return ResourceManager.GetString("subject_EditorMentions", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Documents. Mailing is complete..
|
||||
/// </summary>
|
||||
public static string subject_MailMergeEnd {
|
||||
get {
|
||||
return ResourceManager.GetString("subject_MailMergeEnd", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Documents. Access granted to document: $DocumentTitle.
|
||||
/// </summary>
|
||||
public static string subject_ShareDocument {
|
||||
get {
|
||||
return ResourceManager.GetString("subject_ShareDocument", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Documents. Access granted to folder: $DocumentTitle.
|
||||
/// </summary>
|
||||
public static string subject_ShareFolder {
|
||||
get {
|
||||
return ResourceManager.GetString("subject_ShareFolder", resourceCulture);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
/// <pattern id="DocuSignComplete" send [rest of string was truncated]";.
|
||||
/// </summary>
|
||||
public static string patterns {
|
||||
get {
|
||||
return ResourceManager.GetString("patterns", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Documents. All signers completed $DocumentTitle.
|
||||
/// </summary>
|
||||
public static string subject_DocuSignComplete {
|
||||
get {
|
||||
return ResourceManager.GetString("subject_DocuSignComplete", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Documents. Sign status changed.
|
||||
/// </summary>
|
||||
public static string subject_DocuSignStatus {
|
||||
get {
|
||||
return ResourceManager.GetString("subject_DocuSignStatus", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Documents. Mentioned in document.
|
||||
/// </summary>
|
||||
public static string subject_EditorMentions {
|
||||
get {
|
||||
return ResourceManager.GetString("subject_EditorMentions", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Documents. Mailing is complete..
|
||||
/// </summary>
|
||||
public static string subject_MailMergeEnd {
|
||||
get {
|
||||
return ResourceManager.GetString("subject_MailMergeEnd", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Documents. Access granted to document: $DocumentTitle.
|
||||
/// </summary>
|
||||
public static string subject_ShareDocument {
|
||||
get {
|
||||
return ResourceManager.GetString("subject_ShareDocument", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Documents. Access granted to folder: $DocumentTitle.
|
||||
/// </summary>
|
||||
public static string subject_ShareFolder {
|
||||
get {
|
||||
return ResourceManager.GetString("subject_ShareFolder", resourceCulture);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -28,7 +28,7 @@ using System;
|
||||
|
||||
using ASC.Common;
|
||||
using ASC.Core;
|
||||
using ASC.Core.Notify;
|
||||
using ASC.Core.Notify;
|
||||
using ASC.Notify.Model;
|
||||
using ASC.Notify.Patterns;
|
||||
using ASC.Notify.Recipients;
|
||||
|
@ -1,30 +1,30 @@
|
||||
<patterns>
|
||||
<formatter type="ASC.Notify.Patterns.NVelocityPatternFormatter, ASC.Common" />
|
||||
<formatter type="ASC.Notify.Patterns.NVelocityPatternFormatter, ASC.Core.Common" />
|
||||
|
||||
<pattern id="DocuSignComplete" sender="email.sender">
|
||||
<subject resource="|subject_DocuSignComplete|ASC.Web.Files.Services.NotifyService.FilesPatternResource,ASC.Web.Files" />
|
||||
<body styler="ASC.Notify.Textile.TextileStyler,ASC.Notify.Textile" resource="|pattern_DocuSignComplete|ASC.Web.Files.Services.NotifyService.FilesPatternResource,ASC.Web.Files" />
|
||||
<subject resource="|subject_DocuSignComplete|ASC.Web.Files.Services.NotifyService.FilesPatternResource,ASC.Files.Core" />
|
||||
<body styler="ASC.Notify.Textile.TextileStyler,ASC.Notify.Textile" resource="|pattern_DocuSignComplete|ASC.Web.Files.Services.NotifyService.FilesPatternResource,ASC.Files.Core" />
|
||||
</pattern>
|
||||
<pattern id="DocuSignComplete" sender="messanger.sender">
|
||||
<subject resource="|subject_DocuSignComplete|ASC.Web.Files.Services.NotifyService.FilesPatternResource,ASC.Web.Files" />
|
||||
<subject resource="|subject_DocuSignComplete|ASC.Web.Files.Services.NotifyService.FilesPatternResource,ASC.Files.Core" />
|
||||
<body styler="ASC.Notify.Textile.JabberStyler, ASC.Notify.Textile">$DocumentURL</body>
|
||||
</pattern>
|
||||
|
||||
<pattern id="DocuSignStatus" sender="email.sender">
|
||||
<subject resource="|subject_DocuSignStatus|ASC.Web.Files.Services.NotifyService.FilesPatternResource,ASC.Web.Files" />
|
||||
<body styler="ASC.Notify.Textile.TextileStyler,ASC.Notify.Textile" resource="|pattern_DocuSignStatus|ASC.Web.Files.Services.NotifyService.FilesPatternResource,ASC.Web.Files" />
|
||||
<subject resource="|subject_DocuSignStatus|ASC.Web.Files.Services.NotifyService.FilesPatternResource,ASC.Files.Core" />
|
||||
<body styler="ASC.Notify.Textile.TextileStyler,ASC.Notify.Textile" resource="|pattern_DocuSignStatus|ASC.Web.Files.Services.NotifyService.FilesPatternResource,ASC.Files.Core" />
|
||||
</pattern>
|
||||
<pattern id="DocuSignStatus" sender="messanger.sender">
|
||||
<subject resource="|subject_DocuSignStatus|ASC.Web.Files.Services.NotifyService.FilesPatternResource,ASC.Web.Files" />
|
||||
<subject resource="|subject_DocuSignStatus|ASC.Web.Files.Services.NotifyService.FilesPatternResource,ASC.Files.Core" />
|
||||
<body styler="ASC.Notify.Textile.JabberStyler, ASC.Notify.Textile">$Message: $DocumentTitle</body>
|
||||
</pattern>
|
||||
|
||||
<pattern id="MailMergeEnd" sender="email.sender">
|
||||
<subject resource="|subject_MailMergeEnd|ASC.Web.Files.Services.NotifyService.FilesPatternResource,ASC.Web.Files" />
|
||||
<body styler="ASC.Notify.Textile.TextileStyler,ASC.Notify.Textile" resource="|pattern_MailMergeEnd|ASC.Web.Files.Services.NotifyService.FilesPatternResource,ASC.Web.Files" />
|
||||
<subject resource="|subject_MailMergeEnd|ASC.Web.Files.Services.NotifyService.FilesPatternResource,ASC.Files.Core" />
|
||||
<body styler="ASC.Notify.Textile.TextileStyler,ASC.Notify.Textile" resource="|pattern_MailMergeEnd|ASC.Web.Files.Services.NotifyService.FilesPatternResource,ASC.Files.Core" />
|
||||
</pattern>
|
||||
<pattern id="MailMergeEnd" sender="messanger.sender">
|
||||
<subject resource="|subject_MailMergeEnd|ASC.Web.Files.Services.NotifyService.FilesPatternResource,ASC.Web.Files" />
|
||||
<subject resource="|subject_MailMergeEnd|ASC.Web.Files.Services.NotifyService.FilesPatternResource,ASC.Files.Core" />
|
||||
<body styler="ASC.Notify.Textile.JabberStyler, ASC.Notify.Textile">$__AuthorName
|
||||
|
||||
$Message
|
||||
@ -32,11 +32,11 @@ $Message
|
||||
</pattern>
|
||||
|
||||
<pattern id="ShareDocument" sender="email.sender">
|
||||
<subject resource="|subject_ShareDocument|ASC.Web.Files.Services.NotifyService.FilesPatternResource,ASC.Web.Files" />
|
||||
<body styler="ASC.Notify.Textile.TextileStyler,ASC.Notify.Textile" resource="|pattern_ShareDocument|ASC.Web.Files.Services.NotifyService.FilesPatternResource,ASC.Web.Files" />
|
||||
<subject resource="|subject_ShareDocument|ASC.Web.Files.Services.NotifyService.FilesPatternResource,ASC.Files.Core" />
|
||||
<body styler="ASC.Notify.Textile.TextileStyler,ASC.Notify.Textile" resource="|pattern_ShareDocument|ASC.Web.Files.Services.NotifyService.FilesPatternResource,ASC.Files.Core" />
|
||||
</pattern>
|
||||
<pattern id="ShareDocument" sender="messanger.sender">
|
||||
<subject resource="|subject_ShareDocument|ASC.Web.Files.Services.NotifyService.FilesPatternResource,ASC.Web.Files" />
|
||||
<subject resource="|subject_ShareDocument|ASC.Web.Files.Services.NotifyService.FilesPatternResource,ASC.Files.Core" />
|
||||
<body styler="ASC.Notify.Textile.JabberStyler, ASC.Notify.Textile">$__AuthorName
|
||||
|
||||
$AccessRights
|
||||
@ -48,11 +48,11 @@ $DocumentURL
|
||||
</pattern>
|
||||
|
||||
<pattern id="ShareFolder" sender="email.sender">
|
||||
<subject resource="|subject_ShareFolder|ASC.Web.Files.Services.NotifyService.FilesPatternResource,ASC.Web.Files" />
|
||||
<body styler="ASC.Notify.Textile.TextileStyler,ASC.Notify.Textile" resource="|pattern_ShareFolder|ASC.Web.Files.Services.NotifyService.FilesPatternResource,ASC.Web.Files" />
|
||||
<subject resource="|subject_ShareFolder|ASC.Web.Files.Services.NotifyService.FilesPatternResource,ASC.Files.Core" />
|
||||
<body styler="ASC.Notify.Textile.TextileStyler,ASC.Notify.Textile" resource="|pattern_ShareFolder|ASC.Web.Files.Services.NotifyService.FilesPatternResource,ASC.Files.Core" />
|
||||
</pattern>
|
||||
<pattern id="ShareFolder" sender="messanger.sender">
|
||||
<subject resource="|subject_ShareFolder|ASC.Web.Files.Services.NotifyService.FilesPatternResource,ASC.Web.Files" />
|
||||
<subject resource="|subject_ShareFolder|ASC.Web.Files.Services.NotifyService.FilesPatternResource,ASC.Files.Core" />
|
||||
<body styler="ASC.Notify.Textile.JabberStyler, ASC.Notify.Textile">$__AuthorName
|
||||
|
||||
$AccessRights
|
||||
@ -64,11 +64,11 @@ $__VirtualRootPath/products/files/#$FolderID
|
||||
</pattern>
|
||||
|
||||
<pattern id="EditorMentions" sender="email.sender">
|
||||
<subject resource="|subject_EditorMentions|ASC.Web.Files.Services.NotifyService.FilesPatternResource,ASC.Web.Files" />
|
||||
<body styler="ASC.Notify.Textile.TextileStyler,ASC.Notify.Textile" resource="|pattern_EditorMentions|ASC.Web.Files.Services.NotifyService.FilesPatternResource,ASC.Web.Files" />
|
||||
<subject resource="|subject_EditorMentions|ASC.Web.Files.Services.NotifyService.FilesPatternResource,ASC.Files.Core" />
|
||||
<body styler="ASC.Notify.Textile.TextileStyler,ASC.Notify.Textile" resource="|pattern_EditorMentions|ASC.Web.Files.Services.NotifyService.FilesPatternResource,ASC.Files.Core" />
|
||||
</pattern>
|
||||
<pattern id="EditorMentions" sender="messanger.sender">
|
||||
<subject resource="|subject_EditorMentions|ASC.Web.Files.Services.NotifyService.FilesPatternResource,ASC.Web.Files" />
|
||||
<subject resource="|subject_EditorMentions|ASC.Web.Files.Services.NotifyService.FilesPatternResource,ASC.Files.Core" />
|
||||
<body styler="ASC.Notify.Textile.JabberStyler, ASC.Notify.Textile">$__AuthorName
|
||||
|
||||
$DocumentTitle
|
||||
|
@ -7,6 +7,7 @@ using ASC.Api.Documents;
|
||||
using ASC.Common;
|
||||
using ASC.Web.Files;
|
||||
using ASC.Web.Files.HttpHandlers;
|
||||
using ASC.Web.Studio.Core.Notify;
|
||||
|
||||
using Microsoft.AspNetCore.Builder;
|
||||
using Microsoft.AspNetCore.Hosting;
|
||||
@ -42,7 +43,8 @@ namespace ASC.Files
|
||||
.AddFileHandlerService()
|
||||
.AddChunkedUploaderHandlerService()
|
||||
.AddThirdPartyAppHandlerService()
|
||||
.AddDocuSignHandlerService();
|
||||
.AddDocuSignHandlerService()
|
||||
.AddNotifyConfiguration();
|
||||
|
||||
base.ConfigureServices(services);
|
||||
}
|
||||
|
@ -1844,6 +1844,28 @@ namespace ASC.Api.Settings
|
||||
return changed;
|
||||
}
|
||||
|
||||
[Read("payment")]
|
||||
public object PaymentSettings()
|
||||
{
|
||||
var settings = SettingsManager.LoadForDefaultTenant<AdditionalWhiteLabelSettings>();
|
||||
var currentQuota = TenantExtra.GetTenantQuota();
|
||||
var currentTariff = TenantExtra.GetCurrentTariff();
|
||||
|
||||
return
|
||||
new
|
||||
{
|
||||
settings.SalesEmail,
|
||||
settings.FeedbackAndSupportUrl,
|
||||
settings.BuyUrl,
|
||||
CoreBaseSettings.Standalone,
|
||||
currentLicense = new
|
||||
{
|
||||
currentQuota.Trial,
|
||||
currentTariff.DueDate.Date
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
private readonly int maxCount = 10;
|
||||
private readonly int expirationMinutes = 2;
|
||||
private void CheckCache(string basekey)
|
||||
|
@ -242,14 +242,14 @@ namespace ASC.Web.Studio.Core.Notify
|
||||
}
|
||||
|
||||
|
||||
private static void BeforeTransferRequest(NotifyEngine sender, NotifyRequest request, IServiceScope serviceScope)
|
||||
private static void BeforeTransferRequest(NotifyEngine sender, NotifyRequest request, IServiceScope scope)
|
||||
{
|
||||
var aid = Guid.Empty;
|
||||
var aname = string.Empty;
|
||||
var tenant = serviceScope.ServiceProvider.GetService<TenantManager>().GetCurrentTenant();
|
||||
var authContext = serviceScope.ServiceProvider.GetService<AuthContext>();
|
||||
var userManager = serviceScope.ServiceProvider.GetService<UserManager>();
|
||||
var displayUserSettingsHelper = serviceScope.ServiceProvider.GetService<DisplayUserSettingsHelper>();
|
||||
var tenant = scope.ServiceProvider.GetService<TenantManager>().GetCurrentTenant();
|
||||
var authContext = scope.ServiceProvider.GetService<AuthContext>();
|
||||
var userManager = scope.ServiceProvider.GetService<UserManager>();
|
||||
var displayUserSettingsHelper = scope.ServiceProvider.GetService<DisplayUserSettingsHelper>();
|
||||
|
||||
if (authContext.IsAuthenticated)
|
||||
{
|
||||
@ -262,9 +262,7 @@ namespace ASC.Web.Studio.Core.Notify
|
||||
.Replace("<", "<");
|
||||
}
|
||||
}
|
||||
using var scope = ServiceProvider.CreateScope();
|
||||
var tenantExtra = scope.ServiceProvider.GetService<TenantExtra>();
|
||||
var webItemManagerSecurity = scope.ServiceProvider.GetService<WebItemManagerSecurity>();
|
||||
var webItemManager = scope.ServiceProvider.GetService<WebItemManager>();
|
||||
var configuration = scope.ServiceProvider.GetService<IConfiguration>();
|
||||
var tenantLogoManager = scope.ServiceProvider.GetService<TenantLogoManager>();
|
||||
@ -390,7 +388,8 @@ namespace ASC.Web.Studio.Core.Notify
|
||||
.AddCoreBaseSettingsService()
|
||||
.AddAdditionalWhiteLabelSettingsService()
|
||||
.AddCommonLinkUtilityService()
|
||||
.AddMailWhiteLabelSettingsService();
|
||||
.AddMailWhiteLabelSettingsService()
|
||||
.AddStudioNotifyHelperService();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -144,7 +144,7 @@ namespace ASC.Web.Studio.Core.Notify
|
||||
if (string.IsNullOrEmpty(site)) throw new ArgumentNullException("site");
|
||||
message = (message ?? "").Trim();
|
||||
|
||||
var salesEmail = AdditionalWhiteLabelSettings.Instance(SettingsManager).SalesEmail ?? SetupInfo.SalesEmail;
|
||||
var salesEmail = SettingsManager.LoadForDefaultTenant<AdditionalWhiteLabelSettings>().SalesEmail ?? SetupInfo.SalesEmail;
|
||||
|
||||
var recipient = (IRecipient)(new DirectRecipient(AuthContext.CurrentAccount.ID.ToString(), string.Empty, new[] { salesEmail }, false));
|
||||
|
||||
|
@ -488,7 +488,7 @@ namespace ASC.Web.Studio.Utility
|
||||
|
||||
public string GetHelpLink(SettingsManager settingsManager, AdditionalWhiteLabelSettingsHelper additionalWhiteLabelSettingsHelper, bool inCurrentCulture = true)
|
||||
{
|
||||
if (!AdditionalWhiteLabelSettings.Instance(settingsManager).HelpCenterEnabled)
|
||||
if (!settingsManager.LoadForDefaultTenant<AdditionalWhiteLabelSettings>().HelpCenterEnabled)
|
||||
return string.Empty;
|
||||
|
||||
var url = additionalWhiteLabelSettingsHelper.DefaultHelpCenterUrl;
|
||||
|
@ -123,11 +123,6 @@ namespace ASC.Web.Core.WhiteLabel
|
||||
}
|
||||
}
|
||||
|
||||
public static AdditionalWhiteLabelSettings Instance(SettingsManager settingsManager)
|
||||
{
|
||||
return settingsManager.LoadForDefaultTenant<AdditionalWhiteLabelSettings>();
|
||||
}
|
||||
|
||||
public ISettings GetDefault(IServiceProvider serviceProvider)
|
||||
{
|
||||
return GetDefault(serviceProvider.GetService<IConfiguration>());
|
||||
@ -147,7 +142,7 @@ namespace ASC.Web.Core.WhiteLabel
|
||||
{
|
||||
get
|
||||
{
|
||||
var url = Configuration["web.help-center"];
|
||||
var url = Configuration["web:help-center"];
|
||||
return string.IsNullOrEmpty(url) ? null : url;
|
||||
}
|
||||
}
|
||||
@ -156,7 +151,7 @@ namespace ASC.Web.Core.WhiteLabel
|
||||
{
|
||||
get
|
||||
{
|
||||
var url = Configuration["web.support-feedback"];
|
||||
var url = Configuration["web:support-feedback"];
|
||||
return string.IsNullOrEmpty(url) ? null : url;
|
||||
}
|
||||
}
|
||||
@ -165,7 +160,7 @@ namespace ASC.Web.Core.WhiteLabel
|
||||
{
|
||||
get
|
||||
{
|
||||
var url = Configuration["web.user-forum"];
|
||||
var url = Configuration["web:user-forum"];
|
||||
return string.IsNullOrEmpty(url) ? null : url;
|
||||
}
|
||||
}
|
||||
@ -183,7 +178,7 @@ namespace ASC.Web.Core.WhiteLabel
|
||||
{
|
||||
get
|
||||
{
|
||||
var email = Configuration["web.payment.email"];
|
||||
var email = Configuration["web:payment:email"];
|
||||
return !string.IsNullOrEmpty(email) ? email : "sales@onlyoffice.com";
|
||||
}
|
||||
}
|
||||
@ -192,7 +187,7 @@ namespace ASC.Web.Core.WhiteLabel
|
||||
{
|
||||
get
|
||||
{
|
||||
var site = Configuration["web.teamlab-site"];
|
||||
var site = Configuration["web:teamlab-site"];
|
||||
return !string.IsNullOrEmpty(site) ? site + "/post.ashx?type=buyenterprise" : "";
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user