Merge pull request #4106 from solgenomics/topic/wishlist
[sgn.git] / mason / biosource / sample / pub_brief.mas
blobf3ebd991d836da148b9f52b548a310bf59d4dca1
1 <%doc>
3 =head1 NAME
5  pub_brief.mas - show a table of publications
7 =head1 ARGS
9 =head2 pub_list
11 arrayref of BCS publication rows to render
13 =cut
15 </%doc>
17 <%args>
18   $schema
19   $pub_list
20 </%args>
22 <&| /page/info_section.mas,
23     title       => 'Publications',
24     collapsible => 1,
25  &>
26 % if( @pub_objects ) {
27   <% columnar_table_html(
28        headings => [ 'Year', 'Title', 'Series' ],
29        __align    => 'lll',
30        __alt_freq => 2,
31        data => [ map {
32            my $pub = $_;
33            my $id = $pub->pub_id;
35            [ encode_entities($pub->pyear),
36              qq|<a href="/publication/$id/view">|.encode_entities($pub->title).'</a>',
37              encode_entities( $pub->series_name ),
38            ]
39          } @pub_objects
40        ],
41    ) %>
42 % }
43 </&>
45 <%once>
46    use HTML::Entities;
47    use CXGN::Page::FormattingHelpers  qw/ columnar_table_html /;
48 </%once>
49 <%init>
51    # $pub_list is an arrayref of pub IDs.  inflate them to objects.
52    my @pub_objects =
53       $schema->resultset('Pub::Pub')
54              ->search(
55                  { pub_id => $pub_list },
56                  { order_by => [ 'pyear DESC', 'title' ] },
57                )
58              ->all;
60 </%init>