[mb-commits] branch, mbs-5655, created. MBS-5655: Discard release labels in the RE if they have no data
MusicBrainz Git Server <[email protected]> Fri, 25 Jan 2013 17:11:51 +0000
| Newsgroups | gmane.comp.audio.musicbrainz.cvs |
|---|---|
| Message-ID | <E1Tymog-0002RW-Kk@wiley> |
The branch, mbs-5655 has been created
at f8bc1ff1db8544adabeed5ea94b05ca8e52d5ba7 (commit)
- Log -----------------------------------------------------------------
commit f8bc1ff1db8544adabeed5ea94b05ca8e52d5ba7
Author: Oliver Charles <[email protected]>
Date: Fri Jan 25 17:11:13 2013 +0000
MBS-5655: Discard release labels in the RE if they have no data
If a release label is added that has no label nor catalog number, then this
release label is deemed as 'empty' and is either discarded (when adding a new
release label), or counts as a deletion (if there was previously a release
label).
diff --git a/lib/MusicBrainz/Server/Wizard/ReleaseEditor.pm b/lib/MusicBrainz/Server/Wizard/ReleaseEditor.pm
index 9b4d04b..6c1e2db 100644
--- a/lib/MusicBrainz/Server/Wizard/ReleaseEditor.pm
+++ b/lib/MusicBrainz/Server/Wizard/ReleaseEditor.pm
@@ -1007,6 +1007,16 @@ sub _edit_missing_entities
)
}
+sub _release_label_empty {
+ my ($release_label) = @_;
+ # An 'empty' release label is either deleted in the UI, or has no catalog
+ # number nor label.
+ return $release_label->{'deleted'} || (
+ ($release_label->{catalog_number} eq '' || !defined($release_label->{catalog_number}))
+ && !$release_label->{label_id}
+ );
+}
+
sub _edit_release_labels
{
my ($self, %args) = @_;
@@ -1031,7 +1041,7 @@ sub _edit_release_labels
if ($old_label)
{
- if ($new_label->{'deleted'})
+ if (_release_label_empty($new_label))
{
# Delete ReleaseLabel
$create_edit->(
@@ -1053,9 +1063,10 @@ sub _edit_release_labels
$create_edit->($EDIT_RELEASE_EDITRELEASELABEL, $editnote, %args);
}
}
- elsif ($new_label->{'deleted'})
+ elsif (_release_label_empty($new_label))
{
- # Ignore new labels which have already been deleted.
+ # Ignore new labels which have already been deleted, or contain no
+ # useful information.
}
elsif (
$previewing ?
-----------------------------------------------------------------------
hooks/post-receive
--
mb_server