Quota: fix ldap quota

This commit is contained in:
Nikolay Rechkin 2022-08-30 11:00:37 +03:00
parent 7e74d4efaa
commit 2146cd7020
2 changed files with 11 additions and 5 deletions

View File

@ -34,10 +34,14 @@ namespace ASC.ActiveDirectory.Base.Data;
public class LdapObjectExtension
{
private readonly TenantUtil _tenantUtil;
private readonly SettingsManager _settingsManager;
private readonly TenantManager _tenantManager;
private readonly ILogger<LdapObjectExtension> _logger;
public LdapObjectExtension(TenantUtil tenantUtil, ILogger<LdapObjectExtension> logger)
public LdapObjectExtension(TenantUtil tenantUtil, SettingsManager settingsManager, TenantManager tenantManager, ILogger<LdapObjectExtension> logger)
{
_tenantUtil = tenantUtil;
_settingsManager = settingsManager;
_tenantManager = tenantManager;
_logger = logger;
}
public string GetAttribute(LdapObject ldapObject, string attribute)
@ -145,7 +149,8 @@ public class LdapObjectExtension
var emails = GetContacts(ldapUser, Mapping.AdditionalMail, settings);
var skype = GetContacts(ldapUser, Mapping.Skype, settings);
var quota = settings.LdapMapping.ContainsKey(Mapping.UserQuotaLimit) ? GetAttribute(ldapUser, settings.LdapMapping[Mapping.UserQuotaLimit]) : "10Mb";
var quotaSettings = _settingsManager.LoadForTenant<UserQuotaSettings>(_tenantManager.GetCurrentTenant().Id);
var quota = settings.LdapMapping.ContainsKey(Mapping.UserQuotaLimit) ? GetAttribute(ldapUser, settings.LdapMapping[Mapping.UserQuotaLimit]) : quotaSettings.DefaultUserQuota;
if (string.IsNullOrEmpty(userName))
{
@ -170,7 +175,7 @@ public class LdapObjectExtension
Location = !string.IsNullOrEmpty(location) ? location : string.Empty,
WorkFromDate = _tenantUtil.DateTimeNow(),
ContactsList = contacts,
QuotaLimit = quota
QuotaLimit = quotaSettings.EnableUserQuota ? quota : ""
};
if (!string.IsNullOrEmpty(firstName))

View File

@ -68,8 +68,9 @@ global using ASC.Notify.Recipients;
global using ASC.Security.Cryptography;
global using ASC.Web.Core;
global using ASC.Web.Core.PublicResources;
global using ASC.Web.Core.Users;
global using ASC.Web.Studio.Utility;
global using ASC.Web.Core.Users;
global using ASC.Web.Core.Utility;
global using ASC.Web.Studio.Utility;
global using Microsoft.EntityFrameworkCore;
global using Microsoft.Extensions.Configuration;