Bug 236779: Add UI for changing "linkinfooter" flag for saved searches

r=gerv,preed
a=justdave
This commit is contained in:
bugreport%peshkin.net 2004-05-13 16:04:27 +00:00
parent 8af971a2bb
commit d3ec032dd0
4 changed files with 54 additions and 9 deletions

View File

@ -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" } ] %]

View File

@ -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>

View File

@ -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>

View File

@ -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;
};