From 63308f207e268cc0af8c7b16394bdfbf33c62b4d Mon Sep 17 00:00:00 2001 From: Nicholas Mayne Date: Sat, 19 Jul 2014 19:02:33 +0100 Subject: [PATCH] #20250: Allowing user to change the text of the submit button on custom forms. Work Item: 20250 --- .../Orchard.CustomForms/Drivers/CustomFormPartDriver.cs | 2 ++ src/Orchard.Web/Modules/Orchard.CustomForms/Migrations.cs | 6 ++++++ .../Modules/Orchard.CustomForms/Models/CustomFormPart.cs | 7 ++++++- .../Orchard.CustomForms/Models/CustomFormPartRecord.cs | 2 ++ .../Views/EditorTemplates/Parts.CustomForm.Fields.cshtml | 6 ++++++ .../Modules/Orchard.CustomForms/Views/Item/Create.cshtml | 2 +- .../Views/Parts.CustomForm.Wrapper.cshtml | 2 +- 7 files changed, 24 insertions(+), 3 deletions(-) diff --git a/src/Orchard.Web/Modules/Orchard.CustomForms/Drivers/CustomFormPartDriver.cs b/src/Orchard.Web/Modules/Orchard.CustomForms/Drivers/CustomFormPartDriver.cs index 306b142bd..ee942bd46 100644 --- a/src/Orchard.Web/Modules/Orchard.CustomForms/Drivers/CustomFormPartDriver.cs +++ b/src/Orchard.Web/Modules/Orchard.CustomForms/Drivers/CustomFormPartDriver.cs @@ -65,6 +65,7 @@ namespace Orchard.CustomForms.Drivers { IfNotNull(context.Attribute(part.PartDefinition.Name, "Message"), x => part.Record.Message = x); IfNotNull(context.Attribute(part.PartDefinition.Name, "Redirect"), x => part.Record.Redirect = Boolean.Parse(x)); IfNotNull(context.Attribute(part.PartDefinition.Name, "RedirectUrl"), x => part.Record.RedirectUrl = x); + IfNotNull(context.Attribute(part.PartDefinition.Name, "SubmitButtonText"), x => part.Record.SubmitButtonText = x); } private static void IfNotNull(T value, Action then) { @@ -80,6 +81,7 @@ namespace Orchard.CustomForms.Drivers { context.Element(part.PartDefinition.Name).SetAttributeValue("Message", part.Record.Message); context.Element(part.PartDefinition.Name).SetAttributeValue("Redirect", part.Record.Redirect); context.Element(part.PartDefinition.Name).SetAttributeValue("RedirectUrl", part.Record.RedirectUrl); + context.Element(part.PartDefinition.Name).SetAttributeValue("SubmitButtonText", part.Record.SubmitButtonText); } } } \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.CustomForms/Migrations.cs b/src/Orchard.Web/Modules/Orchard.CustomForms/Migrations.cs index 011ac119a..bb26d6abc 100644 --- a/src/Orchard.Web/Modules/Orchard.CustomForms/Migrations.cs +++ b/src/Orchard.Web/Modules/Orchard.CustomForms/Migrations.cs @@ -53,6 +53,12 @@ namespace Orchard.CustomForms { return 3; } + public int UpdateFrom3() { + SchemaBuilder.AlterTable("CustomFormPartRecord", table => table.AddColumn("SubmitButtonText")); + + return 4; + } + public void Uninstall() { ContentDefinitionManager.DeleteTypeDefinition("CustomForm"); } diff --git a/src/Orchard.Web/Modules/Orchard.CustomForms/Models/CustomFormPart.cs b/src/Orchard.Web/Modules/Orchard.CustomForms/Models/CustomFormPart.cs index bc05b3738..8533ec41b 100644 --- a/src/Orchard.Web/Modules/Orchard.CustomForms/Models/CustomFormPart.cs +++ b/src/Orchard.Web/Modules/Orchard.CustomForms/Models/CustomFormPart.cs @@ -1,7 +1,6 @@ using System.ComponentModel.DataAnnotations; using Orchard.ContentManagement; using Orchard.ContentManagement.Aspects; -using Orchard.Core.Title.Models; namespace Orchard.CustomForms.Models { public class CustomFormPart : ContentPart { @@ -36,6 +35,12 @@ namespace Orchard.CustomForms.Models { set { Record.RedirectUrl = value; } } + [Required] + public string SubmitButtonText { + get { return Record.SubmitButtonText; } + set { Record.SubmitButtonText = value; } + } + public string Title { get { return this.As().Title; } } diff --git a/src/Orchard.Web/Modules/Orchard.CustomForms/Models/CustomFormPartRecord.cs b/src/Orchard.Web/Modules/Orchard.CustomForms/Models/CustomFormPartRecord.cs index 5f153f750..2e2bb90fb 100644 --- a/src/Orchard.Web/Modules/Orchard.CustomForms/Models/CustomFormPartRecord.cs +++ b/src/Orchard.Web/Modules/Orchard.CustomForms/Models/CustomFormPartRecord.cs @@ -14,5 +14,7 @@ namespace Orchard.CustomForms.Models { [StringLengthMax] public virtual string RedirectUrl { get; set; } public virtual bool Redirect { get; set; } + + public virtual string SubmitButtonText { get; set; } } } \ No newline at end of file diff --git a/src/Orchard.Web/Modules/Orchard.CustomForms/Views/EditorTemplates/Parts.CustomForm.Fields.cshtml b/src/Orchard.Web/Modules/Orchard.CustomForms/Views/EditorTemplates/Parts.CustomForm.Fields.cshtml index c16283a17..9ec6dbf08 100644 --- a/src/Orchard.Web/Modules/Orchard.CustomForms/Views/EditorTemplates/Parts.CustomForm.Fields.cshtml +++ b/src/Orchard.Web/Modules/Orchard.CustomForms/Views/EditorTemplates/Parts.CustomForm.Fields.cshtml @@ -31,6 +31,12 @@ +
+ @Html.LabelFor(m => m.CustomFormPart.SubmitButtonText) + @Html.TextBoxFor(m => m.CustomFormPart.SubmitButtonText, new { @class = "text large", @Value = (Model.CustomFormPart.SubmitButtonText ?? @T("Submit").Text) }) + @T("The text of the submit button.") +
+
@Html.EditorFor(m => m.CustomFormPart.Redirect) diff --git a/src/Orchard.Web/Modules/Orchard.CustomForms/Views/Item/Create.cshtml b/src/Orchard.Web/Modules/Orchard.CustomForms/Views/Item/Create.cshtml index a225d7c50..e4a36fadb 100644 --- a/src/Orchard.Web/Modules/Orchard.CustomForms/Views/Item/Create.cshtml +++ b/src/Orchard.Web/Modules/Orchard.CustomForms/Views/Item/Create.cshtml @@ -18,7 +18,7 @@ @Display(Model)
- +
} diff --git a/src/Orchard.Web/Modules/Orchard.CustomForms/Views/Parts.CustomForm.Wrapper.cshtml b/src/Orchard.Web/Modules/Orchard.CustomForms/Views/Parts.CustomForm.Wrapper.cshtml index 3a7e8a34b..e76d43067 100644 --- a/src/Orchard.Web/Modules/Orchard.CustomForms/Views/Parts.CustomForm.Wrapper.cshtml +++ b/src/Orchard.Web/Modules/Orchard.CustomForms/Views/Parts.CustomForm.Wrapper.cshtml @@ -17,6 +17,6 @@ @Html.Hidden("returnUrl", Request.RawUrl);
- +
}