[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