Validation changes, moved JS for Client-Side validation to Settings/Index.aspx
Still need to sort out validation for Quality Cutoff (not part of the Model so it seems to cause issues).
This commit is contained in:
parent
baeda11ece
commit
b2524cf697
|
@ -11,6 +11,7 @@ namespace NzbDrone.Core.Repository.Quality
|
|||
[SubSonicPrimaryKey(true)]
|
||||
public int ProfileId { get; set; }
|
||||
|
||||
[Required (ErrorMessage = "A Name is Required")]
|
||||
[DisplayName("Name")]
|
||||
public string Name { get; set; }
|
||||
public bool UserProfile { get; set; } //Allows us to tell the difference between default and user profiles
|
||||
|
|
|
@ -304,36 +304,38 @@ namespace NzbDrone.Web.Controllers
|
|||
{
|
||||
try
|
||||
{
|
||||
_configProvider.SetValue("DefaultQualityProfile", data.DefaultProfileId.ToString());
|
||||
|
||||
foreach (var dbProfile in _qualityProvider.GetAllProfiles().Where(q => q.UserProfile))
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
if (!data.UserProfiles.Exists(p => p.ProfileId == dbProfile.ProfileId))
|
||||
_qualityProvider.Delete(dbProfile.ProfileId);
|
||||
}
|
||||
_configProvider.SetValue("DefaultQualityProfile", data.DefaultProfileId.ToString());
|
||||
|
||||
|
||||
foreach (var profile in data.UserProfiles)
|
||||
{
|
||||
Logger.Debug(String.Format("Updating User Profile: {0}", profile));
|
||||
|
||||
profile.Allowed = new List<QualityTypes>();
|
||||
foreach (var quality in profile.AllowedString.Split(','))
|
||||
foreach (var dbProfile in _qualityProvider.GetAllProfiles().Where(q => q.UserProfile))
|
||||
{
|
||||
var qType = (QualityTypes)Enum.Parse(typeof(QualityTypes), quality);
|
||||
profile.Allowed.Add(qType);
|
||||
if (!data.UserProfiles.Exists(p => p.ProfileId == dbProfile.ProfileId))
|
||||
_qualityProvider.Delete(dbProfile.ProfileId);
|
||||
}
|
||||
|
||||
//If the Cutoff value selected is not in the allowed list then use the last allowed value, this should be validated on submit
|
||||
if (!profile.Allowed.Contains(profile.Cutoff))
|
||||
throw new InvalidOperationException("Invalid Cutoff Value");
|
||||
//profile.Cutoff = profile.Allowed.Last();
|
||||
foreach (var profile in data.UserProfiles)
|
||||
{
|
||||
Logger.Debug(String.Format("Updating User Profile: {0}", profile));
|
||||
|
||||
if (profile.ProfileId > 0)
|
||||
_qualityProvider.Update(profile);
|
||||
profile.Allowed = new List<QualityTypes>();
|
||||
foreach (var quality in profile.AllowedString.Split(','))
|
||||
{
|
||||
var qType = (QualityTypes) Enum.Parse(typeof (QualityTypes), quality);
|
||||
profile.Allowed.Add(qType);
|
||||
}
|
||||
|
||||
else
|
||||
_qualityProvider.Add(profile);
|
||||
//If the Cutoff value selected is not in the allowed list then use the last allowed value, this should be validated on submit
|
||||
if (!profile.Allowed.Contains(profile.Cutoff))
|
||||
throw new InvalidOperationException("Invalid Cutoff Value");
|
||||
//profile.Cutoff = profile.Allowed.Last();
|
||||
|
||||
if (profile.ProfileId > 0)
|
||||
_qualityProvider.Update(profile);
|
||||
|
||||
else
|
||||
_qualityProvider.Add(profile);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -13,7 +13,6 @@ namespace NzbDrone.Web.Models
|
|||
{
|
||||
public List<QualityProfile> Profiles { get; set; }
|
||||
public List<QualityProfile> UserProfiles { get; set; }
|
||||
//public List<QualityTypes> Qualities { get; set; }
|
||||
|
||||
[DisplayName("Default Quality Profile")]
|
||||
public int DefaultProfileId { get; set; }
|
||||
|
|
|
@ -23,8 +23,6 @@
|
|||
}
|
||||
</script>
|
||||
|
||||
<script src="/Scripts/MicrosoftAjax.js" type="text/javascript"></script>
|
||||
<script src="/Scripts/MicrosoftMvcValidation.js" type="text/javascript"></script>
|
||||
<% Html.EnableClientValidation(); %>
|
||||
|
||||
<% using (Html.BeginForm("SaveDownloads", "Settings", FormMethod.Post, new { id = "form", name = "form" }))
|
||||
|
|
|
@ -26,11 +26,13 @@
|
|||
|
||||
</script>
|
||||
|
||||
<% Html.EnableClientValidation(); %>
|
||||
|
||||
<% using (Html.BeginForm("SaveQuality", "Settings", FormMethod.Post, new { id = "form", name = "form" }))
|
||||
{%>
|
||||
<fieldset>
|
||||
<legend>Quality</legend>
|
||||
<%: Html.ValidationSummary(true, "Unable to save your settings. Please correct the errors and try again.") %>
|
||||
<%--<%: Html.ValidationSummary(true, "Unable to save your settings. Please correct the errors and try again.") %>--%>
|
||||
|
||||
<div class="rightSide" style="float: right; width: 65%;">
|
||||
<div id="defaultQualityDiv" style="float: left; margin: 30px;">
|
||||
|
|
Loading…
Reference in New Issue