diff --git a/.gitignore b/.gitignore
index 05531517e..f493aadf0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -132,6 +132,7 @@ setup/Output/
bin
obj
output/*
+_temp*
# .NET Core
project.lock.json
@@ -139,12 +140,6 @@ project.fragment.lock.json
artifacts/
**/Properties/launchSettings.json
-#VS outout folders
-bin
-obj
-output/*
-
-
# macOS metadata files
._*
.DS_Store
diff --git a/frontend/src/Album/Album.ts b/frontend/src/Album/Album.ts
index 7a645efee..86f1ed5fe 100644
--- a/frontend/src/Album/Album.ts
+++ b/frontend/src/Album/Album.ts
@@ -20,6 +20,7 @@ interface Album extends ModelBase {
monitored: boolean;
releaseDate: string;
statistics: Statistics;
+ lastSearchTime?: string;
isSaving?: boolean;
}
diff --git a/frontend/src/Store/Actions/wantedActions.js b/frontend/src/Store/Actions/wantedActions.js
index 35aa162d4..61d6f7752 100644
--- a/frontend/src/Store/Actions/wantedActions.js
+++ b/frontend/src/Store/Actions/wantedActions.js
@@ -52,6 +52,12 @@ export const defaultState = {
isSortable: true,
isVisible: true
},
+ {
+ name: 'albums.lastSearchTime',
+ label: () => translate('LastSearched'),
+ isSortable: true,
+ isVisible: false
+ },
// {
// name: 'status',
// label: 'Status',
@@ -131,6 +137,12 @@ export const defaultState = {
// label: 'Status',
// isVisible: true
// },
+ {
+ name: 'albums.lastSearchTime',
+ label: () => translate('LastSearched'),
+ isSortable: true,
+ isVisible: false
+ },
{
name: 'actions',
columnLabel: () => translate('Actions'),
diff --git a/frontend/src/Wanted/CutoffUnmet/CutoffUnmetConnector.js b/frontend/src/Wanted/CutoffUnmet/CutoffUnmetConnector.js
index dbb4f2235..1dd9870d1 100644
--- a/frontend/src/Wanted/CutoffUnmet/CutoffUnmetConnector.js
+++ b/frontend/src/Wanted/CutoffUnmet/CutoffUnmetConnector.js
@@ -131,13 +131,15 @@ class CutoffUnmetConnector extends Component {
onSearchSelectedPress = (selected) => {
this.props.executeCommand({
name: commandNames.ALBUM_SEARCH,
- albumIds: selected
+ albumIds: selected,
+ commandFinished: this.repopulate
});
};
onSearchAllCutoffUnmetPress = () => {
this.props.executeCommand({
- name: commandNames.CUTOFF_UNMET_ALBUM_SEARCH
+ name: commandNames.CUTOFF_UNMET_ALBUM_SEARCH,
+ commandFinished: this.repopulate
});
};
diff --git a/frontend/src/Wanted/CutoffUnmet/CutoffUnmetRow.js b/frontend/src/Wanted/CutoffUnmet/CutoffUnmetRow.js
index 785b9b1c1..c8e02f63c 100644
--- a/frontend/src/Wanted/CutoffUnmet/CutoffUnmetRow.js
+++ b/frontend/src/Wanted/CutoffUnmet/CutoffUnmetRow.js
@@ -3,23 +3,24 @@ import React from 'react';
import albumEntities from 'Album/albumEntities';
import AlbumSearchCellConnector from 'Album/AlbumSearchCellConnector';
import AlbumTitleLink from 'Album/AlbumTitleLink';
-import EpisodeStatusConnector from 'Album/EpisodeStatusConnector';
+// import EpisodeStatusConnector from 'Album/EpisodeStatusConnector';
import ArtistNameLink from 'Artist/ArtistNameLink';
import RelativeDateCellConnector from 'Components/Table/Cells/RelativeDateCellConnector';
import TableRowCell from 'Components/Table/Cells/TableRowCell';
import TableSelectCell from 'Components/Table/Cells/TableSelectCell';
import TableRow from 'Components/Table/TableRow';
-import styles from './CutoffUnmetRow.css';
+// import styles from './CutoffUnmetRow.css';
function CutoffUnmetRow(props) {
const {
id,
- trackFileId,
+ // trackFileId,
artist,
releaseDate,
foreignAlbumId,
albumType,
title,
+ lastSearchTime,
disambiguation,
isSelected,
columns,
@@ -89,21 +90,30 @@ function CutoffUnmetRow(props) {
);
}
- if (name === 'status') {
+ if (name === 'albums.lastSearchTime') {
return (
-
-
-
+ date={lastSearchTime}
+ />
);
}
+ // if (name === 'status') {
+ // return (
+ //
+ //
+ //
+ // );
+ // }
+
if (name === 'actions') {
return (
{
this.props.executeCommand({
name: commandNames.ALBUM_SEARCH,
- albumIds: selected
+ albumIds: selected,
+ commandFinished: this.repopulate
});
};
onSearchAllMissingPress = () => {
this.props.executeCommand({
- name: commandNames.MISSING_ALBUM_SEARCH
+ name: commandNames.MISSING_ALBUM_SEARCH,
+ commandFinished: this.repopulate
});
};
diff --git a/frontend/src/Wanted/Missing/MissingRow.js b/frontend/src/Wanted/Missing/MissingRow.js
index 0eb1a0452..6c0b5a0c6 100644
--- a/frontend/src/Wanted/Missing/MissingRow.js
+++ b/frontend/src/Wanted/Missing/MissingRow.js
@@ -17,6 +17,7 @@ function MissingRow(props) {
albumType,
foreignAlbumId,
title,
+ lastSearchTime,
disambiguation,
isSelected,
columns,
@@ -86,6 +87,15 @@ function MissingRow(props) {
);
}
+ if (name === 'albums.lastSearchTime') {
+ return (
+
+ );
+ }
+
if (name === 'actions') {
return (
Images { get; set; }
public List Links { get; set; }
+ public DateTime? LastSearchTime { get; set; }
public AlbumStatisticsResource Statistics { get; set; }
public AddAlbumOptions AddOptions { get; set; }
public string RemoteCover { get; set; }
@@ -86,7 +87,8 @@ namespace Lidarr.Api.V1.Albums
SecondaryTypes = model.SecondaryTypes.Select(s => s.Name).ToList(),
Releases = model.AlbumReleases?.Value.ToResource() ?? new List(),
Media = selectedRelease?.Media.ToResource() ?? new List(),
- Artist = model.Artist?.Value.ToResource()
+ Artist = model.Artist?.Value.ToResource(),
+ LastSearchTime = model.LastSearchTime
};
}
diff --git a/src/NzbDrone.Core/Localization/Core/en.json b/src/NzbDrone.Core/Localization/Core/en.json
index 0936742c7..fa7f3b1fd 100644
--- a/src/NzbDrone.Core/Localization/Core/en.json
+++ b/src/NzbDrone.Core/Localization/Core/en.json
@@ -644,6 +644,7 @@
"LastAlbum": "Last Album",
"LastDuration": "Last Duration",
"LastExecution": "Last Execution",
+ "LastSearched": "Last Searched",
"LastUsed": "Last Used",
"LastWriteTime": "Last Write Time",
"LatestAlbum": "Latest Album",