Files
Orchard/src/Orchard.Web/Modules/Orchard.AntiSpam/Settings/ReCaptchaPartSettingsEvents.cs
Sebastien Ros 1e09bee429 Improving reCaptcha integration in comments
--HG--
branch : 1.x
extra : rebase_source : 2eeed5864e36f28f721817565816e25589453d07
2012-11-02 12:51:47 -07:00

41 lines
1.6 KiB
C#

using System.Collections.Generic;
using System.Globalization;
using Orchard.ContentManagement;
using Orchard.ContentManagement.MetaData;
using Orchard.ContentManagement.MetaData.Builders;
using Orchard.ContentManagement.MetaData.Models;
using Orchard.ContentManagement.ViewModels;
using Orchard.Localization;
namespace Orchard.AntiSpam.Settings {
public class ReCaptchaPartSettingsEvents : ContentDefinitionEditorEventsBase {
public Localizer T { get; set; }
public override IEnumerable<TemplateViewModel> TypePartEditor(ContentTypePartDefinition definition) {
if (definition.PartDefinition.Name != "ReCaptchaPart")
yield break;
var settings = definition.Settings.GetModel<ReCaptchaPartSettings>();
yield return DefinitionTemplate(settings);
}
public override IEnumerable<TemplateViewModel> TypePartEditorUpdate(ContentTypePartDefinitionBuilder builder, IUpdateModel updateModel) {
if (builder.Name != "ReCaptchaPart")
yield break;
var settings = new ReCaptchaPartSettings {
};
if (updateModel.TryUpdateModel(settings, "ReCaptchaPartSettings", null, null)) {
builder.WithSetting("ReCaptchaPartSettings.PublicKey", settings.PublicKey);
builder.WithSetting("ReCaptchaPartSettings.PrivateKey", settings.PrivateKey);
builder.WithSetting("ReCaptchaPartSettings.ByPassAuthenticated", settings.ByPassAuthenticated.ToString(CultureInfo.InvariantCulture));
}
yield return DefinitionTemplate(settings);
}
}
}