Merge pull request #2754 from solgenomics/topic/fix_homepage_add_accessions_dialog
[sgn.git] / mason / util / barcode.mas
blobd84826bc66a32ffa2217a364bbf179070218c413
2 <%doc>
4 =head1 NAME
6 /util/barcode.mas - generate a barcode from an identifier and prints text alongside the barcode
8 =head1 DESCRIPTION
10 This mason component calls SGN::Controller::Barcode.
12 Arguments:
14  $identifier (required) - will be converted to barcode
15  $text - what's printed alongside barcode (human readable)
18 =head1 AUTHOR
20 Lukas Mueller <lam87@cornell.edu>
22 =cut
24 </%doc>
26 <%args>
27 $identifier
28 $text => ''
29 $format => ''
30 $trial_id => ''
31 $trial_name => ''
32 </%args>
34 <%perl>
36 our %urlencode;
37 use Tie::UrlEncoder;
38 use URI::Encode;
39 my $uri     = URI::Encode->new( { encode_reserved => 0 } );
42 my $encoded_id = $urlencode{$identifier};
43 my $encoded_text = $urlencode{$text};
44 my $link;
45 my $barcode_name;
47 if ($format eq "code128") {
48   $link = "/barcode/code128png/$encoded_id/$encoded_text";
50 if ($format eq "trial_qrcode"){
51   $link = "/barcode/trial/$trial_id/$format";
52   $barcode_name = $trial_name." ".$identifier;
54 if ($format eq "stock_qrcode") {
55     my $encoded = $uri->encode($encoded_text);
56     $link = "/barcode/trial/$encoded/$format";
57     #$link = "/barcode/trial/$encoded_text/$format";
58     $barcode_name = $text;
60 if ($format eq "qrcode") {
61   $link = "/barcode/trial/$trial_id";
62   #my $info = "http://solgenomics.net/stock/$identifier/view";
63   #$link = "/barcode/qrcodepng/$info/$encoded_text";
64   #$link = "/barcode/qrcodepng/$identifier/$encoded_text";
68 </%perl>
71  <center><img src="<% $link %>" /> </br><% $barcode_name%> </center>