diff --git a/app/Http/Controllers/Api/Web/AlbumsController.php b/app/Http/Controllers/Api/Web/AlbumsController.php index 961caba6..446a9916 100644 --- a/app/Http/Controllers/Api/Web/AlbumsController.php +++ b/app/Http/Controllers/Api/Web/AlbumsController.php @@ -75,7 +75,7 @@ class AlbumsController extends ApiControllerBase $query = Album::summary() ->with('user', 'user.avatar', 'cover') ->userDetails() - ->orderBy('created_at', 'desc') + ->orderBy('title', 'asc') ->where('track_count', '>', 0); $count = $query->count(); @@ -144,4 +144,4 @@ class AlbumsController extends ApiControllerBase 'tracks' => $tracks ], 200); } -} \ No newline at end of file +} diff --git a/app/Http/Controllers/Api/Web/ArtistsController.php b/app/Http/Controllers/Api/Web/ArtistsController.php index cf48401f..f060f77c 100644 --- a/app/Http/Controllers/Api/Web/ArtistsController.php +++ b/app/Http/Controllers/Api/Web/ArtistsController.php @@ -167,7 +167,7 @@ class ArtistsController extends ApiControllerBase $page = Input::get('page'); } - $query = User::orderBy('created_at', 'desc') + $query = User::orderBy('display_name', 'asc') ->where('track_count', '>', 0); $count = $query->count(); diff --git a/app/Http/Controllers/Api/Web/PlaylistsController.php b/app/Http/Controllers/Api/Web/PlaylistsController.php index b9667221..a71f1f81 100644 --- a/app/Http/Controllers/Api/Web/PlaylistsController.php +++ b/app/Http/Controllers/Api/Web/PlaylistsController.php @@ -46,7 +46,7 @@ class PlaylistsController extends ApiControllerBase $query = Playlist::summary() ->with('user', 'user.avatar', 'tracks', 'tracks.cover', 'tracks.user', 'tracks.album', 'tracks.album.user') ->userDetails() - ->orderBy('created_at', 'desc') + ->orderBy('title', 'asc') ->where('track_count', '>', 0) ->whereIsPublic(true); @@ -140,4 +140,4 @@ class PlaylistsController extends ApiControllerBase return Response::json($playlists, 200); } -} \ No newline at end of file +} diff --git a/database/migrations/2015_09_29_035228_AddAlphabeticalIndices.php b/database/migrations/2015_09_29_035228_AddAlphabeticalIndices.php new file mode 100644 index 00000000..8a50b058 --- /dev/null +++ b/database/migrations/2015_09_29_035228_AddAlphabeticalIndices.php @@ -0,0 +1,45 @@ +index('display_name'); + $table->index('track_count'); + }); + + Schema::table('playlists', function (Blueprint $table) { + $table->index('title'); + $table->index('track_count'); + $table->index('is_public'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('users', function (Blueprint $table) { + $table->dropIndex('users_display_name_index'); + $table->dropIndex('users_track_count_index'); + }); + + Schema::table('playlists', function (Blueprint $table) { + $table->dropIndex('playlists_title_index'); + $table->dropIndex('playlists_track_count_index'); + $table->dropIndex('playlists_is_public_index'); + }); + } +} diff --git a/resources/assets/scripts/app/services/tracks.coffee b/resources/assets/scripts/app/services/tracks.coffee index f7a44c56..8cd161fa 100644 --- a/resources/assets/scripts/app/services/tracks.coffee +++ b/resources/assets/scripts/app/services/tracks.coffee @@ -184,6 +184,7 @@ angular.module('ponyfm').factory('tracks', [ {title: 'Most Played', query: 'plays', isDefault: false, filter: 'order=play_count,desc'}, {title: 'Most Downloaded', query: 'downloads', isDefault: false, filter: 'order=download_count,desc'}, {title: 'Most Favourited', query: 'favourites', isDefault: false, filter: 'order=favourite_count,desc'} + {title: 'Alphabetical', query: 'alphabetical', isDefault: false, filter: 'order=title,asc'}, ] self.filters.genres =