[mb-commits] r9855 - in mb_server/trunk: cgi-bin cgi-bin/MusicBrainz/Server cgi-bin/MusicBrainz/Server/Moderation htdocs/cdi htdocs/comp/release_editor
root at musicbrainz.org
root at musicbrainz.org
Thu May 29 22:41:36 UTC 2008
Author: robert
Date: 2008-05-29 22:41:36 +0000 (Thu, 29 May 2008)
New Revision: 9855
Modified:
mb_server/trunk/cgi-bin/Insert.pm
mb_server/trunk/cgi-bin/MusicBrainz/Server/Moderation/MOD_ADD_RELEASE.pm
mb_server/trunk/cgi-bin/MusicBrainz/Server/Track.pm
mb_server/trunk/htdocs/cdi/enter.html
mb_server/trunk/htdocs/comp/release_editor/entermoderations-add
mb_server/trunk/htdocs/comp/release_editor/form
Log:
Allow MBID submitters to provider track ids. Fixes #3624
Modified: mb_server/trunk/cgi-bin/Insert.pm
===================================================================
--- mb_server/trunk/cgi-bin/Insert.pm 2008-05-29 21:21:29 UTC (rev 9854)
+++ mb_server/trunk/cgi-bin/Insert.pm 2008-05-29 22:41:36 UTC (rev 9855)
@@ -82,7 +82,8 @@
# tracknum => $seq,
# duration => $len,
# trmid => $TRM,
-# puid => $PUID
+# puid => $PUID,
+# trackid => $mbid (optinal, only for mbid submitters)
# }
# ] (always exactly one track)
#
@@ -151,6 +152,7 @@
# tracks -> array of hash refs: [required]
# track title [required]
# tracknum [required]
+# trackid [optional]
# artist or artistid [MACs only]
# sortname [MACs only]
# trmid [optional]
@@ -567,7 +569,9 @@
# insert track using the verified track artist
$mar->SetId($ar->GetId);
- $trackid = $tr->Insert($al, $mar);
+ my $tid;
+ $tid = $track->{trackid} if (exists $track->{trackid});
+ $trackid = $tr->Insert($al, $mar, $tid);
$track->{track_insertid} = $trackid if ($tr->GetNewInsert());
}
else
Modified: mb_server/trunk/cgi-bin/MusicBrainz/Server/Moderation/MOD_ADD_RELEASE.pm
===================================================================
--- mb_server/trunk/cgi-bin/MusicBrainz/Server/Moderation/MOD_ADD_RELEASE.pm 2008-05-29 21:21:29 UTC (rev 9854)
+++ mb_server/trunk/cgi-bin/MusicBrainz/Server/Moderation/MOD_ADD_RELEASE.pm 2008-05-29 22:41:36 UTC (rev 9855)
@@ -69,6 +69,7 @@
# |--- ReleaseId (OPTIONAL -- only for MBID Submitters)
# \--- for tracks 1..n:
# |--- Track/n/ - name
+ # |--- TrackID/n/ - name (only used for MBID submitters)
# |--- Artist/n/ - ??? id or name ???
# \--- TrackDur/n/ - duration in ms ?
#
@@ -152,6 +153,11 @@
track => $name,
tracknum => $i,
);
+
+ if (exists $new{"TrackID$i"})
+ {
+ $tmp{trackid} = $new{"TrackID$i"};
+ }
if ($isva)
{
Modified: mb_server/trunk/cgi-bin/MusicBrainz/Server/Track.pm
===================================================================
--- mb_server/trunk/cgi-bin/MusicBrainz/Server/Track.pm 2008-05-29 21:21:29 UTC (rev 9854)
+++ mb_server/trunk/cgi-bin/MusicBrainz/Server/Track.pm 2008-05-29 22:41:36 UTC (rev 9855)
@@ -322,7 +322,7 @@
# inited/loaded artist must also be passed in. The new track id is returned
sub Insert
{
- my ($this, $al, $ar) = @_;
+ my ($this, $al, $ar, $trackid) = @_;
$this->{new_insert} = 0;
my $name = $this->GetName;
@@ -365,7 +365,7 @@
return $track if $track;
my %row = (
- gid => $this->CreateNewGlobalId,
+ gid => $trackid ? $trackid : $this->CreateNewGlobalId,
name => $this->GetName,
artist => $artist,
modpending => 0,
Modified: mb_server/trunk/htdocs/cdi/enter.html
===================================================================
--- mb_server/trunk/htdocs/cdi/enter.html 2008-05-29 21:21:29 UTC (rev 9854)
+++ mb_server/trunk/htdocs/cdi/enter.html 2008-05-29 22:41:36 UTC (rev 9855)
@@ -91,12 +91,26 @@
or return $m->comp("/comp/layout/badarguments",
text => "The argument <strong>artistid</strong> is missing or has a wrong format.");
+ # Check for a user supplied release id
if (!UserStuff->IsMBIDSubmitter($session{"privs"}) || !MusicBrainz::Server::Validation::IsGUID($releasembid))
{
$releasembid = "";
- $ARGS{releasembid} = "";
+ delete $ARGS{releasembid};
}
+ # Check for user supplied track ids
+ for(0..$tracks)
+ {
+ my $key = "tr$_"."id";
+ if (exists $ARGS{$key})
+ {
+ if (!UserStuff->IsMBIDSubmitter($session{"privs"}) || !MusicBrainz::Server::Validation::IsGUID($ARGS{$key}))
+ {
+ delete $ARGS{$key};
+ }
+ }
+ }
+
# SETUP FORM STATE
# ---------------------------------------------------------------
# initialise the submit buttons, and un-muddle the "submitvalue"
Modified: mb_server/trunk/htdocs/comp/release_editor/entermoderations-add
===================================================================
--- mb_server/trunk/htdocs/comp/release_editor/entermoderations-add 2008-05-29 21:21:29 UTC (rev 9854)
+++ mb_server/trunk/htdocs/comp/release_editor/entermoderations-add 2008-05-29 22:41:36 UTC (rev 9855)
@@ -163,6 +163,10 @@
my $new_artistid = $ARGS{sprintf "tr%d_artistid", $i};
$trackdata .= "ArtistID" . ($realtracks) . "=" . $new_artistid . "\n";
}
+ if ($ARGS{"tr$i"."_id"})
+ {
+ $trackdata .= "TrackID" . ($realtracks) . "=" . $ARGS{"tr$i"."_id"} . "\n";
+ }
# handled this track, increment non-deleted tracks counter
$realtracks++;
Modified: mb_server/trunk/htdocs/comp/release_editor/form
===================================================================
--- mb_server/trunk/htdocs/comp/release_editor/form 2008-05-29 21:21:29 UTC (rev 9854)
+++ mb_server/trunk/htdocs/comp/release_editor/form 2008-05-29 22:41:36 UTC (rev 9855)
@@ -389,6 +389,9 @@
value => $track,
enabled => !$trackdel,
cssclass => ($checkfields{"track$i"} ? " missing" : "") &>
+% if (exists $ARGS{"tr".$i."_id"}) {
+ <br/><span style="font-size: x-small">Track id: <% $ARGS{"tr".$i."_id"} %></span>
+% }
</td>
<td>
<& /comp/form/tracktimefield,
@@ -493,7 +496,6 @@
cssclass => ($checkfields{$artistnamefield} ? " missing" : "") &>
% }
-
</td>
<td> </td>
<td class="field">
More information about the MusicBrainz-commits
mailing list