summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--template/en/default/account/prefs/prefs.html.tmpl2
-rw-r--r--template/en/default/account/prefs/saved-searches.html.tmpl36
-rw-r--r--template/en/default/global/useful-links.html.tmpl8
-rwxr-xr-xuserprefs.cgi17
4 files changed, 54 insertions, 9 deletions
diff --git a/template/en/default/account/prefs/prefs.html.tmpl b/template/en/default/account/prefs/prefs.html.tmpl
index 03d49ccb3..00e7f8913 100644
--- a/template/en/default/account/prefs/prefs.html.tmpl
+++ b/template/en/default/account/prefs/prefs.html.tmpl
@@ -53,7 +53,7 @@
{ name => "email", description => "Email settings",
saveable => "1" },
{ name => "saved-searches", description => "Saved searches",
- saveable => "0" },
+ saveable => "1" },
{ name => "permissions", description => "Permissions",
saveable => "0" } ] %]
diff --git a/template/en/default/account/prefs/saved-searches.html.tmpl b/template/en/default/account/prefs/saved-searches.html.tmpl
index d5a030877..a11c1c380 100644
--- a/template/en/default/account/prefs/saved-searches.html.tmpl
+++ b/template/en/default/account/prefs/saved-searches.html.tmpl
@@ -22,13 +22,41 @@
<p>Your saved searches are as follows:</p>
<blockquote>
- <table cellpadding="3">
+ <table border="1" cellpadding="3">
+ <tr>
+ <th>
+ Show in <br>
+ Footer
+ </th>
+ <th>
+ Search
+ </th>
+ <th>
+ Run
+ </th>
+ <th>
+ Edit
+ </th>
+ <th>
+ Forget
+ </th>
+ </tr>
[% FOREACH q = queries %]
<tr>
- <td>[% q.name FILTER html %]:</td>
<td>
- <a href="buglist.cgi?[% q.query FILTER html %]">Run</a> |
- <a href="query.cgi?[% q.query FILTER html %]">Edit</a> |
+ <input type="checkbox"
+ name="linkinfooter_[% q.name FILTER html %]"
+ value="1"
+ [% " checked" IF q.linkinfooter %]>
+ </td>
+ <td>[% q.name FILTER html %]</td>
+ <td>
+ <a href="buglist.cgi?[% q.query FILTER html %]">Run</a>
+ </td>
+ <td>
+ <a href="query.cgi?[% q.query FILTER html %]">Edit</a>
+ </td>
+ <td>
<a href="buglist.cgi?cmdtype=dorem&amp;remaction=forget&amp;namedcmd=
[% q.name FILTER html %]">Forget</a>
</td>
diff --git a/template/en/default/global/useful-links.html.tmpl b/template/en/default/global/useful-links.html.tmpl
index 806edfcf7..d238a4253 100644
--- a/template/en/default/global/useful-links.html.tmpl
+++ b/template/en/default/global/useful-links.html.tmpl
@@ -106,9 +106,11 @@
[% END %]
[% FOREACH q = user.queries %]
- [% " | " IF print_pipe %]
- <a href="buglist.cgi?cmdtype=runnamed&amp;namedcmd=[% q.name FILTER url_quote %]"><nobr>[% q.name FILTER html %]</nobr></a>
- [% print_pipe = 1 %]
+ [% IF q.linkinfooter %]
+ [% " | " IF print_pipe %]
+ <a href="buglist.cgi?cmdtype=runnamed&amp;namedcmd=[% q.name FILTER url_quote %]"><nobr>[% q.name FILTER html %]</nobr></a>
+ [% print_pipe = 1 %]
+ [% END %]
[% END %]
</td>
</tr>
diff --git a/userprefs.cgi b/userprefs.cgi
index eefe40205..cd73678c9 100755
--- a/userprefs.cgi
+++ b/userprefs.cgi
@@ -301,7 +301,21 @@ sub DoSavedSearches() {
$vars->{'queries'} = Bugzilla->user->queries;
}
-# No SaveSavedSearches() because this panel has no changeable fields (yet).
+sub SaveSavedSearches() {
+ my $cgi = Bugzilla->cgi;
+ my $dbh = Bugzilla->dbh;
+ my @queries = @{Bugzilla->user->queries};
+ my $sth = $dbh->prepare("UPDATE namedqueries SET linkinfooter = ?
+ WHERE userid = ?
+ AND name = ?");
+ foreach my $q (@queries) {
+ my $linkinfooter =
+ defined($cgi->param("linkinfooter_$q->{'name'}")) ? 1 : 0;
+ $sth->execute($linkinfooter, $userid, $q->{'name'});
+ }
+
+ Bugzilla->user->flush_queries_cache;
+}
###############################################################################
@@ -340,6 +354,7 @@ SWITCH: for ($current_tab_name) {
last SWITCH;
};
/^saved-searches$/ && do {
+ SaveSavedSearches() if $cgi->param('dosave');
DoSavedSearches();
last SWITCH;
};