Web.Api: SettingsController: added new model for timezones, changed api method

This commit is contained in:
Daniil Senkiv 2019-10-30 14:33:27 +03:00
parent 3d5d7f24f1
commit a7ab8f48e0
4 changed files with 27 additions and 4 deletions

View File

@ -146,7 +146,7 @@ namespace ASC.Api.Settings
}
[Read("timezones")]
public IEnumerable<TimeZoneInfo> GetTimeZones()
public List<object> GetTimeZones()
{
var timeZones = TimeZoneInfo.GetSystemTimeZones().ToList();
@ -155,7 +155,22 @@ namespace ASC.Api.Settings
timeZones.Add(TimeZoneInfo.Utc);
}
return timeZones;
List<object> listOfTimezones = new List<object>();
foreach (var tz in timeZones.OrderBy(z => z.BaseUtcOffset))
{
var displayName = tz.DisplayName;
if (tz.StandardName.StartsWith("GMT") && tz.BaseUtcOffset != TimeSpan.Zero)
{
displayName = string.Format("(UTC{0}{1}) ", tz.BaseUtcOffset < TimeSpan.Zero ? "-" : "+", tz.BaseUtcOffset.ToString(@"hh\:mm")) + tz.Id;
}
listOfTimezones.Add(new TimezonesModel { Id = tz.Id, DisplayName = displayName });
}
return listOfTimezones;
}
[Read("recalculatequota")]

View File

@ -0,0 +1,8 @@
namespace ASC.Web.Api.Models
{
public class TimezonesModel
{
public string Id { get; set; }
public string DisplayName { get; set; }
}
}

View File

@ -17,7 +17,7 @@ const Settings = ({ currentProductId, setCurrentProductId, language }) => {
currentProductId !== 'settings' && setCurrentProductId('settings');
i18n.changeLanguage(language);
}, [language]);
console.log("Settings render");
console.log("Settings render, LANG=", language);
return (
<I18nextProvider i18n={i18n}>
<Suspense

View File

@ -14,7 +14,7 @@ const mapCulturesToArray = (cultures, t) => {
const mapTimezonesToArray = (timezones) => {
return timezones.map((timezone) => {
return { key: timezone.Id, label: timezone.DisplayName };
return { key: timezone.id, label: timezone.displayName };
});
};