[mb-commits] branch, mbs-5754, created. MBS-5754: Allow copying track changes to recordings when adding new releases

MusicBrainz Git Server <[email protected]> Tue, 22 Jan 2013 15:07:02 +0000
Newsgroups gmane.comp.audio.musicbrainz.cvs
Message-ID <E1TxfRG-0004cw-Kt@wiley>
The branch, mbs-5754 has been created
        at  04f461f327ab1104d76aa31bc95f10e167d00e78 (commit)

- Log -----------------------------------------------------------------
commit 04f461f327ab1104d76aa31bc95f10e167d00e78
Author: Oliver Charles <[email protected]>
Date:   Tue Jan 22 15:06:41 2013 +0000

    MBS-5754: Allow copying track changes to recordings when adding new releases

diff --git a/lib/MusicBrainz/Server/Wizard/ReleaseEditor.pm b/lib/MusicBrainz/Server/Wizard/ReleaseEditor.pm
index 9b4d04b..728ce66 100644
--- a/lib/MusicBrainz/Server/Wizard/ReleaseEditor.pm
+++ b/lib/MusicBrainz/Server/Wizard/ReleaseEditor.pm
@@ -29,6 +29,7 @@ use MusicBrainz::Server::Constants qw(
     $EDIT_MEDIUM_ADD_DISCID
     $EDIT_MEDIUM_DELETE
     $EDIT_MEDIUM_EDIT
+    $EDIT_RECORDING_EDIT
     $EDIT_RELEASE_ADDRELEASELABEL
     $EDIT_RELEASE_ADD_ANNOTATION
     $EDIT_RELEASE_DELETERELEASELABEL
@@ -951,11 +952,44 @@ sub create_common_edits
 
     $self->_edit_release_annotation(%args);
 
+    # recording edits
+    # ----------------------------------------
+
+    $self->_edit_recording_edits(%args);
+
     if ($previewing) {
         $self->c->model ('Edit')->load_all (@{ $self->c->stash->{edits} });
     }
 }
 
+sub _edit_recording_edits {
+    my ($self, %args) = @_;
+
+    my ($data, $create_edit, $editnote, $previewing)
+        = @args{qw( data create_edit edit_note previewing )};
+
+    my $medium_index = -1;
+    for my $medium (@{ $data->{rec_mediums} }) {
+        $medium_index++;
+        my $track_index = -1;
+        for my $track_association (@{ $medium->{associations} }) {
+            $track_index++;
+            next if $track_association->{gid} eq 'new';
+            if ($track_association->{update_recording}) {
+                my $track = $data->{mediums}[ $medium_index ]{tracks}[ $track_index ];
+                $create_edit->(
+                    $EDIT_RECORDING_EDIT, $editnote,
+                    to_edit => $self->c->model('Recording')->get_by_gid( $track_association->{gid} ),
+                    name => $track->name,
+                    artist_credit => artist_credit_to_ref($track->artist_credit, [ "gid" ]),
+                    length => $track->length,
+                    as_auto_editor => $data->{as_auto_editor},
+                );
+            }
+        }
+    }
+}
+
 sub _edit_missing_entities
 {
     my ($self, %args) = @_;
diff --git a/lib/MusicBrainz/Server/Wizard/ReleaseEditor/Edit.pm b/lib/MusicBrainz/Server/Wizard/ReleaseEditor/Edit.pm
index 2e7ee42..44102df 100644
--- a/lib/MusicBrainz/Server/Wizard/ReleaseEditor/Edit.pm
+++ b/lib/MusicBrainz/Server/Wizard/ReleaseEditor/Edit.pm
@@ -9,7 +9,6 @@ use MusicBrainz::Server::Track qw( format_track_length );
 extends 'MusicBrainz::Server::Wizard::ReleaseEditor';
 
 use MusicBrainz::Server::Constants qw(
-    $EDIT_RECORDING_EDIT
     $EDIT_RELEASE_EDIT
     $EDIT_RELEASE_ARTIST
 );
@@ -54,30 +53,6 @@ augment 'create_edits' => sub
 
     $create_edit->($EDIT_RELEASE_EDIT, $editnote, %args);
 
-    # recording edits
-    # ----------------------------------------
-
-    my $medium_index = -1;
-    for my $medium (@{ $data->{rec_mediums} }) {
-        $medium_index++;
-        my $track_index = -1;
-        for my $track_association (@{ $medium->{associations} }) {
-            $track_index++;
-            next if $track_association->{gid} eq 'new';
-            if ($track_association->{update_recording}) {
-                my $track = $data->{mediums}[ $medium_index ]{tracks}[ $track_index ];
-                $create_edit->(
-                    $EDIT_RECORDING_EDIT, $editnote,
-                    to_edit => $self->c->model('Recording')->get_by_gid( $track_association->{gid} ),
-                    name => $track->name,
-                    artist_credit => artist_credit_to_ref($track->artist_credit, [ "gid" ]),
-                    length => $track->length,
-                    as_auto_editor => $data->{as_auto_editor},
-                );
-            }
-        }
-    }
-
     return $self->release;
 };
 

-----------------------------------------------------------------------


hooks/post-receive
-- 
mb_server