Quota: fix

This commit is contained in:
Nikolay Rechkin 2022-09-23 17:14:55 +03:00
parent 581598e5d7
commit 28802b6926
4 changed files with 13 additions and 3 deletions

View File

@ -200,7 +200,7 @@ public class EmployeeFullDtoHelper : EmployeeDtoHelper
result.UsedSpace = Math.Max(0, _userManager.FindUserQuotaRows(_context.Tenant.Id, userInfo.Id).Where(r => !string.IsNullOrEmpty(r.Tag)).Sum(r => r.Counter));
var quotaSettings = _settingsManager.Load<TenantUserQuotaSettings>();
var userQuotaSettings = _settingsManager.LoadForUser<UserQuotaSettings>(userInfo.IsSSO() && userInfo.Sid != null ? Guid.Parse(userInfo.Sid) : userInfo.Id);
var userQuotaSettings = _settingsManager.LoadForUser<UserQuotaSettings>(userInfo);
if (quotaSettings.EnableUserQuota)
{

View File

@ -254,6 +254,11 @@ public class DbSettingsManager
return LoadSettingsFor<T>(TenantID, userId);
}
public T LoadForUser<T>(UserInfo user) where T : class, ISettings<T>
{
return LoadSettingsFor<T>(TenantID, user.IsLDAP() ? Guid.Parse(user.Sid) : user.Id);
}
public T LoadForDefaultTenant<T>() where T : class, ISettings<T>
{
return LoadForTenant<T>(Tenant.DefaultTenant);
@ -279,6 +284,11 @@ public class DbSettingsManager
return SaveSettingsFor(data, TenantID, userId);
}
public bool SaveForUser<T>(T data, UserInfo user) where T : class, ISettings<T>
{
return SaveSettingsFor(data, TenantID, user.IsLDAP() ? Guid.Parse(user.Sid) : user.Id);
}
public bool SaveForDefaultTenant<T>(T data) where T : class, ISettings<T>
{
return SaveForTenant(data, Tenant.DefaultTenant);

View File

@ -414,7 +414,7 @@ internal class FileDao : AbstractDao, IFileDao<int>
var user = _userManager.GetUsers(file.Id == default ? _authContext.CurrentAccount.ID : file.CreateBy);
var quotaSettings = _settingsManager.Load<TenantUserQuotaSettings>();
var userQuotaSettings = _settingsManager.LoadForUser<UserQuotaSettings>(user.IsLDAP() ? Guid.Parse(user.Sid) : user.Id);
var userQuotaSettings = _settingsManager.LoadForUser<UserQuotaSettings>(user);
if (quotaSettings.EnableUserQuota && userQuotaSettings.UserQuota != -1)
{

View File

@ -1124,7 +1124,7 @@ public class UserController : PeopleControllerBase
var quotaSettings = _settingsManager.Load<TenantUserQuotaSettings>();
_settingsManager.SaveForUser(new UserQuotaSettings { UserQuota = inDto.Quota }, user.IsLDAP() ? Guid.Parse(user.Sid) : user.Id);
_settingsManager.SaveForUser(new UserQuotaSettings { UserQuota = inDto.Quota }, user);
yield return await _employeeFullDtoHelper.GetFull(user);
}