Hidden archived artists' tracks from recent tracks

This commit is contained in:
Josef Citrine 2016-09-09 21:37:07 +01:00
parent cf7bd8b9e6
commit 995cc40a5f
2 changed files with 17 additions and 0 deletions

View file

@ -39,6 +39,10 @@ class DashboardController extends ApiControllerBase
->orderBy('published_at', 'desc')
->take(30);
$recentQuery->whereHas('user', function($q) {
$q->whereIsArchived(false);
});
$recentTracks = [];
foreach ($recentQuery->get() as $track) {

View file

@ -242,7 +242,10 @@ class TracksController extends ApiControllerBase
*/
private function applyFilters($query, $unknown = false)
{
$has_filters = false;
if (Input::has('is_vocal')) {
$has_filters = true;
$isVocal = \Input::get('is_vocal');
if ($isVocal == 'true') {
$query->whereIsVocal(true);
@ -252,6 +255,7 @@ class TracksController extends ApiControllerBase
}
if (Input::has('in_album')) {
$has_filters = true;
if (Input::get('in_album') == 'true') {
$query->whereNotNull('album_id');
} else {
@ -260,10 +264,12 @@ class TracksController extends ApiControllerBase
}
if (Input::has('genres')) {
$has_filters = true;
$query->whereIn('genre_id', Input::get('genres'));
}
if (Input::has('types') && !$unknown) {
$has_filters = true;
$query->whereIn('track_type_id', Input::get('types'));
}
@ -282,6 +288,7 @@ class TracksController extends ApiControllerBase
}
if (Input::has('songs')) {
$has_filters = true;
// DISTINCT is needed here to avoid duplicate results
// when a track is associated with multiple show songs.
$query->distinct();
@ -291,6 +298,12 @@ class TracksController extends ApiControllerBase
$query->whereIn('show_song_track.show_song_id', Input::get('songs'));
}
if (!$has_filters) {
$query->whereHas('user', function($q) {
$q->whereIsArchived(false);
});
}
return $query;
}
}