[mb-commits] branch, caa-additions, created. Updating since DBDefs changes
MusicBrainz Git Server <[email protected]> Wed, 06 Feb 2013 12:12:11 +0000
| Newsgroups | gmane.comp.audio.musicbrainz.cvs |
|---|---|
| Message-ID | <E1U33rH-0007Be-8P@wiley> |
The branch, caa-additions has been created
at cb8cd6dc7fbff10377d54ce124c0d2ee7f6f0b7a (commit)
- Log -----------------------------------------------------------------
commit cb8cd6dc7fbff10377d54ce124c0d2ee7f6f0b7a
Author: Oliver Charles <[email protected]>
Date: Wed Feb 6 16:10:08 2013 +0000
Updating since DBDefs changes
diff --git a/lib/MusicBrainz/Server/Data/Release.pm b/lib/MusicBrainz/Server/Data/Release.pm
index 0e65874..3aab0fd 100644
--- a/lib/MusicBrainz/Server/Data/Release.pm
+++ b/lib/MusicBrainz/Server/Data/Release.pm
@@ -4,6 +4,7 @@ use Moose;
use namespace::autoclean -also => [qw( _where_status_in _where_type_in )];
use Carp 'confess';
+use DBDefs;
use List::UtilsBy qw( partition_by );
use MusicBrainz::Server::Constants qw( :quality $EDIT_RELEASE_CREATE $STATUS_APPLIED );
use MusicBrainz::Server::Entity::Barcode;
@@ -988,7 +989,7 @@ sub newest_releases_with_artwork {
my $row = shift;
my $release = $self->_new_from_row($row);
my $mbid = $release->gid;
- my $prefix = DBDefs::COVER_ART_ARCHIVE_DOWNLOAD_PREFIX."/release/$mbid";
+ my $prefix = DBDefs->COVER_ART_ARCHIVE_DOWNLOAD_PREFIX."/release/$mbid";
my $caa_id = $row->{cover_art_id};
return {
release => $self->_new_from_row($row),
commit f3ffdb106b6909c6757a685a1efa7b1fcd6849e9
Author: Oliver Charles <[email protected]>
Date: Sat Aug 18 14:00:27 2012 +0100
Link images to the release page, not a lightbox
diff --git a/root/components/common-macros.tt b/root/components/common-macros.tt
index 5bed815..3b65c4d 100644
--- a/root/components/common-macros.tt
+++ b/root/components/common-macros.tt
@@ -79,7 +79,7 @@ END; -%]
[%- END -%]
[%- USE JavaScript -%]
-[%- MACRO display_artwork(artwork, fallback, message, rel) BLOCK -%]
+[%- MACRO display_artwork_image(artwork, fallback, message, rel) BLOCK -%]
<a title="[% artwork_hover(artwork) %]" href="[% artwork.image %]"[% IF rel %] rel="[% rel %]"[% END %] class="thickbox">
[%- IF no_javascript -%]
<img src="[% artwork.small_thumbnail %]" />
@@ -106,6 +106,11 @@ END; -%]
}).attr ("src", "[% artwork.small_thumbnail %]");
</script>
[%- END -%]
+[% END %]
+
+[%- MACRO display_artwork(artwork, fallback, message) BLOCK -%]
+ <a href="[% artwork.image %]" class="thickbox">
+ [% display_artwork_image(artwork, fallback, message) %]
</a>
[%- END -%]
diff --git a/root/main/index.tt b/root/main/index.tt
index 70828f2..c5dd04b 100644
--- a/root/main/index.tt
+++ b/root/main/index.tt
@@ -137,7 +137,9 @@
[% FOR release=releases %]
<div class="artwork-cont" style="text-align: center">
<div class="artwork">
- [%- display_artwork (release.artwork, release.cover_art_url, cover_art_message) -%]
+ <a href="[% c.uri_for_action('/release/show', [ release.release.gid ]) %]">
+ [%- display_artwork_image(release.artwork, release.cover_art_url, cover_art_message) -%]
+ </a>
[% descriptive_link(release.release) %]
</div>
</div>
commit 2621a425f7fc3f3c129e4941bddf5b575ef4d8b4
Author: Oliver Charles <[email protected]>
Date: Sat Aug 18 13:46:36 2012 +0100
Show latest releases with cover art on the homepage
diff --git a/lib/MusicBrainz/Server/Controller/Root.pm b/lib/MusicBrainz/Server/Controller/Root.pm
index 6af82fe..e075154 100644
--- a/lib/MusicBrainz/Server/Controller/Root.pm
+++ b/lib/MusicBrainz/Server/Controller/Root.pm
@@ -41,9 +41,14 @@ other than the blog feed.
sub index : Path Args(0)
{
my ($self, $c) = @_;
+
+ my @newest_releases = $c->model('Release')->newest_releases_with_artwork;
+ $c->model('ArtistCredit')->load(map { $_->{release} } @newest_releases);
+
$c->stash(
blog => $c->model('Blog')->get_latest_entries,
- template => 'main/index.tt'
+ template => 'main/index.tt',
+ releases => \@newest_releases
);
}
diff --git a/lib/MusicBrainz/Server/Data/Release.pm b/lib/MusicBrainz/Server/Data/Release.pm
index 9238f0a..0e65874 100644
--- a/lib/MusicBrainz/Server/Data/Release.pm
+++ b/lib/MusicBrainz/Server/Data/Release.pm
@@ -5,7 +5,7 @@ use namespace::autoclean -also => [qw( _where_status_in _where_type_in )];
use Carp 'confess';
use List::UtilsBy qw( partition_by );
-use MusicBrainz::Server::Constants qw( :quality );
+use MusicBrainz::Server::Constants qw( :quality $EDIT_RELEASE_CREATE $STATUS_APPLIED );
use MusicBrainz::Server::Entity::Barcode;
use MusicBrainz::Server::Entity::PartialDate;
use MusicBrainz::Server::Entity::Release;
@@ -22,6 +22,7 @@ use MusicBrainz::Server::Data::Utils qw(
query_to_list_limited
);
use MusicBrainz::Server::Log qw( log_debug );
+use Net::CoverArtArchive::CoverArt;
extends 'MusicBrainz::Server::Data::CoreEntity';
with 'MusicBrainz::Server::Data::Role::Annotation' => { type => 'release' };
@@ -963,6 +964,46 @@ sub filter_barcode_changes {
};
}
+sub newest_releases_with_artwork {
+ my $self = shift;
+ my $query = '
+ SELECT DISTINCT ON (edit.id) ' . $self->_columns . ',
+ cover_art.id AS cover_art_id
+ FROM ' . $self->_table . '
+ JOIN cover_art_archive.cover_art ON (cover_art.release = release.id)
+ JOIN cover_art_archive.cover_art_type
+ ON (cover_art.id = cover_art_type.id)
+ JOIN edit_release ON edit_release.release = release.id
+ JOIN edit ON edit.id = edit_release.edit
+ WHERE cover_art_type.type_id = ?
+ AND cover_art.ordering = 1
+ AND edit.status = ?
+ AND edit.type = ?
+ ORDER BY edit.id DESC
+ LIMIT 4';
+
+ my $FRONT = 1;
+ return query_to_list(
+ $self->c->sql, sub {
+ my $row = shift;
+ my $release = $self->_new_from_row($row);
+ my $mbid = $release->gid;
+ my $prefix = DBDefs::COVER_ART_ARCHIVE_DOWNLOAD_PREFIX."/release/$mbid";
+ my $caa_id = $row->{cover_art_id};
+ return {
+ release => $self->_new_from_row($row),
+ artwork => Net::CoverArtArchive::CoverArt->new(
+ id => $caa_id,
+ image => sprintf('%s/%s.jpg', $prefix, $caa_id),
+ large_thumbnail => sprintf('%s/%s-500.jpg', $prefix, $caa_id),
+ small_thumbnail => sprintf('%s/%s-250.jpg', $prefix, $caa_id),
+ )
+ }
+ },
+ $query, $FRONT, $STATUS_APPLIED, $EDIT_RELEASE_CREATE
+ );
+}
+
__PACKAGE__->meta->make_immutable;
no Moose;
1;
diff --git a/root/main/index.tt b/root/main/index.tt
index 9ba10ac..70828f2 100644
--- a/root/main/index.tt
+++ b/root/main/index.tt
@@ -1,7 +1,21 @@
[% WRAPPER "layout.tt" nosuffix=1 title=l("MusicBrainz - The Open Music Encyclopedia") homepage=1 %]
- <div class="sidebar" id="sidebar">
- <div class="information">
- <div id="taggers" class="triple-column">
+ <div id="sidebar">
+ <div id="blog-feed" class="triple-column feature-column">
+ <h2>[% l('MusicBrainz Blog') %]</h2>
+ <p style="margin: 1em 0 0;"><strong>[% l('Latest posts:') %]</strong></p>
+ <ul style="margin: 0; padding-left: 20px;">
+ [% FOR item IN blog.items %]
+ <li><a href="[% item.url %]">[% item.title %]</a></li>
+ [% LAST IF loop.count == 6 %]
+ [% END %]
+ </ul>
+ <p style="margin: 1em 0; text-align: right;">
+ <strong><a href="http://blog.musicbrainz.org">[% l('Read more »') %]</a></strong>
+ </p>
+ </div>
+
+ <div style="float: right;">
+ <div id="taggers" class="triple-column feature-column">
<h2 class="taggers">[% l('Tag Your Music') %]</h2>
<img src="[% c.uri_for('/static/images/logos/musicbrainz-picard.png') %]" alt="MusicBrainz Picard logo" />
<ul>
@@ -13,7 +27,7 @@
</ul>
</div>
- <div id="quick-start" class="triple-column">
+ <div id="quick-start" class="triple-column feature-column">
<h2>[% l('Quick Start') %]</h2>
<img src="[% c.uri_for('/static/images/layout/quick-start.png') %]" alt="quick start icon" />
<ul>
@@ -89,7 +103,7 @@
</div>
<div id="triple">
- <div id="community" class="triple-column first-column">
+ <div id="community" class="triple-column first-column feature-column">
<h2 class="community">[% l('Community') %]</h2>
<img src="[% c.uri_for('/static/images/layout/community.png') %]" alt="community icon" />
<p>
@@ -97,7 +111,7 @@
</p>
</div>
- <div id="products" class="triple-column">
+ <div id="products" class="triple-column feature-column">
<h2 class="products">[% l('MusicBrainz Database') %]</h2>
<img src="[% c.uri_for('/static/images/layout/download.png') %]" alt="download icon" />
<p>
@@ -105,7 +119,7 @@
</p>
</div>
- <div id="developers" class="triple-column last-column">
+ <div id="developers" class="triple-column last-column feature-column">
<h2 class="developers">[% l('Developers') %]</h2>
<img src="[% c.uri_for('/static/images/layout/developer.png') %]" alt="developers icon" />
<p>
@@ -113,4 +127,21 @@
</p>
</div>
</div>
+
+ <div style="clear: both; padding-top: 1%;" class="feature-column">
+ <h2>[% l('Latest Additions') %]</h2>
+ <p>[% l("MusicBrainz editors add an average of 250 releases <em>every
+ day</em>. Here's some of the latest releases that have been
+ added:") %]</p>
+ <div style="text-align: center">
+ [% FOR release=releases %]
+ <div class="artwork-cont" style="text-align: center">
+ <div class="artwork">
+ [%- display_artwork (release.artwork, release.cover_art_url, cover_art_message) -%]
+ [% descriptive_link(release.release) %]
+ </div>
+ </div>
+ [% END %]
+ </div>
+ </div>
[% END %]
diff --git a/root/static/styles/extra/homepage.css b/root/static/styles/extra/homepage.css
index b77ac19..4605022 100644
--- a/root/static/styles/extra/homepage.css
+++ b/root/static/styles/extra/homepage.css
@@ -37,7 +37,7 @@
margin-left: 60px;
}
-.triple-column h2 {
+.feature-column h2 {
color: #FFFFFF;
background-color: #736DAB;
padding: 5px 0 5px 7px;
-----------------------------------------------------------------------
hooks/post-receive
--
mb_server