Login
[x]
Log in using an account from:
Fedora Account System
Red Hat Associate
Red Hat Customer
Or login using a Red Hat Bugzilla account
Forgot Password
Login:
Hide Forgot
Create an Account
Red Hat Bugzilla – Attachment 304689 Details for
Bug 406441
3.34: frontpage.cgi
[?]
New
Simple Search
Advanced Search
My Links
Browse
Requests
Reports
Current State
Search
Tabular reports
Graphical reports
Duplicates
Other Reports
User Changes
Plotly Reports
Bug Status
Bug Severity
Non-Defaults
|
Product Dashboard
Help
Page Help!
Bug Writing Guidelines
What's new
Browser Support Policy
5.0.4.rh83 Release notes
FAQ
Guides index
User guide
Web Services
Contact
Legal
This site requires JavaScript to be enabled to function correctly, please enable it.
[patch]
Patch to add frontpage to bz 3.0 (same functionality as 2.18) (v1)
frontpage.patch (text/plain), 32.18 KB, created by
David Lawrence
on 2008-05-06 20:57:59 UTC
(
hide
)
Description:
Patch to add frontpage to bz 3.0 (same functionality as 2.18) (v1)
Filename:
MIME Type:
Creator:
David Lawrence
Created:
2008-05-06 20:57:59 UTC
Size:
32.18 KB
patch
obsolete
>Index: frontpage.cgi >=================================================================== >RCS file: frontpage.cgi >diff -N frontpage.cgi >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ frontpage.cgi 6 May 2008 20:56:32 -0000 >@@ -0,0 +1,480 @@ >+#!/usr/bin/perl -wT >+# -*- Mode: perl; indent-tabs-mode: nil -*- >+# >+# The contents of this file are subject to the Mozilla Public >+# License Version 1.1 (the "License"); you may not use this file >+# except in compliance with the License. You may obtain a copy of >+# the License at http://www.mozilla.org/MPL/ >+# >+# Software distributed under the License is distributed on an "AS >+# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or >+# implied. See the License for the specific language governing >+# rights and limitations under the License. >+# >+# The Original Code is the Bugzilla Bug Tracking System. >+# >+# The Initial Developer of the Original Code is Netscape Communications >+# Corporation. Portions created by Netscape are >+# Copyright (C) 1998 Netscape Communications Corporation. All >+# Rights Reserved. >+# >+# Contributor(s): Jacob Steenhagen <jake@bugzilla.org> >+# Arne Schirmacher <arne@schirmacher.de> >+# Dave Lawrence <dkl@redhat.com> >+# >+ >+############################################################################### >+# Script Initialization >+############################################################################### >+ >+use strict; >+ >+use lib qw(.); >+ >+use Bugzilla; >+use Bugzilla::Constants; >+use Bugzilla::Search; >+use Bugzilla::Util; >+ >+my $logger = Bugzilla->logger; >+# If we're using bug groups to restrict bug entry, we need to know who the >+# user is right from the start. >+Bugzilla->login(LOGIN_REQUIRED); >+ >+my $user = Bugzilla->user; >+my $cgi = Bugzilla->cgi; >+my $dbh = Bugzilla->dbh; >+my $template = Bugzilla->template; >+my $vars = {}; >+ >+my $format = >+ $template->get_format("frontpage/main", scalar $cgi->param('format'), >+ scalar $cgi->param('ctype')); >+ >+############################################################################### >+# Main Body Execution >+############################################################################### >+ >+my @products; >+my $query = "SELECT products.name, count(*) AS count " . >+ "FROM bugs,products " . >+ "WHERE bugs.product_id=products.id AND products.disallownew = 0 " . >+ "AND bugs.bug_status IN ('NEEDINFO','MODIFIED','NEW','POST', " . >+ " 'ASSIGNED','ON_DEV','ON_QA','FAILS_QA','RELEASE_PENDING') " . >+ "GROUP BY products.name ORDER BY count DESC"; >+ >+my $sth = $dbh->prepare($query); >+$sth->execute(); >+ >+while (my @row = $sth->fetchrow_array()) { >+ if ($user->can_enter_product($row[0])) { >+ my $product = {}; >+ $product->{"product"} = shift @row; >+ $product->{"count"} = shift @row; >+ push(@products, $product); >+ } >+} >+$vars->{'products'} = \@products; >+$vars->{'products_buffer'} >+ = "bug_status=NEW&bug_status=MODIFIED&bug_status=ASSIGNED&bug_status=ON_DEV&bug_status=ON_QA&bug_status=RELEASE_PENDING&bug_status=POST&bug_status=FAILS_QA"; >+ >+if ($user->id) { >+ >+ ### Open Issues Assigned to You >+ >+ my $order = ["bugs.bug_id"]; >+ my @selectcolumns = ('bug_id','product','bug_status','resolution','bug_severity','component','short_desc'); >+ >+ # Define the columns that can be selected in a query >+ # and/or displayed in a bug list. >+ my $columns = Bugzilla::Search->columns($format); >+ >+ # Convert the list of columns being selected into a list of column names. >+ my @selectnames = map($columns->{$_}->{'name'}, @selectcolumns); >+ >+ my $params = new Bugzilla::CGI; >+ >+ $params->param(-name => 'bug_status', >+ -value => ['NEW','ASSIGNED','ON_QA']); >+ $params->param(-name => 'emailassigned_to1', -value => 1); >+ $params->param(-name => 'emailtype1', -value => 'exact'); >+ $params->param(-name => 'email1', -value => $user->login); >+ >+ my $search = new Bugzilla::Search( fields => \@selectnames, >+ params => $params, >+ order => $order ); >+ >+ my $query = $search->getSQL(); >+ >+ $logger->debug("Open Issues Assigned to You. sql query before execution: [ $query ]"); >+ >+ $sth = $dbh->prepare($query); >+ $sth->execute(); >+ >+ $logger->debug("sql query executed"); >+ >+ my @assignedbugs; >+ while (my @row = $sth->fetchrow_array()) { >+ my $bug = {}; >+ $bug->{"bug_id"} = shift @row; >+ $bug->{"product"} = shift @row; >+ $bug->{"bug_status"} = shift @row; >+ $bug->{"resolution"} = shift @row; >+ $bug->{"bug_severity"} = shift @row; >+ $bug->{"component"} = shift @row; >+ $bug->{"short_desc"} = shift @row; >+ push(@assignedbugs, $bug); >+ } >+ >+ $vars->{'assignedbugs'} = \@assignedbugs; >+ $vars->{'assignedbugs_buffer'} = "bug_status=ASSIGNED&bug_status=NEW&bug_status=ON_QA&emailassigned_to1=1" . >+ "&emailtype1=exact&email1=" . url_quote($user->login); >+ >+ ### Issues needing attention assigned to you >+ >+ $params = new Bugzilla::CGI; >+ >+ $params->param(-name => 'bug_status', >+ -value => ['NEEDINFO']); >+ $params->param(-name => 'emailassigned_to1', -value => 1); >+ $params->param(-name => 'emailtype1', -value => 'exact'); >+ $params->param(-name => 'email1', -value => $user->login); >+ >+ $search = new Bugzilla::Search( fields => \@selectnames, >+ params => $params, >+ order => $order); >+ >+ $query = $search->getSQL(); >+ >+ $logger->debug("Issues needing attention assigned to you. sql query before execution: [ $query ]"); >+ >+ $sth = $dbh->prepare($query); >+ $sth->execute(); >+ >+ $logger->debug("sql query executed"); >+ >+ my @needinfoassigned; >+ while ( my @row = $sth->fetchrow_array() ) { >+ my $bug = {}; >+ $bug->{"bug_id"} = shift @row; >+ $bug->{"product"} = shift @row; >+ $bug->{"bug_status"} = shift @row; >+ $bug->{"resolution"} = shift @row; >+ $bug->{"bug_severity"} = shift @row; >+ $bug->{"component"} = shift @row; >+ $bug->{"short_desc"} = shift @row; >+ push(@needinfoassigned, $bug); >+ } >+ >+ $vars->{'needinfoassigned'} = \@needinfoassigned; >+ $vars->{'needinfoassigned_buffer'} = "bug_status=NEEDINFO&emailassigned_to1=1&emailtype1=exact&email1=" . url_quote($user->login); >+ >+ ### Issues needing attention reported by you >+ >+ $params = new Bugzilla::CGI; >+ >+ $params->param(-name => 'field0-0-0', -value => 'flagtypes.name'); >+ $params->param(-name => 'type0-0-0', -value => 'equals'); >+ $params->param(-name => 'value0-0-0', -value => 'needinfo?'); >+ $params->param(-name => 'emailreporter1', -value => 1); >+ $params->param(-name => 'emailtype1', -value => 'exact'); >+ $params->param(-name => 'email1', -value => $user->login); >+ >+ $search = new Bugzilla::Search( fields => \@selectnames, >+ params => $params, >+ order => $order); >+ >+ $query = $search->getSQL(); >+ >+ $logger->debug("Issues needing attention reported by you. sql query before execution: [ $query ]"); >+ >+ $sth = $dbh->prepare($query); >+ $sth->execute(); >+ >+ $logger->debug("sql query executed"); >+ >+ my @needinforeporter; >+ while ( my @row = $sth->fetchrow_array() ) { >+ my $bug = {}; >+ $bug->{"bug_id"} = shift @row; >+ $bug->{"product"} = shift @row; >+ $bug->{"bug_status"} = shift @row; >+ $bug->{"resolution"} = shift @row; >+ $bug->{"bug_severity"} = shift @row; >+ $bug->{"component"} = shift @row; >+ $bug->{"short_desc"} = shift @row; >+ push(@needinforeporter, $bug); >+ } >+ >+ $vars->{'needinforeporter'} = \@needinforeporter; >+ $vars->{'needinforeporter_buffer'} >+ = "field0-0-0=flagtypes.name&type0-0-0=equals&value0-0-0=needinfo?&emailreporter1=1&emailtype1=exact&email1=" . url_quote($user->login); >+ >+ ### Issues Needing Retest >+ >+ $params = new Bugzilla::CGI; >+ >+ $params->param(-name => 'bug_status', >+ -value => ['MODIFIED']); >+ $params->param(-name => 'emailreporter1', -value => 1); >+ $params->param(-name => 'emailtype1', -value => 'exact'); >+ $params->param(-name => 'email1', -value => $user->login); >+ >+ $search = new Bugzilla::Search( fields => \@selectnames, >+ params => $params, >+ order => $order); >+ $query = $search->getSQL(); >+ >+ $logger->debug("Issues Needing Retest. sql query before execution: [ $query ]"); >+ >+ $sth = $dbh->prepare($query); >+ $sth->execute(); >+ >+ $logger->debug("sql query executed"); >+ >+ my @retestbugs; >+ while ( my @row = $sth->fetchrow_array() ) { >+ my $bug = {}; >+ $bug->{"bug_id"} = shift @row; >+ $bug->{"product"} = shift @row; >+ $bug->{"bug_status"} = shift @row; >+ $bug->{"resolution"} = shift @row; >+ $bug->{"bug_severity"} = shift @row; >+ $bug->{"component"} = shift @row; >+ $bug->{"short_desc"} = shift @row; >+ push(@retestbugs, $bug); >+ } >+ >+ $vars->{'retestbugs'} = \@retestbugs; >+ $vars->{'retestbugs_buffer'} = "bug_status=MODIFIED&emailreporter1=1&emailtype1=exact&email1=" . url_quote($user->login); >+ >+ ### New Issues Reported by You >+ >+ $params = new Bugzilla::CGI; >+ >+ $params->param(-name => 'bug_status', >+ -value => ['NEW']); >+ $params->param(-name => 'emailreporter1', -value => 1); >+ $params->param(-name => 'emailtype1', -value => 'exact'); >+ $params->param(-name => 'email1', -value => $user->login); >+ >+ $search = new Bugzilla::Search( fields => \@selectnames, >+ params => $params, >+ order => $order); >+ $query = $search->getSQL(); >+ >+ $logger->debug("New Issues Reported by You. sql query before execution: [ $query ]"); >+ >+ $sth = $dbh->prepare($query); >+ $sth->execute(); >+ >+ $logger->debug("sql query executed"); >+ >+ my @newbugs; >+ while ( my @row = $sth->fetchrow_array() ) { >+ my $bug = {}; >+ $bug->{"bug_id"} = shift @row; >+ $bug->{"product"} = shift @row; >+ $bug->{"bug_status"} = shift @row; >+ $bug->{"resolution"} = shift @row; >+ $bug->{"bug_severity"} = shift @row; >+ $bug->{"component"} = shift @row; >+ $bug->{"short_desc"} = shift @row; >+ push(@newbugs, $bug); >+ } >+ >+ $vars->{'newbugs'} = \@newbugs; >+ $vars->{'newbugs_buffer'} = "bug_status=NEW&emailreporter1=1&emailtype1=exact&email1=" . url_quote($user->login); >+ >+ ### Issues in Progress Reported by You >+ >+ $params = new Bugzilla::CGI; >+ >+ $params->param(-name => 'bug_status', >+ -value => ['ASSIGNED', 'ON_DEV','ON_QA','VERIFIED','RELEASE_PENDING','FAILS_QA','POST']); >+ $params->param(-name => 'emailreporter1', -value => 1); >+ $params->param(-name => 'emailtype1', -value => 'exact'); >+ $params->param(-name => 'email1', -value => $user->login); >+ >+ $search = new Bugzilla::Search( fields => \@selectnames, >+ params => $params, >+ order => $order); >+ $query = $search->getSQL(); >+ >+ $logger->debug("Issues in Progress Reported by You. sql query before execution: [ $query ]"); >+ >+ $sth = $dbh->prepare($query); >+ $sth->execute(); >+ >+ $logger->debug("sql query executed"); >+ >+ my @inprogressbugs; >+ while (my @row = $sth->fetchrow_array()) { >+ my $bug = {}; >+ $bug->{"bug_id"} = shift @row; >+ $bug->{"product"} = shift @row; >+ $bug->{"bug_status"} = shift @row; >+ $bug->{"resolution"} = shift @row; >+ $bug->{"bug_severity"} = shift @row; >+ $bug->{"component"} = shift @row; >+ $bug->{"short_desc"} = shift @row; >+ push(@inprogressbugs, $bug); >+ } >+ >+ $vars->{'inprogressbugs'} = \@inprogressbugs; >+ $vars->{'inprogressbugs_buffer'} = "bug_status=ASSIGNED" . >+ "&bug_status=ON_DEV" . >+ "&bug_status=ON_QA&bug_status=FAILS_QA" . >+ "&bug_status=VERIFIED" . >+ "&bug_status=RELEASE_PENDING" . >+ "&bug_status=POST&emailreporter1=1&emailtype1=exact" . >+ "&email1=" . url_quote($user->login); >+} >+ >+my $attach_join_clause = "flags.attach_id = attachments.attach_id"; >+if (Bugzilla->params->{insidergroup} && !$user->in_group(Bugzilla->params->{insidergroup})) { >+ $attach_join_clause .= " AND attachments.isprivate < 1"; >+} >+ >+my @grouplist = (); >+if ($user) { >+ foreach my $name (keys %{$user->groups}) { >+ push(@grouplist, $user->groups->{$name}); >+ } >+} >+ >+$query = >+# Select columns describing each flag, the bug/attachment on which >+# it has been set, who set it, and of whom they are requesting it. >+" SELECT flags.id, flagtypes.name, >+ flags.status, >+ flags.bug_id, bugs.short_desc, >+ products.name, components.name, >+ flags.attach_id, attachments.description, >+ requesters.realname, requestees.realname, >+" . $dbh->sql_date_format('flags.creation_date', '%Y.%m.%d %H:%i') . >+# Use the flags and flagtypes tables for information about the flags, >+# the bugs and attachments tables for target info, the profiles tables >+# for setter and requestee info, the products/components tables >+# so we can display product and component names, and the bug_group_map >+# table to help us weed out secure bugs to which the user should not have >+# access. >+" >+ FROM flags >+ LEFT JOIN attachments >+ ON ($attach_join_clause) >+ INNER JOIN flagtypes >+ ON flags.type_id = flagtypes.id >+ INNER JOIN profiles AS requesters >+ ON flags.setter_id = requesters.userid >+ LEFT JOIN profiles AS requestees >+ ON flags.requestee_id = requestees.userid >+ INNER JOIN bugs >+ ON flags.bug_id = bugs.bug_id >+ LEFT JOIN products >+ ON bugs.product_id = products.id >+ LEFT JOIN components >+ ON bugs.component_id = components.id >+ LEFT JOIN bug_group_map AS bgmap >+ ON bgmap.bug_id = bugs.bug_id >+ LEFT JOIN cc AS ccmap >+ ON ccmap.who = " . $user->id . " >+ AND ccmap.bug_id = bugs.bug_id >+" . >+ >+# Weed out bug the user does not have access to >+" WHERE bugs.bug_status != 'CLOSED' AND ((bgmap.group_id IS NULL) "; >+ >+if ($user && values(%{$user->groups}) > 0) { >+ $query .= " OR bgmap.group_id IN (" . join(',', values(%{$user->groups})) . ") "; >+} >+ >+if ($user) { >+ my $userid = $user->id; >+ $query .= " OR (ccmap.who IS NOT NULL AND cclist_accessible = 1) OR >+ (bugs.reporter = $userid AND bugs.reporter_accessible = 1) OR >+ (bugs.assigned_to = $userid) "; >+ if (Bugzilla->params->{useqacontact}) { >+ $query .= " OR (bugs.qa_contact = $userid) "; >+ } >+} >+ >+$query .= ") "; >+ >+# Weed out flags user cannot see >+$query .= " AND ((flagtypes.view_group_id IS NULL) "; >+if (@grouplist > 0) { >+ $query .= " OR (flagtypes.view_group_id IN (" . join(',', @grouplist) ."))"; >+} >+$query .= ")"; >+ >+# Limit query to pending requests. >+$query .= " AND flags.status = '?' " unless $cgi->param('status'); >+ >+# Limit to user as requestee >+my $requestee_query = $query . " AND requestees.login_name = ? "; >+ >+# Limit to user as requester >+my $requester_query = $query . " AND requesters.login_name = ? "; >+ >+# Order the records (within each group). >+$requestee_query .= " ORDER BY flagtypes.name, flags.creation_date"; >+$requester_query .= " ORDER BY flagtypes.name, flags.creation_date"; >+ >+$logger->debug("requestee sql query before execution: [ $requestee_query ]"); >+ >+$sth = $dbh->prepare($requestee_query); >+$sth->execute($user->login); >+ >+$logger->debug("requestee sql sql query executed"); >+ >+$sth->execute(); >+ >+my @requestee_list = (); >+while ( my @data = $sth->fetchrow_array() ) { >+ my $request = { >+ 'id' => $data[0] , >+ 'type' => $data[1] , >+ 'status' => $data[2] , >+ 'bug_id' => $data[3] , >+ 'bug_summary' => $data[4] , >+ 'category' => "$data[5]: $data[6]" , >+ 'attach_id' => $data[7] , >+ 'attach_summary' => $data[8] , >+ 'requester' => $data[9] , >+ 'requestee' => $data[10] , >+ 'created' => $data[11] >+ }; >+ push(@requestee_list, $request); >+} >+$vars->{'requestee_list'} = \@requestee_list; >+ >+$logger->debug("requester sql query before execution: [ $requester_query ]"); >+ >+$sth = $dbh->prepare($requester_query); >+$sth->execute($user->login); >+ >+$logger->debug("requester sql sql query executed"); >+ >+my @requester_list = (); >+while ( my @data = $sth->fetchrow_array() ) { >+ my $request = { >+ 'id' => $data[0] , >+ 'type' => $data[1] , >+ 'status' => $data[2] , >+ 'bug_id' => $data[3] , >+ 'bug_summary' => $data[4] , >+ 'category' => "$data[5]: $data[6]" , >+ 'attach_id' => $data[7] , >+ 'attach_summary' => $data[8] , >+ 'requester' => $data[9] , >+ 'requestee' => $data[10] , >+ 'created' => $data[11] >+ }; >+ push(@requester_list, $request); >+} >+$vars->{'requester_list'} = \@requester_list; >+ >+print $cgi->header($format->{'ctype'}); >+$template->process($format->{'template'}, $vars) >+ || ThrowTemplateError($template->error()); >Index: template/en/default/frontpage/main.html.tmpl >=================================================================== >RCS file: template/en/default/frontpage/main.html.tmpl >diff -N template/en/default/frontpage/main.html.tmpl >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ template/en/default/frontpage/main.html.tmpl 6 May 2008 20:56:32 -0000 >@@ -0,0 +1,377 @@ >+<!-- 1.0@bugzilla.org --> >+[%# -*- mode: html -*- %] >+[%# The contents of this file are subject to the Mozilla Public >+ # License Version 1.1 (the "License"); you may not use this file >+ # except in compliance with the License. You may obtain a copy of >+ # the License at http://www.mozilla.org/MPL/ >+ # >+ # Software distributed under the License is distributed on an "AS >+ # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or >+ # implied. See the License for the specific language governing >+ # rights and limitations under the License. >+ # >+ # The Original Code is the Bugzilla Bug Tracking System. >+ # >+ # The Initial Developer of the Original Code is Netscape Communications >+ # Corporation. Portions created by Netscape are >+ # Copyright (C) 1998 Netscape Communications Corporation. All >+ # Rights Reserved. >+ # >+ # Contributor(s): Terry Weissman <terry@mozilla.org> >+ # Jacob Steenhagen <jake@bugzilla.org> >+ # Arne Schirmacher <arne@schirmacher.de> >+ #%] >+ >+[%# INTERFACE: >+ # username: string. The login name of the user, if any. >+ #%] >+ >+[% PROCESS global/variables.none.tmpl %] >+ >+[% PROCESS global/header.html.tmpl >+ title = 'My Bugzilla Front Page' >+ style_urls = ["css/buglist.css"] >+ javascript_urls = [ "js/util.js", "js/keyword-chooser.js", "js/field.js", >+ "js/yui/yahoo-dom-event.js", "js/yui/calendar.js" ] >+ style_urls = [ "skins/standard/buglist.css", "skins/standard/yui/calendar.css" ] >+ count = 0 >+%] >+ >+<p> >+<a href="#assigned">Issues Assigned to You</a> | >+<a href="#needinfoassigned">Issues Needing Attention Assigned to You</a> | >+<a href="#needinforeporter">Issues Needing Attention Reported by You</a> | >+<a href="#retest">Issues Needing Retest</a> | >+<a href="#new">New Issues Reported by You</a> | >+<a href="#inprogress">Issues In Progress Reported by You</a> | >+<a href="#requestee">Open Issues with Flags Requested of You</a> | >+<a href="#requester">Open Issues with Flags You Requested</a> | >+<a href="#products">Active Products with Open Issues</a> >+</p> >+ >+<a name="assigned"></a> >+ >+<h2>Open Issues: Assigned to You</h2> >+ >+<p> >+[% assignedbugs.size FILTER html %] [% terms.bugs %] found. >+(<a href="[% Param('urlbase') %]/buglist.cgi?[% assignedbugs_buffer FILTER none %]">show list</a>) >+<table class="bz_buglist" cellspacing="0" cellpadding="4" width="100%"> >+<thead> >+<tr> >+ <td colspan="6">The [% terms.bug %] has been assigned to you and it is not resolved or closed yet.</td> >+ <td> </td> >+</tr> >+</thead> >+[% FOREACH bug = assignedbugs %] >+ <tr class="bz_bugitem [%+ count % 2 == 0 ? "bz_row_odd" : "bz_row_even" %]"> >+ <td align="center"><a href="show_bug.cgi?id=[% bug.bug_id FILTER url_quote %]">[% bug.bug_id FILTER html %]</a></td> >+ <td><a href="buglist.cgi?product=[% bug.product FILTER url_quote %][% products_buffer FILTER none %]">[% bug.product FILTER html %]</a></td> >+ <td>[% bug.component FILTER html %]</td> >+ <td align="center">[% bug.bug_status FILTER html %]</td> >+ <td align="center">[% bug.bug_severity FILTER html %]</td> >+ <td>[% bug.short_desc FILTER html %]</td> >+ <td> </td> >+ </tr> >+ [% count = count + 1 %] >+[% END %] >+</table> >+</p> >+ >+<a name="needinfoassigned"></a> >+ >+<h2>Open Issues: Needing Attention Assigned to You</h2> >+ >+<p> >+[% needinfoassigned.size FILTER html %] [% terms.bugs %] found. >+(<a href="[% Param('urlbase') %]/buglist.cgi?[% needinfoassigned_buffer FILTER none %]">show list</a>) >+<table class="bz_buglist" cellspacing="0" cellpadding="4" width="100%"> >+<thead> >+<tr> >+ <td colspan="6">The [% terms.bug %] has been assigned to you and is in need of attention.</td> >+ <td> </td> >+</tr> >+</thead> >+[% FOREACH bug = needinfoassigned %] >+ <tr class="bz_bugitem [%+ count % 2 == 0 ? "bz_row_odd" : "bz_row_even" %]"> >+ <td align="center"><a href="show_bug.cgi?id=[% bug.bug_id FILTER url_quote %]">[% bug.bug_id FILTER html %]</a></td> >+ <td><a href="buglist.cgi?product=[% bug.product FILTER url_quote %][% products_buffer FILTER none %]">[% bug.product FILTER html %]</a></td> >+ <td>[% bug.component FILTER html %]</td> >+ <td align="center">[% bug.bug_status FILTER html %]</td> >+ <td align="center">[% bug.bug_severity FILTER html %]</td> >+ <td>[% bug.short_desc FILTER html %]</td> >+ <td> </td> >+ </tr> >+ [% count = count + 1 %] >+[% END %] >+</table> >+</p> >+ >+<a name="needinforeporter"></a> >+ >+<h2>Open Issues: Needing Attention Reported by You</h2> >+ >+<p> >+[% needinforeporter.size FILTER html %] [% terms.bugs %] found. >+(<a href="[% Param('urlbase') %]/buglist.cgi?[% needinforeporter_buffer FILTER none %]">show list</a>) >+<table class="bz_buglist" cellspacing="0" cellpadding="4" width="100%"> >+<thead> >+<tr> >+ <td colspan="6">The [% terms.bug %] has been reported by you and is in need of attention.</td> >+ <td> </td> >+</tr> >+</thead> >+[% FOREACH bug = needinforeporter %] >+ <tr class="bz_bugitem [%+ count % 2 == 0 ? "bz_row_odd" : "bz_row_even" %]"> >+ <td align="center"><a href="show_bug.cgi?id=[% bug.bug_id FILTER url_quote %]">[% bug.bug_id FILTER html %]</a></td> >+ <td><a href="buglist.cgi?product=[% bug.product FILTER url_quote %][% products_buffer FILTER none %]">[% bug.product FILTER html %]</a></td> >+ <td>[% bug.component FILTER html %]</td> >+ <td align="center">[% bug.bug_status FILTER html %]</td> >+ <td align="center">[% bug.bug_severity FILTER html %]</td> >+ <td>[% bug.short_desc FILTER html %]</td> >+ <td> </td> >+ </tr> >+ [% count = count + 1 %] >+[% END %] >+</table> >+</p> >+ >+<a name="retest"></a> >+ >+<h2>Open Issues: Retest</h2> >+ >+<p> >+[% retestbugs.size FILTER html %] [% terms.bugs %] found. >+(<a href="[% Param('urlbase') %]/buglist.cgi?[% retestbugs_buffer FILTER none %]">show list</a>) >+[% count = 0 %] >+<table class="bz_buglist" cellspacing="0" cellpadding="4" width="100%"> >+<thead> >+<tr> >+ <td colspan="6">You reported this [% terms.bug %], it is now resolved and you should verify it.</td> >+ <td> </td> >+</tr> >+</thead> >+[% FOREACH bug = retestbugs %] >+ <tr class="bz_bugitem [%+ count % 2 == 0 ? "bz_row_odd" : "bz_row_even" %]"> >+ <td align="center"><a href="show_bug.cgi?id=[% bug.bug_id FILTER url_quote %]">[% bug.bug_id FILTER html %]</a></td> >+ <td><a href="buglist.cgi?product=[% bug.product FILTER url_quote %][% products_buffer FILTER none %]">[% bug.product FILTER html %]</a></td> >+ <td>[% bug.component FILTER html %]</td> >+ <td align="center">[% bug.bug_status FILTER html %]</td> >+ <td align="center">[% bug.bug_severity FILTER html %]</td> >+ <td>[% bug.short_desc FILTER html %]</td> >+ <td> </td> >+ </tr> >+ [% count = count + 1 %] >+[% END %] >+</table> >+</p> >+ >+<a name="new"></a> >+ >+<h2>Open Issues: New Reported by You</h2> >+ >+<p> >+[% newbugs.size FILTER html %] [% terms.bugs %] found. >+(<a href="[% Param('urlbase') %]/buglist.cgi?[% newbugs_buffer FILTER none %]">show list</a>) >+[% count = 0 %] >+<table class="bz_buglist" cellspacing="0" cellpadding="4" width="100%"> >+<thead> >+<tr> >+ <td colspan="6">You reported the [% terms.bug %] but nobody has accepted it yet.</td> >+ <td> </td> >+</tr> >+</thead> >+[% FOREACH bug = newbugs %] >+ <tr class="bz_bugitem [%+ count % 2 == 0 ? "bz_row_odd" : "bz_row_even" %]"> >+ <td align="center"><a href="show_bug.cgi?id=[% bug.bug_id FILTER url_quote %]">[% bug.bug_id FILTER html %]</a></td> >+ <td><a href="buglist.cgi?product=[% bug.product FILTER url_quote %][% products_buffer FILTER none %]">[% bug.product FILTER html %]</a></td> >+ <td>[% bug.component FILTER html %]</td> >+ <td align="center">[% bug.bug_status FILTER html %]</td> >+ <td align="center">[% bug.bug_severity FILTER html %]</td> >+ <td>[% bug.short_desc FILTER html %]</td> >+ <td> </td> >+ </tr> >+ [% count = count + 1 %] >+[% END %] >+</table> >+</p> >+ >+<a name="inprogress"></a> >+ >+<h2>Open Issues: In Progress Reported by You</h2> >+ >+<p> >+[% inprogressbugs.size FILTER html %] [% terms.bugs %] found. >+(<a href="[% Param('urlbase') %]/buglist.cgi?[% inprogressbugs_buffer FILTER none %]">show list</a>) >+[% count = 0 %] >+<table class="bz_buglist" cellspacing="0" cellpadding="4" width="100%"> >+<thead> >+<tr> >+ <td colspan="6">You reported the [% terms.bug %], the developer accepted the [% terms.bug %] and is hopefully working on it.</td> >+ <td> </td> >+</tr> >+</thead> >+[% FOREACH bug = inprogressbugs %] >+ <tr class="bz_bugitem [%+ count % 2 == 0 ? "bz_row_odd" : "bz_row_even" %]"> >+ <td align="center"><a href="show_bug.cgi?id=[% bug.bug_id FILTER url_quote %]">[% bug.bug_id FILTER html %]</a></td> >+ <td><a href="buglist.cgi?product=[% bug.product FILTER url_quote %][% products_buffer FILTER none %]">[% bug.product FILTER html %]</a></td> >+ <td>[% bug.component FILTER html %]</td> >+ <td align="center">[% bug.bug_status FILTER html %]</td> >+ <td align="center">[% bug.bug_severity FILTER html %]</td> >+ <td>[% bug.short_desc FILTER html %]</td> >+ <td> </td> >+ </tr> >+ [% count = count + 1 %] >+[% END %] >+</table> >+</p> >+ >+<a name="requestee"></a> >+ >+<h2>Open Issues with Flags Requested of You</h2> >+ >+[% column_headers = { >+ "type" => "Flag" , >+ "status" => "Status" , >+ "bug" => "$terms.Bug" , >+ "requester" => "Requester" , >+ "requestee" => "Requestee" , >+ "created" => "Created" , >+ "category" => "Product/Component" } %] >+ >+[% display_columns = ["requester", "type", "bug", "created"] >+ group_field = "Requester" >+ group_value = "" >+%] >+ >+[% IF requestee_list.size == 0 %] >+ <p> >+ No requests. >+ </p> >+[% ELSE %] >+ [% count = 0 %] >+ [% FOREACH request = requestee_list %] >+ [% IF loop.first %] [% PROCESS start_new_table %] [% END %] >+ [% IF request.$group_field != group_value %] >+ [% group_value = request.$group_field %] >+ [% UNLESS loop.first %] >+ </table> >+ [% PROCESS start_new_table %] >+ [% END %] >+ [% END %] >+ <tr class="[%+ count % 2 == 0 ? "bz_row_odd" : "bz_row_even" %]"> >+ [% FOREACH column = display_columns %] >+ [% NEXT IF column == group_field || excluded_columns.contains(column) %] >+ <td>[% PROCESS "display_$column" %]</td> >+ [% END %] >+ </tr> >+ [% count = count + 1 %] >+ [% END %] >+ </table> >+[% END %] >+ >+<a name="requester"></a> >+ >+<h2>Open Issues with Flags You Have Requested</h2> >+ >+[% display_columns = ["requestee", "type", "bug", "created"] >+ group_field = "Requestee" >+ group_value = "" >+%] >+ >+[% IF requester_list.size == 0 %] >+ <p> >+ No requests. >+ </p> >+[% ELSE %] >+ [% count = 0 %] >+ [% FOREACH request = requester_list %] >+ [% IF loop.first %] [% PROCESS start_new_table %] [% END %] >+ [% IF request.$group_field != group_value %] >+ [% group_value = request.$group_field %] >+ [% UNLESS loop.first %] >+ </table> >+ [% PROCESS start_new_table %] >+ [% END %] >+ [% END %] >+ <tr class="[%+ count % 2 == 0 ? "bz_row_odd" : "bz_row_even" %]"> >+ [% FOREACH column = display_columns %] >+ [% NEXT IF column == group_field || excluded_columns.contains(column) %] >+ <td>[% PROCESS "display_$column" %]</td> >+ [% END %] >+ </tr> >+ [% count = count + 1 %] >+ [% END %] >+ </table> >+[% END %] >+ >+[% BLOCK start_new_table %] >+ <table class="buglist" cellspacing="0"> >+ <thead> >+ <tr> >+ [% FOREACH column = display_columns %] >+ [% NEXT IF column == group_field || excluded_columns.contains(column) %] >+ <th>[% column_headers.$column %]</th> >+ [% END %] >+ </tr> >+ </thead> >+[% END %] >+ >+[% BLOCK display_type %] >+ [% request.type FILTER html %] >+[% END %] >+ >+[% BLOCK display_status %] >+ [% request.status %] >+[% END %] >+ >+[% BLOCK display_bug %] >+ <a href="show_bug.cgi?id=[% request.bug_id %]"> >+ [% request.bug_id %]: [%+ request.bug_summary FILTER html %]</a> >+[% END %] >+ >+[% BLOCK display_attachment %] >+ [% IF request.attach_id %] >+ <a href="attachment.cgi?id=[% request.attach_id %]&action=edit"> >+ [% request.attach_id %]: [%+ request.attach_summary FILTER html %]</a> >+ [% ELSE %] >+ N/A >+ [% END %] >+[% END %] >+ >+[% BLOCK display_requestee %] >+ [% request.requestee FILTER html %] >+[% END %] >+ >+[% BLOCK display_requester %] >+ [% request.requester FILTER html %] >+[% END %] >+ >+[% BLOCK display_created %] >+ [% request.created FILTER time %] >+[% END %] >+ >+<a name="products"></a> >+ >+<h2>Active Products with Open [% terms.Bugs %]</h2> >+ >+<p> >+[% count = 0 %] >+<table class="bz_buglist" cellspacing="0" cellpadding="4" width="100%"> >+<thead> >+<tr> >+ <td colspan="2"> </td> >+ <td> </td> >+</tr> >+</thead> >+[% FOREACH product = products %] >+ <tr class="bz_bugitem [%+ count % 2 == 0 ? "bz_row_odd" : "bz_row_even" %]"> >+ <td align="right">[% product.count FILTER html %]</td> >+ <td><a href="buglist.cgi?product=[% product.product FILTER url_quote %][% products_buffer FILTER none %]">[% product.product FILTER html %]</a></td> >+ <td> </td> >+ </tr> >+ [% count = count + 1 %] >+[% END %] >+</table> >+ >+[% PROCESS global/footer.html.tmpl %] >Index: template/en/default/global/common-links.html.tmpl >=================================================================== >RCS file: /cvs/qa/rh_bugzilla_3/template/en/default/global/common-links.html.tmpl,v >retrieving revision 1.4 >diff -u -r1.4 common-links.html.tmpl >--- template/en/default/global/common-links.html.tmpl 3 Apr 2008 19:27:31 -0000 1.4 >+++ template/en/default/global/common-links.html.tmpl 6 May 2008 20:56:33 -0000 >@@ -66,6 +66,8 @@ > > [% PROCESS link_to_documentation %] > >+ <li><span class="separator">| </span><a href="frontpage.cgi">My Front Page</a></li> >+ > <li> > <span class="separator">| </span> > [% IF user.authorizer.can_logout %]
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Flags:
nelhawar
: review+
kbaker
: review+
Actions:
View
|
Diff
Attachments on
bug 406441
: 304689