mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-10-21 03:14:10 +08:00
Squash
This commit is contained in:
@@ -58,28 +58,19 @@ namespace Orchard.Core.Common.Drivers {
|
|||||||
|
|
||||||
protected override DriverResult Editor(ContentPart part, TextField field, IUpdateModel updater, dynamic shapeHelper) {
|
protected override DriverResult Editor(ContentPart part, TextField field, IUpdateModel updater, dynamic shapeHelper) {
|
||||||
|
|
||||||
var viewModel = new TextFieldDriverViewModel {
|
var viewModel = new TextFieldDriverViewModel();
|
||||||
Field = field,
|
|
||||||
Text = field.Value,
|
|
||||||
Settings = field.PartFieldDefinition.Settings.GetModel<TextFieldSettings>(),
|
|
||||||
ContentItem = part.ContentItem
|
|
||||||
};
|
|
||||||
|
|
||||||
if (updater.TryUpdateModel(viewModel, GetPrefix(field, part), null, null)) {
|
if (updater.TryUpdateModel(viewModel, GetPrefix(field, part), null, null)) {
|
||||||
if (viewModel.Settings.Required && string.IsNullOrWhiteSpace(viewModel.Text)) {
|
|
||||||
updater.AddModelError("Text", T("The field {0} is mandatory", T(field.DisplayName)));
|
|
||||||
return ContentShape("Fields_Common_Text_Edit", GetDifferentiator(field, part),
|
|
||||||
() => shapeHelper.EditorTemplate(TemplateName: "Fields.Common.Text.Edit", Model: viewModel, Prefix: GetPrefix(field, part)));
|
|
||||||
}
|
|
||||||
|
|
||||||
field.Value = viewModel.Text;
|
|
||||||
var settings = field.PartFieldDefinition.Settings.GetModel<TextFieldSettings>();
|
var settings = field.PartFieldDefinition.Settings.GetModel<TextFieldSettings>();
|
||||||
|
|
||||||
if (String.IsNullOrEmpty(field.Value) && !String.IsNullOrEmpty(settings.DefaultValue)) {
|
field.Value = viewModel.Text;
|
||||||
|
|
||||||
|
if (String.IsNullOrWhiteSpace(field.Value) && !String.IsNullOrWhiteSpace(settings.DefaultValue)) {
|
||||||
field.Value = settings.DefaultValue;
|
field.Value = settings.DefaultValue;
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
field.Value = viewModel.Text;
|
if (settings.Required && String.IsNullOrWhiteSpace(field.Value)) {
|
||||||
|
updater.AddModelError("Text", T("The field {0} is mandatory", T(field.DisplayName)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -1,13 +1,15 @@
|
|||||||
@model Orchard.Core.Common.ViewModels.TextFieldDriverViewModel
|
@model Orchard.Core.Common.ViewModels.TextFieldDriverViewModel
|
||||||
|
@{
|
||||||
|
var isRequired = Model.Settings.Required && String.IsNullOrWhiteSpace(Model.Settings.DefaultValue);
|
||||||
|
}
|
||||||
<fieldset>
|
<fieldset>
|
||||||
<label for="@Html.FieldIdFor(m => m.Text)" @if(Model.Settings.Required) { <text>class="required"</text> }>@Model.Field.DisplayName</label>
|
<label for="@Html.FieldIdFor(m => m.Text)" @if(Model.Settings.Required) { <text>class="required"</text> }>@Model.Field.DisplayName</label>
|
||||||
@if (String.IsNullOrWhiteSpace(Model.Settings.Flavor)) {
|
@if (String.IsNullOrWhiteSpace(Model.Settings.Flavor)) {
|
||||||
@(Model.Settings.Required ? Html.TextBoxFor(m => m.Text, new {@class = "text", required = "required"}) : Html.TextBoxFor(m => m.Text, new {@class = "text"}))
|
@(isRequired ? Html.TextBoxFor(m => m.Text, new {@class = "text", required = "required"}) : Html.TextBoxFor(m => m.Text, new {@class = "text"}))
|
||||||
@Html.ValidationMessageFor(m => m.Text)
|
@Html.ValidationMessageFor(m => m.Text)
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@Display.Body_Editor(Text: Model.Text, EditorFlavor: Model.Settings.Flavor, Required: Model.Settings.Required, ContentItem: Model.ContentItem)
|
@Display.Body_Editor(Text: Model.Text, EditorFlavor: Model.Settings.Flavor, Required: isRequired, ContentItem: Model.ContentItem)
|
||||||
}
|
}
|
||||||
@if (HasText(Model.Settings.Hint)) {
|
@if (HasText(Model.Settings.Hint)) {
|
||||||
<span class="hint">@Model.Settings.Hint</span>
|
<span class="hint">@Model.Settings.Hint</span>
|
||||||
|
@@ -2,6 +2,7 @@
|
|||||||
using Orchard.ContentManagement.Drivers;
|
using Orchard.ContentManagement.Drivers;
|
||||||
using Orchard.Core.Common.Fields;
|
using Orchard.Core.Common.Fields;
|
||||||
using Orchard.Core.Common.Settings;
|
using Orchard.Core.Common.Settings;
|
||||||
|
using Orchard.Localization;
|
||||||
using Orchard.Tokens;
|
using Orchard.Tokens;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
@@ -14,13 +15,20 @@ namespace Orchard.Fields.Drivers {
|
|||||||
|
|
||||||
public TextFieldDriver(ITokenizer tokenizer) {
|
public TextFieldDriver(ITokenizer tokenizer) {
|
||||||
_tokenizer = tokenizer;
|
_tokenizer = tokenizer;
|
||||||
|
T = NullLocalizer.Instance;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Localizer T { get; set; }
|
||||||
|
|
||||||
protected override DriverResult Editor(ContentPart part, TextField field, IUpdateModel updater, dynamic shapeHelper) {
|
protected override DriverResult Editor(ContentPart part, TextField field, IUpdateModel updater, dynamic shapeHelper) {
|
||||||
var settings = field.PartFieldDefinition.Settings.GetModel<TextFieldSettings>();
|
var settings = field.PartFieldDefinition.Settings.GetModel<TextFieldSettings>();
|
||||||
|
|
||||||
if (!String.IsNullOrEmpty(settings.DefaultValue) && (String.IsNullOrEmpty(field.Value) || field.Value.Equals(settings.DefaultValue))) {
|
if (!String.IsNullOrWhiteSpace(settings.DefaultValue) && (String.IsNullOrWhiteSpace(field.Value) || field.Value.Equals(settings.DefaultValue))) {
|
||||||
field.Value = _tokenizer.Replace(settings.DefaultValue, new Dictionary<string, object> { { "Content", part.ContentItem } });
|
field.Value = _tokenizer.Replace(settings.DefaultValue, new Dictionary<string, object> { { "Content", part.ContentItem } });
|
||||||
|
|
||||||
|
if (settings.Required && String.IsNullOrWhiteSpace(field.Value)) {
|
||||||
|
updater.AddModelError("Text", T("The field {0} is mandatory", T(field.DisplayName)));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
|
Reference in New Issue
Block a user