@ -120,29 +120,14 @@ namespace NzbDrone.Web.Controllers
public ActionResult Quality ( )
{
var qualityTypes = new List < QualityTypes > ( ) ;
foreach ( QualityTypes qual in Enum . GetValues ( typeof ( QualityTypes ) ) )
{
qualityTypes . Add ( qual ) ;
}
ViewData [ "Qualities" ] = qualityTypes ;
var profiles = _qualityProvider . All ( ) . ToList ( ) ;
foreach ( var qualityProfile in profiles )
{
qualityProfile . AllowedString = string . Join ( "," , qualityProfile . Allowed ) ;
}
var defaultQualityQualityProfileId = Convert . ToInt32 ( _configProvider . DefaultQualityProfile ) ;
var qualityProfileSelectList = new SelectList ( profiles , "QualityProfileId" , "Name" ) ;
var qualityTypesFromDb = _qualityTypeProvider . All ( ) ;
var model = new QualityModel
{
Profiles = profiles ,
DefaultQualityProfileId = defaultQualityQualityProfileId ,
QualityProfileSelectList = qualityProfileSelectList ,
SdtvMaxSize = qualityTypesFromDb . Single ( q = > q . QualityTypeId = = 1 ) . MaxSize ,
@ -153,6 +138,8 @@ namespace NzbDrone.Web.Controllers
Bluray1080pMaxSize = qualityTypesFromDb . Single ( q = > q . QualityTypeId = = 7 ) . MaxSize
} ;
ViewData [ "Profiles" ] = profiles ;
return View ( model ) ;
}
@ -197,9 +184,9 @@ namespace NzbDrone.Web.Controllers
return View ( model ) ;
}
public ActionResult EpisodeSort ing( )
public ActionResult Nam ing( )
{
var model = new Episode Sort ingModel( ) ;
var model = new Episode Nam ingModel( ) ;
model . SeriesName = _configProvider . SortingIncludeSeriesName ;
model . EpisodeName = _configProvider . SortingIncludeEpisodeTitle ;
@ -239,17 +226,8 @@ namespace NzbDrone.Web.Controllers
return View ( model ) ;
}
public ViewResult AddProfile ( )
public Partial ViewResult AddProfile ( )
{
var qualityTypes = new List < QualityTypes > ( ) ;
foreach ( QualityTypes qual in Enum . GetValues ( typeof ( QualityTypes ) ) )
{
qualityTypes . Add ( qual ) ;
}
ViewData [ "Qualities" ] = qualityTypes ;
var qualityProfile = new QualityProfile
{
Name = "New Profile" ,
@ -257,28 +235,25 @@ namespace NzbDrone.Web.Controllers
Cutoff = QualityTypes . Unknown
} ;
var id = _qualityProvider . Add ( qualityProfile ) ;
qualityProfile . QualityProfileId = id ;
qualityProfile . AllowedString = "Unknown" ;
ViewData [ "ProfileId" ] = id ;
qualityProfile . QualityProfileId = _qualityProvider . Add ( qualityProfile ) ;
return View( "QualityProfileItem" , qualityProfile ) ;
return GetQualityProfileView ( qualityProfile ) ;
}
public Action Result GetQualityProfileView ( QualityProfile profile )
public PartialView Result GetQualityProfileView ( QualityProfile profile )
{
var qualityTypes = new List < QualityTypes > ( ) ;
foreach ( QualityTypes qual in Enum . GetValues ( typeof ( QualityTypes ) ) )
{
qualityTypes . Add ( qual ) ;
}
ViewData [ "Qualities" ] = qualityTypes ;
ViewData [ "ProfileId" ] = profile . QualityProfileId ;
return PartialView ( "QualityProfileItem" , profile ) ;
var model = new QualityProfileModel ( ) ;
model . QualityProfileId = profile . QualityProfileId ;
model . Name = profile . Name ;
model . Allowed = profile . Allowed ;
model . Sdtv = profile . Allowed . Contains ( QualityTypes . SDTV ) ;
model . Dvd = profile . Allowed . Contains ( QualityTypes . DVD ) ;
model . Hdtv = profile . Allowed . Contains ( QualityTypes . HDTV ) ;
model . Webdl = profile . Allowed . Contains ( QualityTypes . WEBDL ) ;
model . Bluray720p = profile . Allowed . Contains ( QualityTypes . Bluray720p ) ;
model . Bluray1080p = profile . Allowed . Contains ( QualityTypes . Bluray1080p ) ;
return PartialView ( "QualityProfileItem" , model ) ;
}
public JsonResult DeleteQualityProfile ( int profileId )
@ -451,25 +426,38 @@ namespace NzbDrone.Web.Controllers
if ( data . Profiles = = null )
return GetSuccessResult ( ) ;
foreach ( var profile in data . Profiles )
foreach ( var profile Model in data . Profiles )
{
Logger . Debug ( String . Format ( "Updating Profile: {0}" , profile ) ) ;
Logger . Debug ( String . Format ( "Updating Profile: {0}" , profile Model ) ) ;
var profile = new QualityProfile ( ) ;
profile . QualityProfileId = profileModel . QualityProfileId ;
profile . Name = profileModel . Name ;
profile . Cutoff = profileModel . Cutoff ;
profile . Allowed = new List < QualityTypes > ( ) ;
//Remove the extra comma from the end
profile . AllowedString = profile . AllowedString . Trim ( ',' ) ;
if ( profileModel . Sdtv )
profile . Allowed . Add ( QualityTypes . SDTV ) ;
if ( profileModel . Dvd )
profile . Allowed . Add ( QualityTypes . DVD ) ;
if ( profileModel . Hdtv )
profile . Allowed . Add ( QualityTypes . HDTV ) ;
if ( profileModel . Webdl )
profile . Allowed . Add ( QualityTypes . WEBDL ) ;
if ( profileModel . Bluray720p )
profile . Allowed . Add ( QualityTypes . Bluray720p ) ;
foreach ( var quality in profile . AllowedString . Split ( ',' ) )
{
var qType = ( QualityTypes ) Enum . Parse ( typeof ( QualityTypes ) , quality ) ;
profile . Allowed . Add ( qType ) ;
}
if ( profileModel . Bluray1080p )
profile . Allowed . Add ( QualityTypes . Bluray1080p ) ;
//If the Cutoff value selected is not in the allowed list then use the last allowed value, this should be validated on submit
//If the Cutoff value selected is not in the allowed list then return an error
if ( ! profile . Allowed . Contains ( profile . Cutoff ) )
return GetInvalidModelResult ( ) ;
//profile.Cutoff = profile.Allowed.Last();
_qualityProvider . Update ( profile ) ;
}
@ -559,7 +547,7 @@ namespace NzbDrone.Web.Controllers
}
[HttpPost]
public JsonResult Save EpisodeSorting( EpisodeSort ingModel data )
public JsonResult Save Naming( EpisodeNam ingModel data )
{
if ( ModelState . IsValid )
{