зеркало из https://github.com/mozilla/pjs.git
Bug 308228: Whine-related saved search can be forgotten through buglist.cgi - Patch by A. Karl Kornel <karl@kornel.name> r=LpSolit a=justdave
This commit is contained in:
Родитель
3bb5773f07
Коммит
19ed962da0
|
@ -388,6 +388,27 @@ if ($cgi->param('cmdtype') eq "dorem") {
|
|||
# the SQL, and the SQL is only a DELETE.
|
||||
my $qname = $cgi->param('namedcmd');
|
||||
trick_taint($qname);
|
||||
|
||||
# Do not forget the saved search if it is being used in a whine
|
||||
my $whines_in_use =
|
||||
$dbh->selectcol_arrayref('SELECT DISTINCT whine_events.subject
|
||||
FROM whine_events
|
||||
INNER JOIN whine_queries
|
||||
ON whine_queries.eventid
|
||||
= whine_events.id
|
||||
WHERE whine_events.owner_userid
|
||||
= ?
|
||||
AND whine_queries.query_name
|
||||
= ?
|
||||
', undef, Bugzilla->user->id, $qname);
|
||||
if (scalar(@$whines_in_use)) {
|
||||
ThrowUserError('saved_search_used_by_whines',
|
||||
{ subjects => join(',', @$whines_in_use),
|
||||
search_name => $qname }
|
||||
);
|
||||
}
|
||||
|
||||
# If we are here, then we can safely remove the saved search
|
||||
$dbh->do("DELETE FROM namedqueries"
|
||||
. " WHERE userid = ? AND name = ?"
|
||||
, undef, ($userid, $qname));
|
||||
|
|
|
@ -1055,6 +1055,12 @@
|
|||
[% title = "Summary Needed" %]
|
||||
You must enter a summary for this [% terms.bug %].
|
||||
|
||||
[% ELSIF error == "saved_search_used_by_whines" %]
|
||||
[% title = "Saved Search In Use" %]
|
||||
The saved search <em>[% search_name FILTER html %]</em> is being used
|
||||
by <a href="editwhines.cgi">Whining events</a> with the following subjects:
|
||||
[%+ subjects FILTER html %]
|
||||
|
||||
[% ELSIF error == "search_content_without_matches" %]
|
||||
[% title = "Illegal Search" %]
|
||||
The "content" field can only be used with "matches" search
|
||||
|
@ -1238,7 +1244,8 @@
|
|||
|
||||
[% USE Bugzilla %]
|
||||
[% namedcmd = Bugzilla.cgi.param("namedcmd") %]
|
||||
[% IF namedcmd AND error != "missing_query" %]
|
||||
[% IF namedcmd AND error != "missing_query"
|
||||
AND error != "saved_search_used_by_whines" %]
|
||||
<p>
|
||||
Alternatively, you can
|
||||
<a href="buglist.cgi?cmdtype=dorem&remaction=forget&namedcmd=
|
||||
|
|
Загрузка…
Ссылка в новой задаче