Author: acid2
Date: 2008-07-24 22:19:33 +0000 (Thu, 24 Jul 2008)
New Revision: 10158
Added:
mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Facade/Annotation.pm
mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Model/Annotation.pm
Modified:
mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Annotation.pm
mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Controller/Artist.pm
mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Controller/Label.pm
mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Controller/Release.pm
mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Controller/Tags.pm
mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Controller/Track.pm
mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Controller/Url.pm
mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Model/Tag.pm
mb_server/branches/TemplateToolkit/root/artist/annotation.tt
mb_server/branches/TemplateToolkit/root/artist/appearances.tt
mb_server/branches/TemplateToolkit/root/css/entity.css
mb_server/branches/TemplateToolkit/root/tag/summary.tt
Log:
Completing the move of the artist controller to use facades. Also added annotation support
Modified: mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Annotation.pm
===================================================================
--- mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Annotation.pm 2008-07-24 20:38:10 UTC (rev 10157)
+++ mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Annotation.pm 2008-07-24 22:19:33 UTC (rev 10158)
@@ -229,6 +229,20 @@
$_[0]->{rowid} = $_[1];
}
+sub SetEntity
+{
+ my ($self, $entity_type, $entity_id) = @_;
+
+ use Switch;
+ switch ($entity_type)
+ {
+ case('artist') { $self->SetArtist($entity_id); }
+ case('label') { $self->SetLabel($entity_id); }
+ case('release') { $self->SetRelease($entity_id); }
+ case('track') { $self->SetTrack($entity_id); }
+ }
+}
+
sub SetCreationTime
{
$_[0]->{creation_time} = $_[1];
Modified: mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Controller/Artist.pm
===================================================================
--- mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Controller/Artist.pm 2008-07-24 20:38:10 UTC (rev 10157)
+++ mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Controller/Artist.pm 2008-07-24 22:19:33 UTC (rev 10158)
@@ -10,8 +10,6 @@
use ModDefs;
use Moderation;
use MusicBrainz::Server::Adapter qw( LoadEntity Google );
-use MusicBrainz::Server::Adapter::Relations qw(LoadRelations);
-use MusicBrainz::Server::Adapter::Tag qw(PrepareForTagCloud);
use MusicBrainz::Server::Alias;
use MusicBrainz::Server::Annotation;
use MusicBrainz::Server::Artist;
@@ -197,9 +195,10 @@
my $show_all = $c->req->query_params->{show_all} || 0;
- $c->stash->{tags} = $c->model('Tag')->top_tags($artist);
- $c->stash->{releases} = $c->model('Release')->load_for_artist($artist, $show_all);
- $c->stash->{relations} = $c->model('Relation')->load_relations($artist);
+ $c->stash->{tags} = $c->model('Tag')->top_tags($artist);
+ $c->stash->{releases} = $c->model('Release')->load_for_artist($artist, $show_all);
+ $c->stash->{relations} = $c->model('Relation')->load_relations($artist);
+ $c->stash->{annotation} = $c->model('Annotation')->load_latest_annotation($artist);
#my $annotation = LoadArtistAnnotation($mb->{DBH}, $artist);
# my @releases = LoadArtistReleases($artist, $short_list);
@@ -314,62 +313,6 @@
return $annotation->GetLatestAnnotation;
}
-sub LoadArtistTags
-{
- my ($dbh, $tagCount, $artist) = @_;
-
- my $t = MusicBrainz::Server::Tag->new($dbh);
- my $tagHash = $t->GetTagHashForEntity('artist', $artist->GetId, $tagCount + 1);
-
- sort { $tagHash->{$b} <=> $tagHash->{$a}; } keys %{$tagHash};
-}
-
-sub LoadArtistReleases
-{
-}
-
-=head2 load_relations $artist
-
-Load the relations for a given artist. Returns a reference, ready for store
-in the stash.
-
-=cut
-
-sub load_relations
-{
- my $artist = shift;
-
- my %opts = (
- to_type => ['label', 'url', 'artist'],
- );
-
- return LoadRelations($artist, 'artist', %opts);
-}
-
-sub CheckAttributes
-{
- my ($a) = @_;
-
- for my $attr ($a->GetAttributes)
- {
- $a->{_attr_type} = $attr if ($attr >= MusicBrainz::Server::Release::RELEASE_ATTR_SECTION_TYPE_START &&
- $attr <= MusicBrainz::Server::Release::RELEASE_ATTR_SECTION_TYPE_END);
- $a->{_attr_status} = $attr if ($attr >= MusicBrainz::Server::Release::RELEASE_ATTR_SECTION_STATUS_START &&
- $attr <= MusicBrainz::Server::Release::RELEASE_ATTR_SECTION_STATUS_END);
- $a->{_attr_type} = $attr if ($attr == MusicBrainz::Server::Release::RELEASE_ATTR_NONALBUMTRACKS);
- }
-
- # The "actual values", used for display
- $a->{_actual_attr_type} = $a->{_attr_type};
- $a->{_actual_attr_status} = $a->{_attr_status};
-
- # Used for sorting
- $a->{_attr_type} = MusicBrainz::Server::Release::RELEASE_ATTR_SECTION_TYPE_END + 1
- unless defined $a->{_attr_type};
- $a->{_attr_status} = MusicBrainz::Server::Release::RELEASE_ATTR_SECTION_STATUS_END + 1
- unless defined $a->{_attr_status};
-};
-
=head1 LICENSE
This software is provided "as is", without warranty of any kind, express or
Modified: mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Controller/Label.pm
===================================================================
--- mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Controller/Label.pm 2008-07-24 20:38:10 UTC (rev 10157)
+++ mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Controller/Label.pm 2008-07-24 22:19:33 UTC (rev 10158)
@@ -6,8 +6,6 @@
use base 'Catalyst::Controller';
use MusicBrainz::Server::Adapter qw(LoadEntity Google);
-use MusicBrainz::Server::Adapter::Relations qw(LoadRelations);
-use MusicBrainz::Server::Adapter::Tag qw(PrepareForTagCloud);
use MusicBrainz::Server::Label;
=head1 NAME
Modified: mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Controller/Release.pm
===================================================================
--- mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Controller/Release.pm 2008-07-24 20:38:10 UTC (rev 10157)
+++ mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Controller/Release.pm 2008-07-24 22:19:33 UTC (rev 10158)
@@ -8,8 +8,6 @@
use ModDefs;
use MusicBrainz;
use MusicBrainz::Server::Adapter qw(LoadEntity Google);
-use MusicBrainz::Server::Adapter::Relations qw(LoadRelations);
-use MusicBrainz::Server::Adapter::Tag qw(PrepareForTagCloud);
use MusicBrainz::Server::Country;
use MusicBrainz::Server::CoverArt;
use MusicBrainz::Server::Release;
Modified: mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Controller/Tags.pm
===================================================================
--- mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Controller/Tags.pm 2008-07-24 20:38:10 UTC (rev 10157)
+++ mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Controller/Tags.pm 2008-07-24 22:19:33 UTC (rev 10158)
@@ -6,7 +6,6 @@
use base 'Catalyst::Controller';
use MusicBrainz::Server::Adapter qw(LoadEntity);
-use MusicBrainz::Server::Adapter::Tag qw(PrepareForTagCloud);
use MusicBrainz::Server::Artist;
use MusicBrainz::Server::Label;
use MusicBrainz::Server::Release;
Modified: mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Controller/Track.pm
===================================================================
--- mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Controller/Track.pm 2008-07-24 20:38:10 UTC (rev 10157)
+++ mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Controller/Track.pm 2008-07-24 22:19:33 UTC (rev 10158)
@@ -6,7 +6,6 @@
use base 'Catalyst::Controller';
use MusicBrainz::Server::Adapter qw(LoadEntity);
-use MusicBrainz::Server::Adapter::Relations qw(LoadRelations);
use MusicBrainz::Server::Track;
=head1 NAME
Modified: mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Controller/Url.pm
===================================================================
--- mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Controller/Url.pm 2008-07-24 20:38:10 UTC (rev 10157)
+++ mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Controller/Url.pm 2008-07-24 22:19:33 UTC (rev 10158)
@@ -6,8 +6,6 @@
use base 'Catalyst::Controller';
use Carp;
-use MusicBrainz::Server::Adapter qw( LoadEntity );
-use MusicBrainz::Server::Adapter::Relations qw( LoadRelations );
use MusicBrainz::Server::URL;
use MusicBrainz;
Added: mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Facade/Annotation.pm
Added: mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Model/Annotation.pm
Modified: mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Model/Tag.pm
===================================================================
--- mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Model/Tag.pm 2008-07-24 20:38:10 UTC (rev 10157)
+++ mb_server/branches/TemplateToolkit/lib/MusicBrainz/Server/Model/Tag.pm 2008-07-24 22:19:33 UTC (rev 10158)
@@ -8,7 +8,6 @@
use Carp;
use List::Util qw(min max sum);
use MusicBrainz::Server::Tag;
-use MusicBrainz::Server::Adapter::Tag qw(PrepareForTagCloud);
sub ACCEPT_CONTEXT
{
Modified: mb_server/branches/TemplateToolkit/root/artist/annotation.tt
===================================================================
--- mb_server/branches/TemplateToolkit/root/artist/annotation.tt 2008-07-24 20:38:10 UTC (rev 10157)
+++ mb_server/branches/TemplateToolkit/root/artist/annotation.tt 2008-07-24 22:19:33 UTC (rev 10158)
@@ -1,3 +1,8 @@
-<div>
- [% annotation | html %]
+<div class="annotation">
+ <div class="body">
+ [% annotation.short_text_as_html %]
+ </div>
+ <div class="details">
+ Annotation last modified [% annotation.last_modified %].
+ </div>
</div>
Modified: mb_server/branches/TemplateToolkit/root/artist/appearances.tt
===================================================================
--- mb_server/branches/TemplateToolkit/root/artist/appearances.tt 2008-07-24 20:38:10 UTC (rev 10157)
+++ mb_server/branches/TemplateToolkit/root/artist/appearances.tt 2008-07-24 22:19:33 UTC (rev 10158)
@@ -19,7 +19,8 @@
<td class="year[% item.year == last_year && item.year != "?" ? " timeline" : "" -%]">
[% item.year %]
</td>
- <td>[% item.name %]</td>
+ <td>[% INCLUDE "components/entity-link.tt" entity=item.artist %]</td>
+ <td>[% INCLUDE "components/entity-link.tt" entity=item %]</td>
</tr>
[%- last_year = item.year -%]
[% END %]
Modified: mb_server/branches/TemplateToolkit/root/css/entity.css
===================================================================
--- mb_server/branches/TemplateToolkit/root/css/entity.css 2008-07-24 20:38:10 UTC (rev 10157)
+++ mb_server/branches/TemplateToolkit/root/css/entity.css 2008-07-24 22:19:33 UTC (rev 10158)
@@ -57,7 +57,7 @@
color; #000;
border: 1px solid #000;
margin-bottom: 1em;
- padding: 0.2em;
+ padding: 1pt 5pt;
}
div.RelationshipBox {
@@ -68,6 +68,19 @@
margin-bottom: 1em;
}
+div.annotation {
+ border: 1px solid #000;
+ margin-bottom: 1em;
+}
+
+div.annotation div.body,
+div.annotation div.details
+{ padding: 1pt 5pt; }
+
+div.annotation div.details {
+ border-top: 1px solid #000;
+}
+
span.artist_icon,
span.release_icon,
span.label_icon,
Modified: mb_server/branches/TemplateToolkit/root/tag/summary.tt
===================================================================
--- mb_server/branches/TemplateToolkit/root/tag/summary.tt 2008-07-24 20:38:10 UTC (rev 10157)
+++ mb_server/branches/TemplateToolkit/root/tag/summary.tt 2008-07-24 22:19:33 UTC (rev 10158)
@@ -6,10 +6,8 @@
[%- END -%]
[%- IF tags.size > 3 -%]
- <a href="[% entity_url(source, 'tags') %]">See all…</a>
+ <a href="[% entity_url(source, 'tags') %]">more…</a>
[%- END -%]
[%- ELSE -%]
(none)
[%- END -%]
-
-- <a href="[% tag_url %]">Tag this [% source.link_type %]</a>
_______________________________________________
MusicBrainz-commits mailing list
MusicBrainz-commits@...
http://lists.musicbrainz.org/mailman/listinfo/musicbrainz-commits