1 <div class="shortbugstatus">
2 <a href="{html_escape(bug_links(bug=>$status{bug_num},links_only=>1))}"{length($status{done})?' style="text-decoration:line-through"':''}>#{html_escape($status{bug_num})}</a>
3 [<font face="fixed"><span class="link" onclick="javascript:extra_status_visible({html_escape($status{bug_num})})">{
4 my $output = qq(<abbr title="$status{severity}">);
5 my $temp = $status{severity};
6 $temp = substr $temp,0,1;
7 if (isstrongseverity($status{severity})){
8 $temp = q(<em class="severity">).uc($temp).q(</em>);
10 $output .= $temp.qq(</abbr>);
11 length($output)?$output:' ';
14 for my $tag (@{$status{tags_array}}) {
15 next unless exists $config{tags_single_letter}{$tag};
16 $output .= q(<abbr title=").$tag.q(">).$config{tags_single_letter}{$tag}.q(</abbr>);
18 length($output)?$output:' ';
21 if (@{$status{mergedwith_array}}) {
22 $output .= qq(<abbr title="merged">=</abbr>);
24 if (@{$status{fixed_versions}}) {
25 $output .= qq(<abbr title="fixed versions">☺</abbr>);
27 if (@{$status{blockedby_array}}) {
28 $output .= qq(<abbr title="blocked by">♙</abbr>);
30 if (@{$status{blocks_array}}) {
31 $output .= qq(<abbr title="blocks">♔</abbr>);
33 if (length($status{forwarded})) {
34 $output .= qq(<abbr title="forwarded">↝</abbr>);
36 if ($status{archived}) {
37 $output .= qq(<abbr title="archived">♲</abbr>);
39 if (length $status{affects}){
40 $output .= qq(<abbr title="affects">☣</abbr>);
42 length($output)?$output:' ';
44 [{package_links(package=>[split /,/,$status{package}],options=>\%options,class=>"submitter")}]
45 <a href="{html_escape(bug_links(bug=>$status{bug_num},links_only=>1))}">{html_escape($status{subject})}</a>
46 <div id="extra_status_{html_escape($status{bug_num})}" class="shortbugstatusextra">
47 <span>Reported by: {package_links(submitter=>$status{originator})};</span>
48 <span>Date: {$status{date_text}};</span>
50 if (defined $status{owner} and length $status{owner}) {
51 $output = q(<span>Owned by: ).package_links(owner=>$status{owner}).qq(;</span>\n);
54 }<span>Severity: {my $output = $status{severity};
55 if (isstrongseverity($status{severity})) {
56 $output = q(<em class="severity">).$status{severity}.q(</em>);
60 <span>{@{$status{tags_array}}?q(Tags: ).html_escape(join(q(, ),@{$status{tags_array}})).';':''}</span>
62 if (@{$status{mergedwith_array}}) {
63 $output .= q(<span>Merged with ).join(qq(,\n),bug_links(bug=>$status{mergedwith_array})).qq(;</span>\n);
67 if (@{$status{found_versions}} or @{$status{fixed_versions}}) {
68 $output .= '<a href="'.
69 version_url(package => $status{package},
70 found => $status{found_versions},
71 fixed => $status{fixed_versions},
74 if (@{$status{found_versions}}) {
75 $output .= q(<span>Found in );
76 $output .= (@{$status{found_versions}} == 1) ? 'version ' : 'versions ';
77 $output .= join(qq(, ),map {html_escape($_);} @{$status{found_versions}}).qq(;</span>\n);
79 if (@{$status{fixed_versions}}) {
80 $output .= q(<span>Fixed in );
81 $output .= (@{$status{fixed_versions}} == 1) ? 'version ' : 'versions ';
82 $output .= join(qq(, ),map {html_escape($_);} @{$status{fixed_versions}}).qq(;</span>\n);
84 if (@{$status{found_versions}} or @{$status{fixed_versions}}) {
89 if (length($status{forwarded})) {
90 $output = "<span><strong>Forwarded</strong> to " .
93 split /\,\s+/,$status{forwarded}
98 if (length($status{done})) {
99 $output .= q(<span><strong>Done:</strong> ).html_escape($status{done}).q(;</span> )
103 my $days = $status{archive_days};
104 if ($days >= 0 and defined $status{location} and $status{location} ne 'archive') {
105 $output .= "<span><strong>Can be archived" .
106 ( $days == 0 ? " today" : $days == 1 ? " in $days day" : " in $days days" ) .
107 ";</strong></span>\n";
109 elsif (defined $status{location} and $status{location} eq 'archived') {
110 $output .= "<span><strong>Archived</strong></span>;\n";
114 if (@{$status{blockedby_array}}) {
115 $output .= q(<span>Fix blocked by ).
117 map {bug_links(bug=>$_->{bug_num}).q(: ).html_escape($_->{subject})}
118 @{$status{blockedby_array}}).q(;</span> )
120 if (@{$status{blocks_array}}) {
121 $output .= q(<span>Blocking fix for ).
123 map {bug_links(bug=>$_->{bug_num}).q(: ).html_escape($_->{subject})}
124 @{$status{blocks_array}}).q(;</span> )
128 my ($days_last,$eng_last) = secs_to_english(time - $status{log_modified});
129 my ($days,$eng) = secs_to_english(time - $status{date});
134 $font = "em" if ($days > 30);
135 $font = "strong" if ($days > 60);
136 $efont = "</$font>" if ($font);
137 $font = "<$font>" if ($font);
139 $output .= "<span>${font}Filed $eng ago$efont;</span>\n";
141 if ($days_last > 7) {
144 $font = "em" if ($days_last > 30);
145 $font = "strong" if ($days_last > 60);
146 $efont = "</$font>" if ($font);
147 $font = "<$font>" if ($font);
149 $output .= "<span>${font}Modified $eng_last ago$efont;</span>\n";
153 if (exists $status{archived} and $status{archived}) {
154 $output .= q(<span>Bug is archived. No further changes may be made.<span> )