Merge pull request #4106 from solgenomics/topic/wishlist
[sgn.git] / mason / publication / index.mas
blob7438c9a588f29be51ea6c334bfe0fb2b930e1add
1 <%doc>
3 =head1 NAME
5 /publication/index.mas - a page for displaying SGN publication details
7 =head1 DESCRIPTION
9 parameters:
11 =over 1
13 =item $pubref
15 a hashref with all the parameters needed for printing the publication page!
17  $pubref->{pub_id}
18  $pubref->{pub}
19  $pubref->{schema}
21  $pubref->{curator}  (boolean)
22  $pubref->{submitter} (boolean)
23  $pubref->{is_owner} (boolean)
26 =back
28 =head1 AUTHOR
30 Naama Menda <nm249@cornell.edu>
32 =cut
34 </%doc>
37 <%args>
38   $pubref => undef
39   
40 </%args>
43 <%perl>
45 my $pub       = $pubref->{pub};
46 my $pub_id    = $pubref->{pub_id};
47 my $action    = $pubref->{action} || 'view';
48 my $person_id = $pubref->{person_id};
49 my $curator   = $pubref->{curator};
50 my $submitter = $pubref->{submitter};
51 my $sequencer = $pubref->{sequencer};
52 my $doi       = $pubref->{doi};
53 my $stocks    = $pubref->{stocks};
54 my $dbh       = $pubref->{dbh};
55 my @xrefs     = $pub->get_dbxrefs;
56 my $dbxrefs_html;
57 foreach my $d(@xrefs) {
58         my $db = $d->get_db_name();
59         if ($db  ne 'SGN_ref') { 
60             my $url = $d->get_urlprefix() . $d->get_url() . $d->get_accession();
61             $dbxrefs_html .=  qq| <a href= "$url" >| . "$db:" . $d->get_accession() . "</a><br />";
62         }
63     }
65 my @loci = $pub->get_loci;
66 my $loci_link;
67 my $loci_count = 0;
68 foreach my $locus(@loci)  {
69   my $locus_id = $locus->get_locus_id();
70   my $locus_symbol= $locus->get_locus_symbol();
71   my $cname=$locus->get_common_name();
72   my $obsolete = $locus->get_obsolete;
73   if ($obsolete ne 't') {
74     $loci_link .= qq|<a href="/locus/$locus_id/view">$cname '$locus_symbol'</a><br />| ;
75     $loci_count++;
76   }
80 my $stocks_link;
81 my $stocks_count = 0;
82 foreach my $stock(@$stocks)  {
83   my $stock_id = $stock->stock_id();
84   my $stock_name= $stock->uniquename();
85   my $obsolete = $stock->is_obsolete;
86   unless ($obsolete) {
87     $stocks_link .= qq|<a href="/stock/$stock_id/view">$stock_name</a><br /> |;
88     $stocks_count++;
89   }
92 my $this_page = "/publication/$pub_id/view/";
93 if ($doi) { $this_page = "/doi/pub/$doi/"; }
94 my $pub_title = $pub->get_title;
97 </%perl>
100 <& /util/import_javascript.mas, classes => ["jquery","jqueryui", "CXGN.Phenome.Tools" ] &>
103 <& /page/page_title.mas, title=> $pub_title  || 'New publication' &>
106 <&| /page/info_section.mas, title=>"Publication details"  &>
109 <& /page/form.mas,
110     object_type          => 'publication',
111     object_id            => "$pub_id",
112     form_name            => 'pub_form', 
113     server_side_script   => '/jsforms/pub_ajax_form.pl',
114     form_div_name        => 'pub_details',
115     js_object_name       => 'pubForm',
116     page_url             => "$this_page",
117     alternate_new_button => '<a class="btn btn-sm btn-default" href ="/publication/0/new">New</a>'
118     &>
121 </&>
124 % if ($pub_id) {
126 <&| /page/info_section.mas, title=>"External resources", 
127   collapsible=>1, collapsed=>0 
128   &>
129   <% $dbxrefs_html %>
130   
131 </&>
133 <&| /page/info_section.mas, title=>"Associated loci (" . $loci_count  . ")", collapsible=>1, collapsed=>1 &>
134   <% $loci_link %>
136 </&>
138 <&| /page/info_section.mas, title=>"Associated stocks (" .  $stocks_count  . ")", collapsible=>1, collapsed=>1 &>
139   <% $stocks_link %>
141 </&>
144 <& /page/comments.mas, object_type=>'publication', object_id=>$pub_id, referer=>$this_page &>
147 % }