[mb-commits] r9774 - in mb_server/branches/ReleaseTrack: admin htdocs/comp htdocs/comp/release htdocs/comp/release_editor htdocs/edit/albumreleases htdocs/freedb

root at musicbrainz.org root at musicbrainz.org
Sun Mar 16 15:40:24 UTC 2008


Author: luks
Date: 2008-03-16 15:40:24 +0000 (Sun, 16 Mar 2008)
New Revision: 9774

Modified:
   mb_server/branches/ReleaseTrack/admin/startup.pl.default
   mb_server/branches/ReleaseTrack/htdocs/comp/album
   mb_server/branches/ReleaseTrack/htdocs/comp/release/release_track
   mb_server/branches/ReleaseTrack/htdocs/comp/release_editor/review
   mb_server/branches/ReleaseTrack/htdocs/edit/albumreleases/review.html
   mb_server/branches/ReleaseTrack/htdocs/freedb/review.html
Log:
Use ReleaseTrack in /comp/album

Modified: mb_server/branches/ReleaseTrack/admin/startup.pl.default
===================================================================
--- mb_server/branches/ReleaseTrack/admin/startup.pl.default	2008-03-13 20:54:46 UTC (rev 9773)
+++ mb_server/branches/ReleaseTrack/admin/startup.pl.default	2008-03-16 15:40:24 UTC (rev 9774)
@@ -80,6 +80,7 @@
 require MusicBrainz::Server::NewsFeed;
 require MusicBrainz::Server::PagedReport;
 require MusicBrainz::Server::ReleaseEvent;
+require MusicBrainz::Server::ReleaseTrack;
 require MusicBrainz::Server::Replication;
 require MusicBrainz::Server::Script;
 require MusicBrainz::Server::Tag;

Modified: mb_server/branches/ReleaseTrack/htdocs/comp/album
===================================================================
--- mb_server/branches/ReleaseTrack/htdocs/comp/album	2008-03-13 20:54:46 UTC (rev 9773)
+++ mb_server/branches/ReleaseTrack/htdocs/comp/album	2008-03-16 15:40:24 UTC (rev 9774)
@@ -77,8 +77,7 @@
 
 	$mb = $m->comp("/comp/dblogin") if (not defined $mb);
 
-	# always load multiple artist tracks
-	my @info = ($tracks ? @$tracks : $album->LoadTracks());
+	$tracks = $album->FindTracks() if (!defined($tracks));
 
 	if ($showcollapsed)
 	{
@@ -124,11 +123,9 @@
 	my $puidcounts = $album->LoadPUIDCount();
 	my $trackannos = $album->LoadLatestTrackAnnos();
 
-	for(my $i = 0;; $i++)
+	my $tindex = 0;
+	foreach my $track (@$tracks)
 	{
-		my $track = $info[$i];
-		last if (!defined $track);
-
 		my $tcount = $trmcounts->{$track->GetId()};
 		$tcount = 0 if (not defined $tcount);
 
@@ -142,9 +139,9 @@
 			$m->comp("/comp/release/release_track",
 				mb => $mb,
 				artist => $artist,
-				album => $album,
-				track => $track,
-				tindex => $i,
+				release => $album,
+				release_track => $track,
+				tindex => $tindex,
 				highlight => $highlighttracks->{$track->GetId},
 				showeditlinks => $showmodlinks,
 				trmcount => $tcount,
@@ -156,6 +153,7 @@
 				highlightonly => $highlightonly
 			);
 		}
+		$tindex++;
 	}
 
 	$m->comp("/comp/release/release_summary",

Modified: mb_server/branches/ReleaseTrack/htdocs/comp/release/release_track
===================================================================
--- mb_server/branches/ReleaseTrack/htdocs/comp/release/release_track	2008-03-13 20:54:46 UTC (rev 9773)
+++ mb_server/branches/ReleaseTrack/htdocs/comp/release/release_track	2008-03-16 15:40:24 UTC (rev 9774)
@@ -30,8 +30,8 @@
 
 	$mb
 	$artist
-	$album
-	$track
+	$release
+	$release_track
 	$tindex
 
 	$highlight
@@ -51,11 +51,13 @@
 
 	# track artist are either shown, if there are track artists != release artist
 	# or if the link "show track artists" was clicked.
-	my $isva = $album->HasMultipleTrackArtists || $showtrackartists;
+	my $isva = $release->HasMultipleTrackArtists || $showtrackartists;
 
+	my $track = $release_track->GetTrack;
+
 	# non-album tracks do not show a tracknumber
 	# and the tracks title has to span 2 cells, because of that.
-	my $nonalbum = $album->IsNonAlbumTracks;
+	my $nonalbum = $release->IsNonAlbumTracks;
 	my $colspan = ($nonalbum ? qq!colspan="2"! : "");
 
 	# start TR
@@ -68,8 +70,8 @@
 		# Track Number field is modpending if the modpending flag is
 		# raised on the AlbumJoin table.
     	$m->out(sprintf qq!<td class="no%s">%s!,
-    					$track->GetAlbumJoinModPending ? " modpending" : "",
-    					$track->GetSequence);
+    					$release_track->GetModPending ? " modpending" : "",
+    					$release_track->GetSequence);
 
 		# Accessibility: Removed the asterix (*) signs, uses bold font for
 		# highlighting as well as colour.
@@ -87,7 +89,7 @@
 	# the windows-tagger works track based, show the tagger icon.
 	if ($mbt && $showeditlinks and $track->GetId)
 	{
-        $m->out(qq!<a href="tag:! . $track->GetMBId() . ':' . $album->GetMBId() . qq!">!);
+        $m->out(qq!<a href="tag:! . $track->GetMBId() . ':' . $release->GetMBId() . qq!">!);
 		$m->out(qq!<img src="/images/mblookup-tag.gif" alt="Tag" title="Tag the current track" !);
 		$m->out(qq!height="13" width="28" border="0" /></a>&nbsp;!);
 	}
@@ -140,7 +142,7 @@
 			if (exists $session{user} and $showeditlinks)
 			{
 				$m->out(sprintf qq! (<a href="/edit/track/change.html?releaseid=%s&amp;tindex=%s&amp;solo=1">Change</a>)!,
-								$album->GetId(),
+								$release->GetId(),
 								$tindex);
 			}
 		}
@@ -164,13 +166,13 @@
 	{
 		$m->out(qq!<td class="links">!);
        	$m->out(sprintf qq!<a href="/edit/track/edit.html?releaseid=%s&amp;trackid=%s" title="%s">Edit</a>!,
-				       	$album->GetId(),
+				       	$release->GetId(),
 				       	$track->GetId(),
 				       	"Edit track title, number and length");
-		if ($album->CanRemoveTrack($track->GetSequence))
+		if ($release->CanRemoveTrack($release_track->GetSequence))
 		{
 			$m->out(sprintf qq! | <a href="/edit/track/remove.html?releaseid=%s&amp;trackid=%s" title="%s">Remove</a>!,
-							$album->GetId(),
+							$release->GetId(),
 							$track->GetId(),
 							"Remove this track from the release");
 		}

Modified: mb_server/branches/ReleaseTrack/htdocs/comp/release_editor/review
===================================================================
--- mb_server/branches/ReleaseTrack/htdocs/comp/release_editor/review	2008-03-13 20:54:46 UTC (rev 9773)
+++ mb_server/branches/ReleaseTrack/htdocs/comp/release_editor/review	2008-03-16 15:40:24 UTC (rev 9774)
@@ -252,7 +252,6 @@
 				)
 				if ($trackid ne "");
 
-			$tr->SetSequence($ARGS{"trackseq$i"});
 			$tr->SetName($ARGS{"track$i"});
 			$tr->SetLength(MusicBrainz::Server::Track::UnformatTrackLength($ARGS{"tracklength$i"}));
 
@@ -272,7 +271,12 @@
 				$ARGS{getField($i, "artistid")} = $artistid;
 				$ARGS{getField($i, "artistname")} = $artistname;
 			}
-			push @tracks, $tr;
+
+			my $release_track = MusicBrainz::Server::ReleaseTrack->new($mb->{DBH});
+			$release_track->SetSequence($ARGS{"trackseq$i"});
+			$release_track->SetTrack($tr);
+
+			push @tracks, $release_track;
 		}
 	}
 	$release->{trackcount} = (@tracks);

Modified: mb_server/branches/ReleaseTrack/htdocs/edit/albumreleases/review.html
===================================================================
--- mb_server/branches/ReleaseTrack/htdocs/edit/albumreleases/review.html	2008-03-13 20:54:46 UTC (rev 9773)
+++ mb_server/branches/ReleaseTrack/htdocs/edit/albumreleases/review.html	2008-03-16 15:40:24 UTC (rev 9774)
@@ -83,8 +83,6 @@
 	my $release = $m->comp("/comp/loadrelease", $mb, $edit->{"id"});
 	my $artist = $m->comp("/comp/loadartist", $mb, $release->GetArtist);
 
-	my @tracks = $release->LoadTracks;
-
 	$notetext = $edit->{"editnote"} if $notetext eq "";
 
 </%perl>
@@ -298,7 +296,6 @@
 				showlinks => 0,
 				showmodlinks => 0,
 				showreleases => 1,
-				tracks => \@tracks,
 				releaseevents => \@relEventsNew, &>
 		</div>
 

Modified: mb_server/branches/ReleaseTrack/htdocs/freedb/review.html
===================================================================
--- mb_server/branches/ReleaseTrack/htdocs/freedb/review.html	2008-03-13 20:54:46 UTC (rev 9773)
+++ mb_server/branches/ReleaseTrack/htdocs/freedb/review.html	2008-03-16 15:40:24 UTC (rev 9774)
@@ -58,16 +58,19 @@
 	my @durations = split / /, $durations
 		if ($hasdurations);
 
-	my ($i, @t);
+	my ($i, @tracks);
 	for $i (0 .. $args{"tracks"}-1)
 	{
 		my $track = MusicBrainz::Server::Track->new($mb->{DBH});
 		$track->SetId(-1);
 		$track->SetName($args{"track$i"});
-		$track->SetSequence(($i+1));
 		$track->SetLength($durations[$i])
 			if ($hasdurations);
-		push @t, $track;
+		my $release_track = MusicBrainz::Server::ReleaseTrack->new($mb->{DBH});
+		$release_track->SetId(-1);
+		$release_track->SetSequence($i + 1);
+		$release_track->SetTrack($track);
+		push @tracks, $release_track;
 	}
 
 	my $artist = MusicBrainz::Server::Artist->new($mb->{DBH});
@@ -79,7 +82,7 @@
 	$release->SetArtist(0);
 	$release->SetName($releasename);
 	# Hack.  Maybe $release->SetAlbumMeta(...) would be a better method
-	$release->{trackcount} = (@t);
+	$release->{trackcount} = scalar(@tracks);
 	$release->{discidcount} = 1;
 	$release->{trmidcount} = 0;
 	$release->{puidcount} = 0;
@@ -132,7 +135,7 @@
 									showmodlinks => 0,
 									showreleases => 0,
 									showrelationships => 0,
-									tracks => \@t,
+									tracks => \@tracks,
 								&>
 								</td>
 							</tr>
@@ -178,7 +181,7 @@
 	%args = $m->comp("/comp/release_editor/convert-tomac", %ARGS);
 
 	# prepare submit to cdi/enter.html
-	@t = ();
+	@tracks = ();
 	for $i (0 .. $tracks-1)
 	{
 		my $track = MusicBrainz::Server::Track->new($mb->{DBH});
@@ -186,9 +189,12 @@
 		$track->SetName($args{"track$i"});
 		$track->SetArtist(0);
 		$track->SetArtistName($args{sprintf "tr%d_artistname", $i});
-		$track->SetSequence(($i+1));
 		$track->SetLength($durations[$i]) if ($hasdurations);
-		push @t, $track;
+		my $release_track = MusicBrainz::Server::ReleaseTrack->new($mb->{DBH});
+		$release_track->SetId(-1);
+		$release_track->SetSequence($i + 1);
+		$release_track->SetTrack($track);
+		push @tracks, $release_track;
 	}
 
 	$artist = MusicBrainz::Server::Artist->new($mb->{DBH});
@@ -201,7 +207,7 @@
 	$release->SetName($releasename);
 	$release->HasMultipleTrackArtists(1);
 	# Hack.  Maybe $release->SetAlbumMeta(...) would be a better method
-	$release->{trackcount} = (@t);
+	$release->{trackcount} = scalar(@tracks);
 	$release->{discidcount} = 1;
 	$release->{trmidcount} = 0;
 	$release->{puidcount} = 0;
@@ -238,7 +244,7 @@
 									showreleases => 0,
 									showtrackartists => 1,
 									showrelationships => 0,
-									tracks => \@t,
+									tracks => \@tracks,
 								&>
 								</td>
 							</tr>




More information about the MusicBrainz-commits mailing list