« Return to Thread: r11780 - in mb_server/trunk: lib/MusicBrainz/Server lib/MusicBrainz/Server/Data lib/MusicBrainz/Server/Edit/ReleaseGroup lib/MusicBrainz/Server/Entity t

r11780 - in mb_server/trunk: lib/MusicBrainz/Server lib/MusicBrainz/Server/Data lib/MusicBrainz/Server/Edit/ReleaseGroup lib/MusicBrainz/Server/Entity t

by root-97 :: Rate this Message:

Reply (Restricted by the Administrator) | Reply to Author | View in Thread

Author: acid2
Date: 2009-06-27 16:27:27 +0000 (Sat, 27 Jun 2009)
New Revision: 11780

Added:
   mb_server/trunk/lib/MusicBrainz/Server/Edit/ReleaseGroup/Edit.pm
   mb_server/trunk/t/edit_release-group_edit.t
Modified:
   mb_server/trunk/lib/MusicBrainz/Server/Constants.pm
   mb_server/trunk/lib/MusicBrainz/Server/Data/ReleaseGroup.pm
   mb_server/trunk/lib/MusicBrainz/Server/Data/Utils.pm
   mb_server/trunk/lib/MusicBrainz/Server/Entity/ReleaseGroup.pm
Log:
Edit release group edit type. See review 218

Merge branch 'edit-release_group-edit'

Modified: mb_server/trunk/lib/MusicBrainz/Server/Constants.pm
===================================================================
--- mb_server/trunk/lib/MusicBrainz/Server/Constants.pm 2009-06-27 16:27:13 UTC (rev 11779)
+++ mb_server/trunk/lib/MusicBrainz/Server/Constants.pm 2009-06-27 16:27:27 UTC (rev 11780)
@@ -43,6 +43,8 @@
 Readonly our $EDIT_RELEASEGROUP_DELETE => 23;
 Readonly our $EDIT_RELEASEGROUP_MERGE => 24;
 
+Readonly our $EDIT_RELEASEGROUP_EDIT => 21;
+
 =head1 NAME
 
 MusicBrainz::Server::Constant - constants used in the database that

Modified: mb_server/trunk/lib/MusicBrainz/Server/Data/ReleaseGroup.pm
===================================================================
--- mb_server/trunk/lib/MusicBrainz/Server/Data/ReleaseGroup.pm 2009-06-27 16:27:13 UTC (rev 11779)
+++ mb_server/trunk/lib/MusicBrainz/Server/Data/ReleaseGroup.pm 2009-06-27 16:27:27 UTC (rev 11780)
@@ -85,12 +85,12 @@
 
 sub update
 {
-    my ($self, $group, $update) = @_;
+    my ($self, $group_id, $update) = @_;
     my $sql = Sql->new($self->c->mb->dbh);
     my $release_data = MusicBrainz::Server::Data::Release->new(c => $self->c);
     my %names = $release_data->find_or_insert_names($update->{name});
     my $row = $self->_hash_to_row($update, \%names);
-    $sql->Update('release_group', $row, { id => $group->id });
+    $sql->Update('release_group', $row, { id => $group_id });
 }
 
 sub delete

Modified: mb_server/trunk/lib/MusicBrainz/Server/Data/Utils.pm
===================================================================
--- mb_server/trunk/lib/MusicBrainz/Server/Data/Utils.pm 2009-06-27 16:27:13 UTC (rev 11779)
+++ mb_server/trunk/lib/MusicBrainz/Server/Data/Utils.pm 2009-06-27 16:27:27 UTC (rev 11780)
@@ -9,6 +9,7 @@
 use UNIVERSAL::require;
 
 our @EXPORT_OK = qw(
+    artist_credit_to_ref
     defined_hash
     generate_gid
     insert_and_create
@@ -21,6 +22,19 @@
     query_to_list_limited
 );
 
+sub artist_credit_to_ref
+{
+    my ($artist_credit) = @_;
+    use Data::Dumper;
+    my $ac = [ map {
+        my @credit = ( { name => $_->name, artist => $_->artist_id } );
+        push @credit, $_->join_phrase if $_->join_phrase;
+
+        @credit;
+    } @{ $artist_credit->names } ];
+    return $ac;
+}
+
 sub load_subobjects
 {
     my ($data_access, $attr_obj, @objs) = @_;

Modified: mb_server/trunk/lib/MusicBrainz/Server/Entity/ReleaseGroup.pm
===================================================================
--- mb_server/trunk/lib/MusicBrainz/Server/Entity/ReleaseGroup.pm 2009-06-27 16:27:13 UTC (rev 11779)
+++ mb_server/trunk/lib/MusicBrainz/Server/Entity/ReleaseGroup.pm 2009-06-27 16:27:27 UTC (rev 11780)
@@ -32,7 +32,8 @@
 
 has 'artist_credit' => (
     is => 'rw',
-    isa => 'ArtistCredit'
+    isa => 'ArtistCredit',
+    predicate => 'artist_credit_loaded',
 );
 
 has 'first_release_date' => (


_______________________________________________
MusicBrainz-commits mailing list
MusicBrainz-commits@...
http://lists.musicbrainz.org/mailman/listinfo/musicbrainz-commits

 « Return to Thread: r11780 - in mb_server/trunk: lib/MusicBrainz/Server lib/MusicBrainz/Server/Data lib/MusicBrainz/Server/Edit/ReleaseGroup lib/MusicBrainz/Server/Entity t