[Fixes #7132] Orchard.Fields - Inconsistent use of mandatory / required (#7134)

* [Fixes #5708] Orchard.Fields - Inconsistent use of mandatory / required

* finish off updating messages + tests

* fix broken test
This commit is contained in:
Matthew Harris
2016-09-22 21:02:10 +01:00
committed by Sebastien Ros
parent 0082d55914
commit de0a173916
24 changed files with 35 additions and 35 deletions

View File

@@ -73,4 +73,4 @@ Scenario: Creating and using Boolean fields
| name | value |
| Event.Active.Value | |
And I hit "Save"
Then I should see "The field Active is mandatory."
Then I should see "The Active field is required."

View File

@@ -211,7 +211,7 @@ this.ScenarioSetup(scenarioInfo);
#line 75
testRunner.And("I hit \"Save\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And ");
#line 76
testRunner.Then("I should see \"The field Active is mandatory.\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then ");
testRunner.Then("I should see \"The Active field is required.\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then ");
#line hidden
this.ScenarioCleanup();
}

View File

@@ -106,7 +106,7 @@ Scenario: Creating and using Enumeration fields
And I hit "Save"
And I go to "Admin/Contents/Create/Event"
And I hit "Save"
Then I should see "The field Location is mandatory."
Then I should see "The Location field is required."
# The default value should be proposed on creation
When I go to "Admin/ContentTypes/Edit/Event"

View File

@@ -272,7 +272,7 @@ this.ScenarioSetup(scenarioInfo);
#line 108
testRunner.And("I hit \"Save\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And ");
#line 109
testRunner.Then("I should see \"The field Location is mandatory.\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then ");
testRunner.Then("I should see \"The Location field is required.\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then ");
#line 112
testRunner.When("I go to \"Admin/ContentTypes/Edit/Event\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When ");
#line hidden

View File

@@ -114,7 +114,7 @@ Scenario: Creating and using Input fields
| name | value |
| Event.Contact.Value | |
And I hit "Save"
Then I should see "The field Contact is mandatory."
Then I should see "The Contact field is required."
# Creating an Event content item
When I go to "Admin/Contents/Create/Event"

View File

@@ -271,7 +271,7 @@ this.ScenarioSetup(scenarioInfo);
#line 116
testRunner.And("I hit \"Save\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And ");
#line 117
testRunner.Then("I should see \"The field Contact is mandatory.\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then ");
testRunner.Then("I should see \"The Contact field is required.\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then ");
#line 120
testRunner.When("I go to \"Admin/Contents/Create/Event\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When ");
#line 121

View File

@@ -63,7 +63,7 @@ Scenario: Creating and using media fields
| name | value |
| Event.File.Url | |
And I hit "Save"
Then I should see "The field File is mandatory."
Then I should see "The File field is required."
# The value should be bound
When I go to "Admin/ContentTypes/Edit/Event"
@@ -77,4 +77,4 @@ Scenario: Creating and using media fields
| name | value |
| Event.File.Url | ~/Media/Default/images/Image.png |
And I hit "Save"
Then I should see "The field File must have one of these extensions: jpg"
Then I should see "The File field must have one of these extensions: jpg."

View File

@@ -190,7 +190,7 @@ this.ScenarioSetup(scenarioInfo);
#line 65
testRunner.And("I hit \"Save\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And ");
#line 66
testRunner.Then("I should see \"The field File is mandatory.\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then ");
testRunner.Then("I should see \"The File field is required.\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then ");
#line 69
testRunner.When("I go to \"Admin/ContentTypes/Edit/Event\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When ");
#line hidden
@@ -221,7 +221,7 @@ this.ScenarioSetup(scenarioInfo);
#line 79
testRunner.And("I hit \"Save\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And ");
#line 80
testRunner.Then("I should see \"The field File must have one of these extensions: jpg\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then ");
testRunner.Then("I should see \"The File field must have one of these extensions: jpg.\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then ");
#line hidden
this.ScenarioCleanup();
}

View File

@@ -64,7 +64,7 @@ Scenario: Creating and using numeric fields
| name | value |
| Event.Guests.Value | |
And I hit "Save"
Then I should see "The field Guests is mandatory."
Then I should see "The Guests field is required."
# The value should be bound
When I go to "Admin/ContentTypes/Edit/Event"

View File

@@ -194,7 +194,7 @@ this.ScenarioSetup(scenarioInfo);
#line 66
testRunner.And("I hit \"Save\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And ");
#line 67
testRunner.Then("I should see \"The field Guests is mandatory.\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then ");
testRunner.Then("I should see \"The Guests field is required.\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then ");
#line 70
testRunner.When("I go to \"Admin/ContentTypes/Edit/Event\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When ");
#line hidden

View File

@@ -51,7 +51,7 @@ Scenario: Creating and using Text fields
| name | value |
| Event.Subject.Text | |
And I hit "Save"
Then I should see "The field Subject is mandatory."
Then I should see "The Subject field is required."
# The hint should be displayed
When I go to "Admin/ContentTypes/Edit/Event"

View File

@@ -169,7 +169,7 @@ this.ScenarioSetup(scenarioInfo);
#line 53
testRunner.And("I hit \"Save\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And ");
#line 54
testRunner.Then("I should see \"The field Subject is mandatory.\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then ");
testRunner.Then("I should see \"The Subject field is required.\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then ");
#line 57
testRunner.When("I go to \"Admin/ContentTypes/Edit/Event\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When ");
#line hidden

View File

@@ -69,7 +69,7 @@ namespace Orchard.Core.Common.Drivers {
field.Value = viewModel.Text;
if (settings.Required && String.IsNullOrWhiteSpace(field.Value)) {
updater.AddModelError("Text", T("The field {0} is mandatory", T(field.DisplayName)));
updater.AddModelError("Text", T("The {0} field is required.", T(field.DisplayName)));
}
}

View File

@@ -69,7 +69,7 @@ namespace Orchard.ContentPicker.Drivers {
}
if (settings.Required && field.Ids.Length == 0) {
updater.AddModelError("Id", T("The field {0} is mandatory", field.Name.CamelFriendly()));
updater.AddModelError("Id", T("The {0} field is required.", field.Name.CamelFriendly()));
}
return Editor(part, field, shapeHelper);

View File

@@ -49,7 +49,7 @@ namespace Orchard.Fields.Drivers {
var settings = field.PartFieldDefinition.Settings.GetModel<BooleanFieldSettings>();
if (!settings.Optional && !field.Value.HasValue) {
updater.AddModelError(field.Name, T("The field {0} is mandatory.", T(field.DisplayName)));
updater.AddModelError(field.Name, T("The {0} field is required.", T(field.DisplayName)));
}
}

View File

@@ -143,7 +143,7 @@ namespace Orchard.Fields.Drivers {
value = DateLocalizationServices.ConvertFromLocalizedString(viewModel.Editor.Date, viewModel.Editor.Time, options);
}
catch {
updater.AddModelError(GetPrefix(field, part), T("{0} could not be parsed as a valid date and time.", field.DisplayName));
updater.AddModelError(GetPrefix(field, part), T("{0} could not be parsed as a valid date and time.", T(field.DisplayName)));
}
}
@@ -155,7 +155,7 @@ namespace Orchard.Fields.Drivers {
}
if (settings.Required && (!value.HasValue || (settings.Display != DateTimeFieldDisplays.TimeOnly && value.Value.Date == DateTime.MinValue))) {
updater.AddModelError(GetPrefix(field, part), T("{0} is required.", field.DisplayName));
updater.AddModelError(GetPrefix(field, part), T("{0} is required.", T(field.DisplayName)));
}
field.DateTime = value.HasValue ? value.Value : DateTime.MinValue;

View File

@@ -51,7 +51,7 @@ namespace Orchard.Fields.Drivers {
var settings = field.PartFieldDefinition.Settings.GetModel<EnumerationFieldSettings>();
if (settings.Required && field.SelectedValues.Length == 0) {
updater.AddModelError(field.Name, T("The field {0} is mandatory", T(field.DisplayName)));
updater.AddModelError(field.Name, T("The {0} field is required.", T(field.DisplayName)));
}
}

View File

@@ -49,7 +49,7 @@ namespace Orchard.Fields.Drivers {
var settings = field.PartFieldDefinition.Settings.GetModel<InputFieldSettings>();
if (settings.Required && String.IsNullOrWhiteSpace(field.Value)) {
updater.AddModelError(GetPrefix(field, part), T("The field {0} is mandatory.", T(field.DisplayName)));
updater.AddModelError(GetPrefix(field, part), T("The {0} field is required.", T(field.DisplayName)));
}
}

View File

@@ -51,13 +51,13 @@ namespace Orchard.Fields.Drivers {
var settings = field.PartFieldDefinition.Settings.GetModel<LinkFieldSettings>();
if (settings.Required && String.IsNullOrWhiteSpace(field.Value)) {
updater.AddModelError(GetPrefix(field, part), T("Url is required for {0}", field.DisplayName));
updater.AddModelError(GetPrefix(field, part), T("Url is required for {0}.", T(field.DisplayName)));
}
else if (!String.IsNullOrWhiteSpace(field.Value) && !Uri.IsWellFormedUriString(field.Value, UriKind.RelativeOrAbsolute)) {
updater.AddModelError(GetPrefix(field, part), T("{0} is an invalid url.", field.Value));
}
else if (settings.LinkTextMode == LinkTextMode.Required && String.IsNullOrWhiteSpace(field.Text)) {
updater.AddModelError(GetPrefix(field, part), T("Text is required for {0}.", field.DisplayName));
updater.AddModelError(GetPrefix(field, part), T("Text is required for {0}.", T(field.DisplayName)));
}
}

View File

@@ -68,31 +68,31 @@ namespace Orchard.Fields.Drivers {
if (String.IsNullOrWhiteSpace(viewModel.Value)) {
if (settings.Required) {
updater.AddModelError(GetPrefix(field, part), T("The field {0} is mandatory.", T(field.DisplayName)));
updater.AddModelError(GetPrefix(field, part), T("The {0} field is required.", T(field.DisplayName)));
}
}
else if (!Decimal.TryParse(viewModel.Value, NumberStyles.Any, _cultureInfo.Value, out value)) {
updater.AddModelError(GetPrefix(field, part), T("{0} is an invalid number", field.DisplayName));
updater.AddModelError(GetPrefix(field, part), T("{0} is an invalid number.", T(field.DisplayName)));
}
else {
field.Value = value;
if (settings.Minimum.HasValue && value < settings.Minimum.Value) {
updater.AddModelError(GetPrefix(field, part), T("The value must be greater than {0}", settings.Minimum.Value));
updater.AddModelError(GetPrefix(field, part), T("The value must be greater than {0}.", settings.Minimum.Value));
}
if (settings.Maximum.HasValue && value > settings.Maximum.Value) {
updater.AddModelError(GetPrefix(field, part), T("The value must be less than {0}", settings.Maximum.Value));
updater.AddModelError(GetPrefix(field, part), T("The value must be less than {0}.", settings.Maximum.Value));
}
// checking the number of decimals
if (Math.Round(value, settings.Scale) != value) {
if (settings.Scale == 0) {
updater.AddModelError(GetPrefix(field, part), T("The field {0} must be an integer", field.DisplayName));
updater.AddModelError(GetPrefix(field, part), T("The {0} field must be an integer.", T(field.DisplayName)));
}
else {
updater.AddModelError(GetPrefix(field, part), T("Invalid number of digits for {0}, max allowed: {1}", field.DisplayName, settings.Scale));
updater.AddModelError(GetPrefix(field, part), T("Invalid number of digits for {0}, max allowed: {1}.", T(field.DisplayName), settings.Scale));
}
}
}

View File

@@ -66,7 +66,7 @@ namespace Orchard.MediaLibrary.Drivers {
}
if (settings.Required && field.Ids.Length == 0) {
updater.AddModelError("Id", T("The field {0} is mandatory", field.DisplayName));
updater.AddModelError("Id", T("The {0} field is required.", field.DisplayName));
}
return Editor(part, field, shapeHelper);

View File

@@ -72,11 +72,11 @@ namespace Orchard.MediaPicker.Drivers {
var allItems = _jsonConverter.Deserialize<MediaGalleryItem[]>(field.SelectedItems);
if (settings.Required && allItems.Length == 0) {
updater.AddModelError("SelectedItems", T("The field {0} is mandatory", field.Name.CamelFriendly()));
updater.AddModelError("SelectedItems", T("The {0} field is required.", field.Name.CamelFriendly()));
}
if (!settings.Multiple && allItems.Length > 1) {
updater.AddModelError("SelectedItems", T("The field {0} doesn't accept multiple media items", field.Name.CamelFriendly()));
updater.AddModelError("SelectedItems", T("The {0} field doesn't accept multiple media items.", field.Name.CamelFriendly()));
}
return Editor(part, field, shapeHelper);

View File

@@ -45,11 +45,11 @@ namespace Orchard.MediaPicker.Drivers {
: settings.AllowedExtensions.Split(new[] {' '}, StringSplitOptions.RemoveEmptyEntries);
if (extensions.Any() && field.Url != null && !extensions.Any(x => field.Url.EndsWith(x, StringComparison.OrdinalIgnoreCase))) {
updater.AddModelError("Url", T("The field {0} must have one of these extensions: {1}", field.Name.CamelFriendly(), settings.AllowedExtensions));
updater.AddModelError("Url", T("The {0} field must have one of these extensions: {1}.", field.Name.CamelFriendly(), settings.AllowedExtensions));
}
if (settings.Required && String.IsNullOrWhiteSpace(field.Url)) {
updater.AddModelError("Url", T("The field {0} is mandatory", field.Name.CamelFriendly()));
updater.AddModelError("Url", T("The {0} field is required.", field.Name.CamelFriendly()));
}
}

View File

@@ -74,7 +74,7 @@ namespace Orchard.Taxonomies.Drivers {
var settings = field.PartFieldDefinition.Settings.GetModel<TaxonomyFieldSettings>();
if (settings.Required && !checkedTerms.Any()) {
updater.AddModelError(GetPrefix(field, part), T("The field {0} is mandatory.", T(field.DisplayName)));
updater.AddModelError(GetPrefix(field, part), T("The {0} field is required.", T(field.DisplayName)));
}
else
_taxonomyService.UpdateTerms(part.ContentItem, checkedTerms, field.Name);