From: lpsolit%gmail.com <> Date: Sat, 18 Jul 2009 17:05:07 +0000 (+0000) Subject: Bug 323606: sanitycheck.cgi should offer a link to fix everconfirmed - Patch by FrÃ... X-Git-Tag: bugzilla-3.4~13 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8353d345f63e5f234cb89a1c89846cd4a558e7a0;p=thirdparty%2Fbugzilla.git Bug 323606: sanitycheck.cgi should offer a link to fix everconfirmed - Patch by Frédéric Buclin r=ghendricks a=LpSolit --- diff --git a/sanitycheck.cgi b/sanitycheck.cgi index 93228fc67d..0bb965cb63 100755 --- a/sanitycheck.cgi +++ b/sanitycheck.cgi @@ -222,6 +222,22 @@ if ($cgi->param('repair_creation_date')) { Status('bug_creation_date_fixed', {bug_count => scalar(@$bug_ids)}); } +########################################################################### +# Fix everconfirmed +########################################################################### + +if ($cgi->param('repair_everconfirmed')) { + Status('everconfirmed_start'); + + my @confirmed_open_states = grep {$_ ne 'UNCONFIRMED'} BUG_STATE_OPEN; + my $confirmed_open_states = join(', ', map {$dbh->quote($_)} @confirmed_open_states); + + $dbh->do("UPDATE bugs SET everconfirmed = 0 WHERE bug_status = 'UNCONFIRMED'"); + $dbh->do("UPDATE bugs SET everconfirmed = 1 WHERE bug_status IN ($confirmed_open_states)"); + + Status('everconfirmed_end'); +} + ########################################################################### # Fix entries in Bugs full_text ########################################################################### @@ -943,13 +959,13 @@ BugCheck("bugs WHERE bug_status NOT IN ($open_states) AND resolution = ''", Status('bug_check_status_everconfirmed'); BugCheck("bugs WHERE bug_status = 'UNCONFIRMED' AND everconfirmed = 1", - 'bug_check_status_everconfirmed_error_text'); + 'bug_check_status_everconfirmed_error_text', 'repair_everconfirmed'); my @confirmed_open_states = grep {$_ ne 'UNCONFIRMED'} BUG_STATE_OPEN; my $confirmed_open_states = join(', ', map {$dbh->quote($_)} @confirmed_open_states); BugCheck("bugs WHERE bug_status IN ($confirmed_open_states) AND everconfirmed = 0", - 'bug_check_status_everconfirmed_error_text2'); + 'bug_check_status_everconfirmed_error_text2', 'repair_everconfirmed'); Status('bug_check_votes_everconfirmed'); diff --git a/template/en/default/admin/sanitycheck/messages.html.tmpl b/template/en/default/admin/sanitycheck/messages.html.tmpl index b65f8eac54..b67e5982d5 100644 --- a/template/en/default/admin/sanitycheck/messages.html.tmpl +++ b/template/en/default/admin/sanitycheck/messages.html.tmpl @@ -169,6 +169,12 @@ [% END %] [% END %] + [% ELSIF san_tag == "everconfirmed_start" %] + OK, now fixing everconfirmed. + + [% ELSIF san_tag == "everconfirmed_end" %] + everconfirmed fixed. + [% ELSIF san_tag == "flag_check_start" %] Checking for flags being in the wrong product/component.