diff --git a/rails/app/controllers/artist_controller.rb b/rails/app/controllers/artist_controller.rb index 353b17b..c02cf33 100644 --- a/rails/app/controllers/artist_controller.rb +++ b/rails/app/controllers/artist_controller.rb @@ -2,9 +2,10 @@ class ArtistController < ApplicationController def view @artist = Artist.getByName(params[:name]) @albums = ReleaseGroup.getArtistAlbums(@artist.id) - ids = [] + rg_ids = [] @albums.each do |a| - ids << a.id + rg_ids << a.id end + end end diff --git a/rails/app/models/release.rb b/rails/app/models/release.rb index e69de29..f577a37 100644 --- a/rails/app/models/release.rb +++ b/rails/app/models/release.rb @@ -0,0 +1,19 @@ +class Release < ActiveRecord::Base + set_table_name 'musicbrainz.bh_release' + def self.getReleases(release_groups, group_by_release = false, only_official = false) + Release.all(:conditions => ['release_group IN(?) AND '. (only_official ? 'AND release_tyepe=1' : 'release_type IS NOT NULL'), release_groups], :order => 'date ASC, id ASC') + + if ($group_by_release) { + $g_releases = array(); + foreach ($releases as $release) { + if (!isset($g_releases[$release['release_group']])) { + $g_releases[$release['release_group']] = array(); + } + $g_releases[$release['release_group']][$release['id']] = $release; + } + return $g_releases; + } else { + return $releases; + } + end +end