aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlpsolit%gmail.com <>2009-08-13 15:52:04 +0000
committerlpsolit%gmail.com <>2009-08-13 15:52:04 +0000
commitcb438138c8959e3e0f20375905316292d1e0b1f5 (patch)
tree78972530efb1fff18b668bb44efb72300ff313e9
parentBug 509027: Add a hook in Bugzilla::Attachment::_check_data() - Patch by FrÃ... (diff)
downloadbugzilla-cb438138c8959e3e0f20375905316292d1e0b1f5.tar.gz
bugzilla-cb438138c8959e3e0f20375905316292d1e0b1f5.tar.bz2
bugzilla-cb438138c8959e3e0f20375905316292d1e0b1f5.zip
Bug 214861: Allow loading of stored queries as the bug set for reporting - Patch by Frédéric Buclin <LpSolit@gmail.com> r=gerv a=LpSolit
-rwxr-xr-xchart.cgi13
-rw-r--r--template/en/default/reports/create-chart.html.tmpl18
2 files changed, 30 insertions, 1 deletions
diff --git a/chart.cgi b/chart.cgi
index ab145c42a..60a347253 100755
--- a/chart.cgi
+++ b/chart.cgi
@@ -47,6 +47,7 @@ use lib qw(. lib);
use Bugzilla;
use Bugzilla::Constants;
+use Bugzilla::CGI;
use Bugzilla::Error;
use Bugzilla::Util;
use Bugzilla::Chart;
@@ -186,6 +187,18 @@ elsif ($action eq "alter") {
edit($series);
}
+elsif ($action eq "convert_search") {
+ my $saved_search = $cgi->param('series_from_search') || '';
+ my ($query) = grep { $_->name eq $saved_search } @{ $user->queries };
+ my $url = '';
+ if ($query) {
+ my $params = new Bugzilla::CGI($query->edit_link);
+ # These two parameters conflict with the one below.
+ $url = $params->canonicalise_query('format', 'query_format');
+ $url = '&amp;' . html_quote($url);
+ }
+ print $cgi->redirect(-location => correct_urlbase() . "query.cgi?format=create-series$url");
+}
else {
ThrowCodeError("unknown_action");
}
diff --git a/template/en/default/reports/create-chart.html.tmpl b/template/en/default/reports/create-chart.html.tmpl
index d911d03fd..4762c62c0 100644
--- a/template/en/default/reports/create-chart.html.tmpl
+++ b/template/en/default/reports/create-chart.html.tmpl
@@ -260,7 +260,23 @@ function subcatSelected() {
</form>
[% IF user.in_group('editbugs') %]
- <h3><a href="query.cgi?format=create-series">Create New Data Set</a></h3>
+ <h3>Create New Data Set</h3>
+ <p>
+ You can either create a new data set based on one of your saved searches
+ or start with a clean slate.
+ </p>
+
+ <form action="chart.cgi" id="create_series" name="create_series" method="GET">
+ <input type="hidden" name="action" value="convert_search">
+ <label for="series_from_search">Based on:</label>
+ <select id="series_from_search" name="series_from_search">
+ <option value="">(Clean slate)</option>
+ [% FOREACH q = user.queries %]
+ <option value="[% q.name FILTER html %]">[% q.name FILTER html %]</option>
+ [% END %]
+ </select>
+ <input id="submit_create" type="submit" value="Create a new data set">
+ </form>
[% END %]
[% PROCESS global/footer.html.tmpl %]