diff --git a/src/NzbDrone.Api/Blacklist/BlacklistModule.cs b/src/NzbDrone.Api/Blacklist/BlacklistModule.cs index 913810767..bfbcbc2de 100644 --- a/src/NzbDrone.Api/Blacklist/BlacklistModule.cs +++ b/src/NzbDrone.Api/Blacklist/BlacklistModule.cs @@ -28,7 +28,7 @@ namespace NzbDrone.Api.Blacklist //This is a hack to deal with backgrid setting the sortKey to the column name instead of sortValue if (pagingSpec.SortKey.Equals("series", StringComparison.InvariantCultureIgnoreCase)) { - pagingSpec.SortKey = "series.title"; + pagingSpec.SortKey = "series.sortTitle"; } return ApplyToPage(_blacklistService.Paged, pagingSpec); diff --git a/src/NzbDrone.Api/History/HistoryModule.cs b/src/NzbDrone.Api/History/HistoryModule.cs index 69ed1dc15..ded75c54c 100644 --- a/src/NzbDrone.Api/History/HistoryModule.cs +++ b/src/NzbDrone.Api/History/HistoryModule.cs @@ -36,7 +36,7 @@ namespace NzbDrone.Api.History //This is a hack to deal with backgrid setting the sortKey to the column name instead of sortValue if (pagingSpec.SortKey.Equals("series", StringComparison.InvariantCultureIgnoreCase)) { - pagingSpec.SortKey = "series.title"; + pagingSpec.SortKey = "series.sortTitle"; } if (pagingResource.FilterKey == "eventType") diff --git a/src/NzbDrone.Api/Wanted/CutoffModule.cs b/src/NzbDrone.Api/Wanted/CutoffModule.cs index da2e44ef7..f4fd267ba 100644 --- a/src/NzbDrone.Api/Wanted/CutoffModule.cs +++ b/src/NzbDrone.Api/Wanted/CutoffModule.cs @@ -1,4 +1,5 @@ -using System.Linq; +using System; +using System.Linq; using NzbDrone.Api.Episodes; using NzbDrone.Api.Extensions; using NzbDrone.Core.Datastore; @@ -30,6 +31,12 @@ namespace NzbDrone.Api.Wanted SortDirection = pagingResource.SortDirection }; + //This is a hack to deal with backgrid setting the sortKey to the column name instead of sortValue + if (pagingSpec.SortKey.Equals("series", StringComparison.InvariantCultureIgnoreCase)) + { + pagingSpec.SortKey = "series.sortTitle"; + } + if (pagingResource.FilterKey == "monitored" && pagingResource.FilterValue == "false") { pagingSpec.FilterExpression = v => v.Monitored == false || v.Series.Monitored == false; diff --git a/src/NzbDrone.Api/Wanted/MissingModule.cs b/src/NzbDrone.Api/Wanted/MissingModule.cs index 14fef9104..8852f0ae8 100644 --- a/src/NzbDrone.Api/Wanted/MissingModule.cs +++ b/src/NzbDrone.Api/Wanted/MissingModule.cs @@ -1,4 +1,5 @@ -using System.Linq; +using System; +using System.Linq; using NzbDrone.Api.Episodes; using NzbDrone.Api.Extensions; using NzbDrone.Core.Datastore; @@ -30,6 +31,12 @@ namespace NzbDrone.Api.Wanted SortDirection = pagingResource.SortDirection }; + //This is a hack to deal with backgrid setting the sortKey to the column name instead of sortValue + if (pagingSpec.SortKey.Equals("series", StringComparison.InvariantCultureIgnoreCase)) + { + pagingSpec.SortKey = "series.sortTitle"; + } + if (pagingResource.FilterKey == "monitored" && pagingResource.FilterValue == "false") { pagingSpec.FilterExpression = v => v.Monitored == false || v.Series.Monitored == false; diff --git a/src/UI/History/Blacklist/BlacklistLayout.js b/src/UI/History/Blacklist/BlacklistLayout.js index d8b214ca2..c1476f6f7 100644 --- a/src/UI/History/Blacklist/BlacklistLayout.js +++ b/src/UI/History/Blacklist/BlacklistLayout.js @@ -35,33 +35,33 @@ define( columns: [ { - name : 'series', - label: 'Series', - cell : SeriesTitleCell, - sortValue: 'series.title' + name : 'series', + label : 'Series', + cell : SeriesTitleCell, + sortValue : 'series.sortTitle' }, { - name : 'sourceTitle', - label: 'Source Title', - cell : 'string', - sortValue: 'sourceTitle' + name : 'sourceTitle', + label : 'Source Title', + cell : 'string', + sortValue : 'sourceTitle' }, { - name : 'quality', - label : 'Quality', - cell : QualityCell, - sortable: false + name : 'quality', + label : 'Quality', + cell : QualityCell, + sortable : false }, { - name : 'date', - label: 'Date', - cell : RelativeDateCell + name : 'date', + label : 'Date', + cell : RelativeDateCell }, { - name : 'this', - label : '', - cell : BlacklistActionsCell, - sortable: false + name : 'this', + label : '', + cell : BlacklistActionsCell, + sortable : false } ], diff --git a/src/UI/History/Queue/QueueLayout.js b/src/UI/History/Queue/QueueLayout.js index b20044fd8..886381c49 100644 --- a/src/UI/History/Queue/QueueLayout.js +++ b/src/UI/History/Queue/QueueLayout.js @@ -32,33 +32,34 @@ define( columns: [ { - name : 'status', - label: '', - cell : QueueStatusCell, - cellValue: 'this' + name : 'status', + label : '', + cell : QueueStatusCell, + cellValue : 'this' }, { - name : 'series', - label: 'Series', - cell : SeriesTitleCell + name : 'series', + label : 'Series', + cell : SeriesTitleCell, + sortable : false }, { - name : 'episode', - label : 'Episode', - sortable: false, - cell : EpisodeNumberCell + name : 'episode', + label : 'Episode', + cell : EpisodeNumberCell, + sortable : false }, { - name : 'episode', - label : 'Episode Title', - sortable: false, - cell : EpisodeTitleCell + name : 'episode', + label : 'Episode Title', + cell : EpisodeTitleCell, + sortable : false }, { - name : 'quality', - label : 'Quality', - cell : QualityCell, - sortable: false + name : 'quality', + label : 'Quality', + cell : QualityCell, + sortable : false }, { name : 'timeleft', diff --git a/src/UI/History/Table/HistoryTableLayout.js b/src/UI/History/Table/HistoryTableLayout.js index cb7c66331..baab97395 100644 --- a/src/UI/History/Table/HistoryTableLayout.js +++ b/src/UI/History/Table/HistoryTableLayout.js @@ -39,45 +39,45 @@ define( columns: [ { - name : 'eventType', - label : '', - cell : EventTypeCell, - cellValue: 'this' + name : 'eventType', + label : '', + cell : EventTypeCell, + cellValue : 'this' }, { - name : 'series', - label: 'Series', - cell : SeriesTitleCell, - sortValue: 'series.title' + name : 'series', + label : 'Series', + cell : SeriesTitleCell, + sortValue : 'series.sortTitle' }, { - name : 'episode', - label : 'Episode', - sortable: false, - cell : EpisodeNumberCell + name : 'episode', + label : 'Episode', + cell : EpisodeNumberCell, + sortable : false }, { - name : 'episode', - label : 'Episode Title', - sortable: false, - cell : EpisodeTitleCell + name : 'episode', + label : 'Episode Title', + cell : EpisodeTitleCell, + sortable : false }, { - name : 'quality', - label : 'Quality', - cell : QualityCell, - sortable: false + name : 'quality', + label : 'Quality', + cell : QualityCell, + sortable : false }, { - name : 'date', - label: 'Date', - cell : RelativeDateCell + name : 'date', + label : 'Date', + cell : RelativeDateCell }, { - name : 'this', - label : '', - cell : HistoryDetailsCell, - sortable: false + name : 'this', + label : '', + cell : HistoryDetailsCell, + sortable : false } ], diff --git a/src/UI/Series/Editor/SeriesEditorLayout.js b/src/UI/Series/Editor/SeriesEditorLayout.js index 84ee8bca7..dc0b7f972 100644 --- a/src/UI/Series/Editor/SeriesEditorLayout.js +++ b/src/UI/Series/Editor/SeriesEditorLayout.js @@ -57,25 +57,26 @@ define( cell : SeriesStatusCell }, { - name : 'title', - label : 'Title', - cell : SeriesTitleCell, - cellValue: 'this' + name : 'title', + label : 'Title', + cell : SeriesTitleCell, + cellValue : 'this', + sortValue : 'sortTitle' }, { - name : 'qualityProfileId', - label: 'Quality', - cell : QualityProfileCell + name : 'qualityProfileId', + label : 'Quality', + cell : QualityProfileCell }, { - name : 'seasonFolder', - label: 'Season Folder', - cell : SeasonFolderCell + name : 'seasonFolder', + label : 'Season Folder', + cell : SeasonFolderCell }, { - name : 'path', - label: 'Path', - cell : 'string' + name : 'path', + label : 'Path', + cell : 'string' } ], diff --git a/src/UI/Series/Index/SeriesIndexLayout.js b/src/UI/Series/Index/SeriesIndexLayout.js index 292d7d37e..fb9782817 100644 --- a/src/UI/Series/Index/SeriesIndexLayout.js +++ b/src/UI/Series/Index/SeriesIndexLayout.js @@ -53,25 +53,26 @@ define( cell : SeriesStatusCell }, { - name : 'title', - label : 'Title', - cell : SeriesTitleCell, - cellValue: 'this' + name : 'title', + label : 'Title', + cell : SeriesTitleCell, + cellValue : 'this', + sortValue : 'sortTitle' }, { - name : 'seasonCount', - label: 'Seasons', - cell : 'integer' + name : 'seasonCount', + label : 'Seasons', + cell : 'integer' }, { - name : 'qualityProfileId', - label: 'Quality', - cell : QualityProfileCell + name : 'qualityProfileId', + label : 'Quality', + cell : QualityProfileCell }, { - name : 'network', - label: 'Network', - cell : 'string' + name : 'network', + label : 'Network', + cell : 'string' }, { name : 'nextAiring', @@ -80,16 +81,16 @@ define( sortValue : SeriesCollection.nextAiring }, { - name : 'percentOfEpisodes', - label : 'Episodes', - cell : EpisodeProgressCell, - className: 'episode-progress-cell' + name : 'percentOfEpisodes', + label : 'Episodes', + cell : EpisodeProgressCell, + className : 'episode-progress-cell' }, { - name : 'this', - label : '', - sortable: false, - cell : SeriesActionsCell + name : 'this', + label : '', + sortable : false, + cell : SeriesActionsCell } ], diff --git a/src/UI/Wanted/Cutoff/CutoffUnmetLayout.js b/src/UI/Wanted/Cutoff/CutoffUnmetLayout.js index df889f4f5..00503c2d4 100644 --- a/src/UI/Wanted/Cutoff/CutoffUnmetLayout.js +++ b/src/UI/Wanted/Cutoff/CutoffUnmetLayout.js @@ -45,39 +45,39 @@ define([ columns : [ { - name : '', - cell : 'select-row', - headerCell : 'select-all', - sortable : false + name : '', + cell : 'select-row', + headerCell: 'select-all', + sortable : false }, { - name : 'series', - label : 'Series Title', - sortable : false, - cell : SeriesTitleCell + name : 'series', + label : 'Series Title', + cell : SeriesTitleCell, + sortValue : 'series.sortTitle' }, { - name : 'this', - label : 'Episode', - sortable : false, - cell : EpisodeNumberCell + name : 'this', + label : 'Episode', + cell : EpisodeNumberCell, + sortable : false }, { - name : 'this', - label : 'Episode Title', - sortable : false, - cell : EpisodeTitleCell + name : 'this', + label : 'Episode Title', + cell : EpisodeTitleCell, + sortable : false }, { - name : 'airDateUtc', - label : 'Air Date', - cell : RelativeDateCell + name : 'airDateUtc', + label : 'Air Date', + cell : RelativeDateCell }, { - name : 'status', - label : 'Status', - cell : EpisodeStatusCell, - sortable : false + name : 'status', + label : 'Status', + cell : EpisodeStatusCell, + sortable : false } ], diff --git a/src/UI/Wanted/Missing/MissingLayout.js b/src/UI/Wanted/Missing/MissingLayout.js index 7e1cf6ae2..a85f867fc 100644 --- a/src/UI/Wanted/Missing/MissingLayout.js +++ b/src/UI/Wanted/Missing/MissingLayout.js @@ -45,39 +45,39 @@ define([ columns : [ { - name : '', - cell : 'select-row', - headerCell : 'select-all', - sortable : false + name : '', + cell : 'select-row', + headerCell: 'select-all', + sortable : false }, { - name : 'series', - label : 'Series Title', - sortable : false, - cell : SeriesTitleCell + name : 'series', + label : 'Series Title', + cell : SeriesTitleCell, + sortValue : 'series.sortTitle' }, { - name : 'this', - label : 'Episode', - sortable : false, - cell : EpisodeNumberCell + name : 'this', + label : 'Episode', + cell : EpisodeNumberCell, + sortable : false }, { - name : 'this', - label : 'Episode Title', - sortable : false, - cell : EpisodeTitleCell + name : 'this', + label : 'Episode Title', + cell : EpisodeTitleCell, + sortable : false }, { - name : 'airDateUtc', - label : 'Air Date', - cell : RelativeDateCell + name : 'airDateUtc', + label : 'Air Date', + cell : RelativeDateCell }, { - name : 'status', - label : 'Status', - cell : EpisodeStatusCell, - sortable : false + name : 'status', + label : 'Status', + cell : EpisodeStatusCell, + sortable : false } ],