diff --git a/src/Orchard.Web/Modules/Orchard.AntiSpam/Handlers/AkismetSettingsPartHandler.cs b/src/Orchard.Web/Modules/Orchard.AntiSpam/Handlers/AkismetSettingsPartHandler.cs index 833bd6884..0c930632e 100644 --- a/src/Orchard.Web/Modules/Orchard.AntiSpam/Handlers/AkismetSettingsPartHandler.cs +++ b/src/Orchard.Web/Modules/Orchard.AntiSpam/Handlers/AkismetSettingsPartHandler.cs @@ -1,7 +1,6 @@ using JetBrains.Annotations; using Orchard.AntiSpam.Models; using Orchard.ContentManagement; -using Orchard.Data; using Orchard.ContentManagement.Handlers; using Orchard.Environment.Extensions; using Orchard.Localization; @@ -10,11 +9,10 @@ namespace Orchard.AntiSpam.Handlers { [UsedImplicitly] [OrchardFeature("Akismet.Filter")] public class AkismetSettingsPartHandler : ContentHandler { - public AkismetSettingsPartHandler(IRepository repository) { + public AkismetSettingsPartHandler() { T = NullLocalizer.Instance; Filters.Add(new ActivatingFilter("Site")); - Filters.Add(StorageFilter.For(repository)); - Filters.Add(new TemplateFilterForRecord("AkismetSettings", "Parts/AntiSpam.AkismetSettings", "spam")); + Filters.Add(new TemplateFilterForPart("AkismetSettings", "Parts/AntiSpam.AkismetSettings", "spam")); } public Localizer T { get; set; } diff --git a/src/Orchard.Web/Modules/Orchard.AntiSpam/Models/AkismetSettingsPart.cs b/src/Orchard.Web/Modules/Orchard.AntiSpam/Models/AkismetSettingsPart.cs index 8a9212c6d..6e5d042ce 100644 --- a/src/Orchard.Web/Modules/Orchard.AntiSpam/Models/AkismetSettingsPart.cs +++ b/src/Orchard.Web/Modules/Orchard.AntiSpam/Models/AkismetSettingsPart.cs @@ -1,6 +1,15 @@ using Orchard.ContentManagement; namespace Orchard.AntiSpam.Models { - public class AkismetSettingsPart : ContentPart { + public class AkismetSettingsPart : ContentPart { + public bool TrustAuthenticatedUsers { + get { return bool.Parse(Get("TrustAuthenticatedUsers") ?? "false"); } + set { Set("TrustAuthenticatedUsers", value.ToString()); } + } + + public string ApiKey { + get { return Get("ApiKey"); } + set { Set("ApiKey", value); } + } } } \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.AntiSpam/Models/AkismetSettingsPartRecord.cs b/src/Orchard.Web/Modules/Orchard.AntiSpam/Models/AkismetSettingsPartRecord.cs deleted file mode 100644 index 6a4b19c6f..000000000 --- a/src/Orchard.Web/Modules/Orchard.AntiSpam/Models/AkismetSettingsPartRecord.cs +++ /dev/null @@ -1,11 +0,0 @@ -using Orchard.ContentManagement.Records; - -namespace Orchard.AntiSpam.Models { - public class AkismetSettingsPartRecord : ContentPartRecord { - - public virtual bool TrustAuthenticatedUsers { get; set; } - - // API key for the Akismet (http://akismet.com/personal/) - public virtual string ApiKey { get; set; } - } -} \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.AntiSpam/Orchard.AntiSpam.csproj b/src/Orchard.Web/Modules/Orchard.AntiSpam/Orchard.AntiSpam.csproj index a3f279be4..01caa6027 100644 --- a/src/Orchard.Web/Modules/Orchard.AntiSpam/Orchard.AntiSpam.csproj +++ b/src/Orchard.Web/Modules/Orchard.AntiSpam/Orchard.AntiSpam.csproj @@ -106,7 +106,6 @@ - diff --git a/src/Orchard.Web/Modules/Orchard.AntiSpam/Services/AkismetSpamFilterProvider.cs b/src/Orchard.Web/Modules/Orchard.AntiSpam/Services/AkismetSpamFilterProvider.cs index 0fc527422..8c93b0455 100644 --- a/src/Orchard.Web/Modules/Orchard.AntiSpam/Services/AkismetSpamFilterProvider.cs +++ b/src/Orchard.Web/Modules/Orchard.AntiSpam/Services/AkismetSpamFilterProvider.cs @@ -19,7 +19,7 @@ namespace Orchard.AntiSpam.Services { public IEnumerable GetSpamFilters() { - var settings = _orchardServices.WorkContext.CurrentSite.As().Record; + var settings = _orchardServices.WorkContext.CurrentSite.As(); if (string.IsNullOrWhiteSpace(settings.ApiKey)) { yield break; diff --git a/src/Orchard.Web/Modules/Orchard.AntiSpam/Views/EditorTemplates/Parts/AntiSpam.AkismetSettings.cshtml b/src/Orchard.Web/Modules/Orchard.AntiSpam/Views/EditorTemplates/Parts/AntiSpam.AkismetSettings.cshtml index f04478962..0f96a6468 100644 --- a/src/Orchard.Web/Modules/Orchard.AntiSpam/Views/EditorTemplates/Parts/AntiSpam.AkismetSettings.cshtml +++ b/src/Orchard.Web/Modules/Orchard.AntiSpam/Views/EditorTemplates/Parts/AntiSpam.AkismetSettings.cshtml @@ -1,4 +1,4 @@ -@model Orchard.AntiSpam.Models.AkismetSettingsPartRecord +@model Orchard.AntiSpam.Models.AkismetSettingsPart @using Orchard.Utility.Extensions;
diff --git a/src/Orchard.Web/Modules/Upgrade/Controllers/InfosetController.cs b/src/Orchard.Web/Modules/Upgrade/Controllers/InfosetController.cs index dfdaf8a7a..fffcd9af6 100644 --- a/src/Orchard.Web/Modules/Upgrade/Controllers/InfosetController.cs +++ b/src/Orchard.Web/Modules/Upgrade/Controllers/InfosetController.cs @@ -76,6 +76,16 @@ namespace Upgrade.Controllers { _upgradeService.ExecuteReader("DROP TABLE " + _upgradeService.GetPrefixedTableName("Orchard_Themes_ThemeSiteSettingsPartRecord"), null); + // AkismetSettingsPartRecord + _upgradeService.ExecuteReader("SELECT * FROM " + _upgradeService.GetPrefixedTableName("Orchard_AntiSpam_AkismetSettingsPartRecord"), + (reader, connection) => { + site.As().Set("AkismetSettingsPart", "TrustAuthenticatedUsers", reader["TrustAuthenticatedUsers"].ToString()); + site.As().Set("AkismetSettingsPart", "ApiKey", reader["ApiKey"].ToString()); + }); + + _upgradeService.ExecuteReader("DROP TABLE " + _upgradeService.GetPrefixedTableName("Orchard_AntiSpam_AkismetSettingsPartRecord"), null); + + _orchardServices.Notifier.Information(T("Site Settings migrated successfully")); return View();