diff --git a/app/Umbraco/Umbraco.Archetype/Api/ArchetypeDataTypeController.cs b/app/Umbraco/Umbraco.Archetype/Api/ArchetypeDataTypeController.cs index a82b980..63c8a99 100644 --- a/app/Umbraco/Umbraco.Archetype/Api/ArchetypeDataTypeController.cs +++ b/app/Umbraco/Umbraco.Archetype/Api/ArchetypeDataTypeController.cs @@ -20,6 +20,9 @@ namespace Archetype.Api [PluginController("ArchetypeApi")] public class ArchetypeDataTypeController : UmbracoAuthorizedJsonController { + private static DateTime _lastVersionCheck; + private const int IntervalInDaysBetweenVersionChecks = 7; + public IEnumerable GetAllPropertyEditors() { return @@ -30,7 +33,7 @@ namespace Archetype.Api /// /// Gets all datatypes. /// - /// + /// System.Object. public object GetAll() { var dataTypes = Services.DataTypeService.GetAllDataTypeDefinitions(); @@ -139,7 +142,7 @@ namespace Archetype.Api [HttpPost] public object CheckForUpdates() { - if (!ArchetypeGlobalSettings.Instance.CheckForUpdates) + if (!ArchetypeGlobalSettings.Instance.CheckForUpdates || !IsItTimeToCheck()) { return new { @@ -148,6 +151,7 @@ namespace Archetype.Api } var updateNotificationModel = ArchetypeHelper.Instance.CheckForUpdates(); + _lastVersionCheck = DateTime.UtcNow; return new { @@ -158,5 +162,10 @@ namespace Archetype.Api url = updateNotificationModel.Url }; } + + internal bool IsItTimeToCheck() + { + return _lastVersionCheck.AddDays(IntervalInDaysBetweenVersionChecks) < DateTime.UtcNow; + } } }