diff options
-rw-r--r-- | template/en/default/account/prefs/prefs.html.tmpl | 2 | ||||
-rw-r--r-- | template/en/default/account/prefs/saved-searches.html.tmpl | 36 | ||||
-rw-r--r-- | template/en/default/global/useful-links.html.tmpl | 8 | ||||
-rwxr-xr-x | userprefs.cgi | 17 |
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&remaction=forget&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&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&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; }; |