diff --git a/frontend/src/Components/Form/ProviderFieldFormGroup.js b/frontend/src/Components/Form/ProviderFieldFormGroup.js index c2f03c21b..637a80c1c 100644 --- a/frontend/src/Components/Form/ProviderFieldFormGroup.js +++ b/frontend/src/Components/Form/ProviderFieldFormGroup.js @@ -64,6 +64,7 @@ function ProviderFieldFormGroup(props) { name, label, helpText, + helpTextWarning, helpLink, placeholder, value, @@ -97,6 +98,7 @@ function ProviderFieldFormGroup(props) { name={name} label={label} helpText={helpText} + helpTextWarning={helpTextWarning} helpLink={helpLink} placeholder={placeholder} value={value} @@ -123,6 +125,7 @@ ProviderFieldFormGroup.propTypes = { name: PropTypes.string.isRequired, label: PropTypes.string.isRequired, helpText: PropTypes.string, + helpTextWarning: PropTypes.string, helpLink: PropTypes.string, placeholder: PropTypes.string, value: PropTypes.any, diff --git a/src/Lidarr.Http/ClientSchema/Field.cs b/src/Lidarr.Http/ClientSchema/Field.cs index 126b5e1c8..a05cbffcd 100644 --- a/src/Lidarr.Http/ClientSchema/Field.cs +++ b/src/Lidarr.Http/ClientSchema/Field.cs @@ -9,6 +9,7 @@ namespace Lidarr.Http.ClientSchema public string Label { get; set; } public string Unit { get; set; } public string HelpText { get; set; } + public string HelpTextWarning { get; set; } public string HelpLink { get; set; } public object Value { get; set; } public string Type { get; set; } diff --git a/src/Lidarr.Http/ClientSchema/SchemaBuilder.cs b/src/Lidarr.Http/ClientSchema/SchemaBuilder.cs index 2346132cb..404d24c99 100644 --- a/src/Lidarr.Http/ClientSchema/SchemaBuilder.cs +++ b/src/Lidarr.Http/ClientSchema/SchemaBuilder.cs @@ -98,6 +98,7 @@ namespace Lidarr.Http.ClientSchema Label = fieldAttribute.Label, Unit = fieldAttribute.Unit, HelpText = fieldAttribute.HelpText, + HelpTextWarning = fieldAttribute.HelpTextWarning, HelpLink = fieldAttribute.HelpLink, Order = fieldAttribute.Order, Advanced = fieldAttribute.Advanced, diff --git a/src/NzbDrone.Api.Test/ClientSchemaTests/SchemaBuilderFixture.cs b/src/NzbDrone.Api.Test/ClientSchemaTests/SchemaBuilderFixture.cs index 2cb87a17d..de47d96ae 100644 --- a/src/NzbDrone.Api.Test/ClientSchemaTests/SchemaBuilderFixture.cs +++ b/src/NzbDrone.Api.Test/ClientSchemaTests/SchemaBuilderFixture.cs @@ -27,35 +27,36 @@ namespace NzbDrone.Api.Test.ClientSchemaTests var schema = SchemaBuilder.ToSchema(model); - schema.Should().Contain(c => - c.Order == 1 && c.Name == "lastName" && c.Label == "Last Name" && c.HelpText == "Your Last Name" && - (string)c.Value == "Poop"); - schema.Should().Contain(c => - c.Order == 0 && c.Name == "firstName" && c.Label == "First Name" && c.HelpText == "Your First Name" && - (string)c.Value == "Bob"); + schema.Should().Contain(c => c.Order == 1 && c.Name == "lastName" && c.Label == "Last Name" && c.HelpText == "Your Last Name" && c.HelpTextWarning == "Mandatory Last Name" && (string)c.Value == "Poop"); + schema.Should().Contain(c => c.Order == 0 && c.Name == "firstName" && c.Label == "First Name" && c.HelpText == "Your First Name" && c.HelpTextWarning == "Mandatory First Name" && (string)c.Value == "Bob"); } [Test] public void schema_should_have_nested_fields() { - var model = new NestedTestModel(); - model.Name.FirstName = "Bob"; - model.Name.LastName = "Poop"; + var model = new NestedTestModel + { + Name = + { + FirstName = "Bob", + LastName = "Poop" + } + }; var schema = SchemaBuilder.ToSchema(model); - schema.Should().Contain(c => c.Order == 0 && c.Name == "name.firstName" && c.Label == "First Name" && c.HelpText == "Your First Name" && (string)c.Value == "Bob"); - schema.Should().Contain(c => c.Order == 1 && c.Name == "name.lastName" && c.Label == "Last Name" && c.HelpText == "Your Last Name" && (string)c.Value == "Poop"); + schema.Should().Contain(c => c.Order == 0 && c.Name == "name.firstName" && c.Label == "First Name" && c.HelpText == "Your First Name" && c.HelpTextWarning == "Mandatory First Name" && (string)c.Value == "Bob"); + schema.Should().Contain(c => c.Order == 1 && c.Name == "name.lastName" && c.Label == "Last Name" && c.HelpText == "Your Last Name" && c.HelpTextWarning == "Mandatory Last Name" && (string)c.Value == "Poop"); schema.Should().Contain(c => c.Order == 2 && c.Name == "quote" && c.Label == "Quote" && c.HelpText == "Your Favorite Quote"); } } public class TestModel { - [FieldDefinition(0, Label = "First Name", HelpText = "Your First Name")] + [FieldDefinition(0, Label = "First Name", HelpText = "Your First Name", HelpTextWarning = "Mandatory First Name")] public string FirstName { get; set; } - [FieldDefinition(1, Label = "Last Name", HelpText = "Your Last Name")] + [FieldDefinition(1, Label = "Last Name", HelpText = "Your Last Name", HelpTextWarning = "Mandatory Last Name")] public string LastName { get; set; } public string Other { get; set; } diff --git a/src/NzbDrone.Core/Annotations/FieldDefinitionAttribute.cs b/src/NzbDrone.Core/Annotations/FieldDefinitionAttribute.cs index 1eabc5e7b..3e0a97b28 100644 --- a/src/NzbDrone.Core/Annotations/FieldDefinitionAttribute.cs +++ b/src/NzbDrone.Core/Annotations/FieldDefinitionAttribute.cs @@ -15,6 +15,7 @@ namespace NzbDrone.Core.Annotations public string Label { get; set; } public string Unit { get; set; } public string HelpText { get; set; } + public string HelpTextWarning { get; set; } public string HelpLink { get; set; } public FieldType Type { get; set; } public bool Advanced { get; set; }