r10158 - in mb_server/branches/TemplateToolkit: lib/MusicBrainz/Server lib/MusicBrainz/Server/Controller lib/MusicBrainz/Server/Facade lib/MusicBrainz/Server/Model root/artist root/css root/tag

by root-97 :: Rate this Message:

Reply (Restricted by the Administrator) | Reply to Author | View in Thread

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
LightInTheBox - Buy quality products at wholesale price!
 
Creative Commons EFF GPL LGPL
Original Design|vacubomb.com Contact Details Server Version: RELEASE-20060712