From ba4585ae8a1c63a49e40461d2e2efc12bc75c58a Mon Sep 17 00:00:00 2001 From: Max Kanat-Alexander Date: Mon, 5 Jul 2010 17:42:57 -0700 Subject: Bug 486292: Change the default workflow to UNCONFIRMED, CONFIRMED, IN_PROGRESS, RESOLVED, VERIFIED. r=LpSolit, a=mkanat --- Bugzilla/Bug.pm | 5 +- Bugzilla/Chart.pm | 2 +- Bugzilla/Config/Query.pm | 4 +- Bugzilla/DB.pm | 4 +- Bugzilla/DB/Schema.pm | 2 +- Bugzilla/Install.pm | 36 +++++++ Bugzilla/Install/DB.pm | 12 ++- Bugzilla/Migrate.pm | 2 +- Bugzilla/Migrate/Gnats.pm | 4 +- Bugzilla/Search/Quicksearch.pm | 4 +- Bugzilla/Status.pm | 2 +- checksetup.pl | 1 + contrib/bugzilla-submit/bugzilla-submit | 2 +- contrib/convert-workflow.pl | 111 +++++++++++++++++++++ contrib/jb2bz.py | 8 +- docs/en/images/bzLifecycle.xml | 4 +- docs/en/xml/administration.xml | 8 +- docs/en/xml/installation.xml | 2 +- showdependencygraph.cgi | 3 - .../en/default/admin/params/bugchange.html.tmpl | 10 +- template/en/default/admin/params/mta.html.tmpl | 2 +- .../en/default/admin/products/create.html.tmpl | 2 +- template/en/default/email/whine.txt.tmpl | 13 ++- template/en/default/global/field-descs.none.tmpl | 2 +- template/en/default/global/messages.html.tmpl | 3 + template/en/default/list/list.ics.tmpl | 2 +- template/en/default/pages/fields.html.tmpl | 52 ++-------- template/en/default/pages/quicksearch.html.tmpl | 4 +- whineatnews.pl | 11 +- 29 files changed, 226 insertions(+), 91 deletions(-) create mode 100644 contrib/convert-workflow.pl diff --git a/Bugzilla/Bug.pm b/Bugzilla/Bug.pm index 23a92b080..a0c15bafa 100644 --- a/Bugzilla/Bug.pm +++ b/Bugzilla/Bug.pm @@ -1323,7 +1323,10 @@ sub _check_bug_status { } - if (ref $invocant && $new_status->name eq 'ASSIGNED' + if (ref $invocant + && ($new_status->name eq 'IN_PROGRESS' + # Backwards-compat for the old default workflow. + or $new_status->name eq 'ASSIGNED') && Bugzilla->params->{"usetargetmilestone"} && Bugzilla->params->{"musthavemilestoneonaccept"} # musthavemilestoneonaccept applies only if at least two diff --git a/Bugzilla/Chart.pm b/Bugzilla/Chart.pm index 58089d29e..760db135d 100644 --- a/Bugzilla/Chart.pm +++ b/Bugzilla/Chart.pm @@ -67,7 +67,7 @@ sub init { # # The URL encoding is: # line0=67&line0=73&line1=81&line2=67... - # &label0=B+/+R+/+NEW&label1=... + # &label0=B+/+R+/+CONFIRMED&label1=... # &select0=1&select3=1... # &cumulate=1&datefrom=2002-02-03&dateto=2002-04-04&ctype=html... # >=1&labelgt=Grand+Total diff --git a/Bugzilla/Config/Query.pm b/Bugzilla/Config/Query.pm index 6d570e01a..821f09fc6 100644 --- a/Bugzilla/Config/Query.pm +++ b/Bugzilla/Config/Query.pm @@ -58,13 +58,13 @@ sub get_param_list { { name => 'mybugstemplate', type => 't', - default => 'buglist.cgi?bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&emailassigned_to1=1&emailreporter1=1&emailtype1=exact&email1=%userid%&field0-0-0=bug_status&type0-0-0=notequals&value0-0-0=UNCONFIRMED&field0-0-1=reporter&type0-0-1=equals&value0-0-1=%userid%' + default => 'buglist.cgi?resolution=---&emailassigned_to1=1&emailreporter1=1&emailtype1=exact&email1=%userid%' }, { name => 'defaultquery', type => 't', - default => 'bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&emailassigned_to1=1&emailassigned_to2=1&emailreporter2=1&emailcc2=1&emailqa_contact2=1&emaillongdesc3=1&order=Importance&long_desc_type=substring' + default => 'resolution=---&emailassigned_to1=1&emailassigned_to2=1&emailreporter2=1&emailcc2=1&emailqa_contact2=1&emaillongdesc3=1&order=Importance&long_desc_type=substring' }, { diff --git a/Bugzilla/DB.pm b/Bugzilla/DB.pm index 8c1aba8dd..7173ff896 100644 --- a/Bugzilla/DB.pm +++ b/Bugzilla/DB.pm @@ -68,8 +68,8 @@ use constant ENUM_DEFAULTS => { priority => ["Highest", "High", "Normal", "Low", "Lowest", "---"], op_sys => ["All","Windows","Mac OS","Linux","Other"], rep_platform => ["All","PC","Macintosh","Other"], - bug_status => ["UNCONFIRMED","NEW","ASSIGNED","REOPENED","RESOLVED", - "VERIFIED","CLOSED"], + bug_status => ["UNCONFIRMED","CONFIRMED","IN_PROGRESS","RESOLVED", + "VERIFIED"], resolution => ["","FIXED","INVALID","WONTFIX", "DUPLICATE","WORKSFORME"], }; diff --git a/Bugzilla/DB/Schema.pm b/Bugzilla/DB/Schema.pm index 0791cad98..4837ccc5f 100644 --- a/Bugzilla/DB/Schema.pm +++ b/Bugzilla/DB/Schema.pm @@ -1223,7 +1223,7 @@ use constant ABSTRACT_SCHEMA => { defaultmilestone => {TYPE => 'varchar(20)', NOTNULL => 1, DEFAULT => "'---'"}, allows_unconfirmed => {TYPE => 'BOOLEAN', NOTNULL => 1, - DEFAULT => 'FALSE'}, + DEFAULT => 'TRUE'}, ], INDEXES => [ products_name_idx => {FIELDS => ['name'], diff --git a/Bugzilla/Install.pm b/Bugzilla/Install.pm index e90fe41db..3754c0787 100644 --- a/Bugzilla/Install.pm +++ b/Bugzilla/Install.pm @@ -37,6 +37,24 @@ use Bugzilla::User::Setting; use Bugzilla::Util qw(get_text); use Bugzilla::Version; +use constant STATUS_WORKFLOW => ( + [undef, 'UNCONFIRMED'], + [undef, 'CONFIRMED'], + [undef, 'IN_PROGRESS'], + ['UNCONFIRMED', 'CONFIRMED'], + ['UNCONFIRMED', 'IN_PROGRESS'], + ['UNCONFIRMED', 'RESOLVED'], + ['CONFIRMED', 'IN_PROGRESS'], + ['CONFIRMED', 'RESOLVED'], + ['IN_PROGRESS', 'CONFIRMED'], + ['IN_PROGRESS', 'RESOLVED'], + ['RESOLVED', 'CONFIRMED'], + ['RESOLVED', 'VERIFIED'], + ['VERIFIED', 'CONFIRMED'], + # The RESOLVED/VERIFIED to UNCONFIRMED transition is enabled specially + # in the code for bugs that haven't been confirmed. +); + sub SETTINGS { return { # 2005-03-03 travis@sedsystems.ca -- Bug 41972 @@ -232,6 +250,24 @@ sub create_default_product { } +sub init_workflow { + my $dbh = Bugzilla->dbh; + my $has_workflow = $dbh->selectrow_array('SELECT 1 FROM status_workflow'); + return if $has_workflow; + + print get_text('install_workflow_init'), "\n"; + + my %status_ids = @{ $dbh->selectcol_arrayref( + 'SELECT value, id FROM bug_status', {Columns=>[1,2]}) }; + + foreach my $pair (STATUS_WORKFLOW) { + my $old_id = $pair->[0] ? $status_ids{$pair->[0]} : undef; + my $new_id = $status_ids{$pair->[1]}; + $dbh->do('INSERT INTO status_workflow (old_status, new_status) + VALUES (?,?)', undef, $old_id, $new_id); + } +} + sub create_admin { my ($params) = @_; my $dbh = Bugzilla->dbh; diff --git a/Bugzilla/Install/DB.pm b/Bugzilla/Install/DB.pm index 069096800..47e881e8f 100644 --- a/Bugzilla/Install/DB.pm +++ b/Bugzilla/Install/DB.pm @@ -530,7 +530,7 @@ sub update_table_definitions { _fix_uppercase_index_names(); # 2007-05-17 LpSolit@gmail.com - Bug 344965 - _initialize_workflow($old_params); + _initialize_workflow_for_upgrade($old_params); # 2007-08-08 LpSolit@gmail.com - Bug 332149 $dbh->bz_add_column('groups', 'icon_url', {TYPE => 'TINYTEXT'}); @@ -2919,10 +2919,12 @@ sub _fix_uppercase_index_names { } } -sub _initialize_workflow { +sub _initialize_workflow_for_upgrade { my $old_params = shift; my $dbh = Bugzilla->dbh; + my $had_is_open = $dbh->bz_column_info('bug_status', 'is_open'); + $dbh->bz_add_column('bug_status', 'is_open', {TYPE => 'BOOLEAN', NOTNULL => 1, DEFAULT => 'TRUE'}); @@ -2955,6 +2957,10 @@ sub _initialize_workflow { join(', ', @closed_statuses) . ')'); } + # We only populate the workflow here if we're upgrading from a version + # before 3.2. + return if $had_is_open; + # Populate the status_workflow table. We do nothing if the table already # has entries. If all bug status transitions have been deleted, the # workflow will be restored to its default schema. @@ -2974,7 +2980,7 @@ sub _initialize_workflow { # confirmed bugs, so we use this parameter here. my $reassign = $old_params->{'commentonreassign'} || 0; - # This is the default workflow. + # This is the default workflow for upgrading installations. my @workflow = ([undef, 'UNCONFIRMED', $create], [undef, 'NEW', $create], [undef, 'ASSIGNED', $create], diff --git a/Bugzilla/Migrate.pm b/Bugzilla/Migrate.pm index 2ae638e4f..e72c5c52e 100644 --- a/Bugzilla/Migrate.pm +++ b/Bugzilla/Migrate.pm @@ -90,7 +90,7 @@ END # bug_status => { # # Translate "Handled" into "RESOLVED". # "Handled" => "RESOLVED", -# "In Progress" => "ASSIGNED", +# "In Progress" => "IN_PROGRESS", # }, # # priority => { diff --git a/Bugzilla/Migrate/Gnats.pm b/Bugzilla/Migrate/Gnats.pm index ff24f73b5..db628b7d5 100644 --- a/Bugzilla/Migrate/Gnats.pm +++ b/Bugzilla/Migrate/Gnats.pm @@ -67,8 +67,8 @@ use constant VALUE_MAP => { 'non-critical' => 'normal', }, bug_status => { - 'open' => 'NEW', - 'analyzed' => 'ASSIGNED', + 'open' => 'CONFIRMED', + 'analyzed' => 'IN_PROGRESS', 'suspended' => 'RESOLVED', 'feedback' => 'RESOLVED', 'released' => 'VERIFIED', diff --git a/Bugzilla/Search/Quicksearch.pm b/Bugzilla/Search/Quicksearch.pm index 7839c4fd5..1a2877674 100644 --- a/Bugzilla/Search/Quicksearch.pm +++ b/Bugzilla/Search/Quicksearch.pm @@ -273,8 +273,8 @@ sub _handle_status_and_resolution { elsif ($words->[0] eq 'OPEN') { shift @$words; } - elsif ($words->[0] =~ /^[A-Z]+(,[A-Z]+)*$/) { - # e.g. NEW,ASSI,REOP,FIX + elsif ($words->[0] =~ /^[A-Z_]+(,[_A-Z]+)*$/) { + # e.g. CON,IN_PR,FIX undef %states; if (matchPrefixes(\%states, \%resolutions, diff --git a/Bugzilla/Status.pm b/Bugzilla/Status.pm index 0dd17ae39..ffef600de 100644 --- a/Bugzilla/Status.pm +++ b/Bugzilla/Status.pm @@ -241,7 +241,7 @@ Bugzilla::Status - Bug status class. use Bugzilla::Status; - my $bug_status = new Bugzilla::Status({name => 'ASSIGNED'}); + my $bug_status = new Bugzilla::Status({ name => 'IN_PROGRESS' }); my $bug_status = new Bugzilla::Status(4); my @closed_bug_statuses = closed_bug_statuses(); diff --git a/checksetup.pl b/checksetup.pl index 8993ff08d..0e89447fe 100755 --- a/checksetup.pl +++ b/checksetup.pl @@ -190,6 +190,7 @@ Bugzilla::Field::populate_field_definitions(); ########################################################################### Bugzilla::Install::DB::update_table_definitions(\%old_params); +Bugzilla::Install::init_workflow(); ########################################################################### # Bugzilla uses --GROUPS-- to assign various rights to its users. diff --git a/contrib/bugzilla-submit/bugzilla-submit b/contrib/bugzilla-submit/bugzilla-submit index e1e9b64d8..d98e7de8d 100755 --- a/contrib/bugzilla-submit/bugzilla-submit +++ b/contrib/bugzilla-submit/bugzilla-submit @@ -152,7 +152,7 @@ def ensure_defaults(data): if 'rep_platform' not in data: data['rep_platform'] = 'PC' if 'bug_status' not in data: - data['bug_status'] = 'NEW' + data['bug_status'] = 'CONFIRMED' if 'bug_severity' not in data: data['bug_severity'] = 'normal' if 'bug_file_loc' not in data: diff --git a/contrib/convert-workflow.pl b/contrib/convert-workflow.pl new file mode 100644 index 000000000..c01b751c0 --- /dev/null +++ b/contrib/convert-workflow.pl @@ -0,0 +1,111 @@ +#!/usr/bin/perl -w +# +# The contents of this file are subject to the Mozilla Public +# License Version 1.1 (the "License"); you may not use this file +# except in compliance with the License. You may obtain a copy of +# the License at http://www.mozilla.org/MPL/ +# +# Software distributed under the License is distributed on an "AS +# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or +# implied. See the License for the specific language governing +# rights and limitations under the License. +# +# The Original Code is the Bugzilla Bug Tracking System. +# +# The Initial Developer of the Original Code is Everything Solved, Inc. +# Portions created by the Initial Developer are Copyright (C) 2009 the +# Initial Developer. All Rights Reserved. +# +# Contributor(s): +# Max Kanat-Alexander + +use strict; +use warnings; +use lib qw(. lib); + +use Bugzilla; +use Bugzilla::Config qw(:admin); +use Bugzilla::Status; + +my $confirmed = new Bugzilla::Status({ name => 'CONFIRMED' }); +my $in_progress = new Bugzilla::Status({ name => 'IN_PROGRESS' }); + +if ($confirmed and $in_progress) { + print "You are already using the new workflow.\n"; + exit 1; +} + +print <dbh; +my %translation = ( + NEW => 'CONFIRMED', + ASSIGNED => 'IN_PROGRESS', + REOPENED => 'CONFIRMED', + CLOSED => 'VERIFIED', +); + +my $status_field = Bugzilla::Field->check('bug_status'); +$dbh->bz_start_transaction(); +while (my ($from, $to) = each %translation) { + print "Converting $from to $to...\n"; + $dbh->do('UPDATE bugs SET bug_status = ? WHERE bug_status = ?', + undef, $to, $from); + + if (Bugzilla->params->{'duplicate_or_move_bug_status'} eq $from) { + SetParam('duplicate_or_move_bug_status', $to); + write_params(); + } + + foreach my $what (qw(added removed)) { + $dbh->do("UPDATE bugs_activity SET $what = ? + WHERE fieldid = ? AND $what = ?", + undef, $to, $status_field->id, $from); + } + + # Delete any transitions where it now appears that + # a bug moved from a status to itself. + $dbh->do('DELETE FROM bugs_activity WHERE fieldid = ? AND added = removed', + undef, $status_field->id); + + # If the new status already exists, just delete the old one, but retain + # the workflow items from it. + if (my $existing = new Bugzilla::Status({ name => $to })) { + $dbh->do('DELETE FROM bug_status WHERE value = ?', undef, $from); + } + # Otherwise, rename the old status to the new one. + else { + $dbh->do('UPDATE bug_status SET value = ? WHERE value = ?', + undef, $to, $from); + } +} + +$dbh->bz_commit_transaction(); + +print < - #NEW# + #CONFIRMED# @@ -467,7 +467,7 @@ - #ASSIGNED# + #IN_PROGRESS# diff --git a/docs/en/xml/administration.xml b/docs/en/xml/administration.xml index 2a05404f1..884284365 100644 --- a/docs/en/xml/administration.xml +++ b/docs/en/xml/administration.xml @@ -771,7 +771,7 @@ Set this to the number of days you want to let bugs go - in the NEW or REOPENED state before notifying people they have + in the CONFIRMED state before notifying people they have untouched new bugs. If you do not plan to use this feature, simply do not set up the whining cron job described in the installation instructions, or set this value to "0" (never whine). @@ -1239,7 +1239,7 @@ basis. The number of votes available to users is set per-product, as is the number of votes required to move a bug automatically from the UNCONFIRMED - status to the NEW status. + status to the CONFIRMED status. @@ -2547,7 +2547,7 @@ ReadOnly: ENTRY, NA/NA, CANEDIT This allows developers to gauge user need for a particular enhancement or bugfix. By allowing bugs with a certain number of votes to automatically move from "UNCONFIRMED" to - "NEW", users of the bug system can help high-priority bugs garner + "CONFIRMED", users of the bug system can help high-priority bugs garner attention so they don't sit for a long time awaiting triage. To modify Voting settings: @@ -2576,7 +2576,7 @@ ReadOnly: ENTRY, NA/NA, CANEDIT Number of votes a bug in this product needs to automatically get out of the UNCONFIRMED state: Setting this field to "0" disables the automatic move of - bugs from UNCONFIRMED to NEW. + bugs from UNCONFIRMED to CONFIRMED. diff --git a/docs/en/xml/installation.xml b/docs/en/xml/installation.xml index bffcb9b4f..b1f4b9ccb 100644 --- a/docs/en/xml/installation.xml +++ b/docs/en/xml/installation.xml @@ -1494,7 +1494,7 @@ c:\perl\bin\perl.exe -xc:\bugzilla -wT "%s" %s What good are bugs if they're not annoying? To help make them more so you can set up Bugzilla's automatic whining system to complain at engineers - which leave their bugs in the NEW or REOPENED state without triaging them. + which leave their bugs in the CONFIRMED state without triaging them. This can be done by adding the following command as a daily diff --git a/showdependencygraph.cgi b/showdependencygraph.cgi index 5fadce998..162dd2afb 100755 --- a/showdependencygraph.cgi +++ b/showdependencygraph.cgi @@ -199,9 +199,6 @@ my $sth = $dbh->prepare( foreach my $k (keys(%seen)) { # Retrieve bug information from the database my ($stat, $resolution, $summary) = $dbh->selectrow_array($sth, undef, $k); - $stat ||= 'NEW'; - $resolution ||= ''; - $summary ||= ''; # Resolution and summary are shown only if user can see the bug if (!Bugzilla->user->can_see_bug($k)) { diff --git a/template/en/default/admin/params/bugchange.html.tmpl b/template/en/default/admin/params/bugchange.html.tmpl index 9f456ee6f..15d4f1e29 100644 --- a/template/en/default/admin/params/bugchange.html.tmpl +++ b/template/en/default/admin/params/bugchange.html.tmpl @@ -23,6 +23,10 @@ desc = "Set up $terms.bug change policies" %] +[% PROCESS "global/field-descs.none.tmpl" %] + +[% accept_status = display_value('bug_status', 'IN_PROGRESS') FILTER html %] + [% param_descs = { duplicate_or_move_bug_status => "When $terms.abug is marked as a duplicate of another one " _ "or is moved to another installation, use this $terms.bug status." @@ -37,8 +41,10 @@ "If off, then all $terms.bugs initially have the default " _ "milestone for the product being filed in.", - musthavemilestoneonaccept => "If you are using Target Milestone, do you want to require that " _ - "the milestone be set in order for a user to ACCEPT a ${terms.bug}?", + musthavemilestoneonaccept => + "If you are using ${field_descs.target_milestone}, do you want to require" + _ " that the milestone be set in order for a user to set" + _ " ${terms.abug}'s status to ${accept_status}?", commentonchange_resolution => "If this option is on, the user needs to enter a short " _ "comment if the resolution of the $terms.bug changes.", diff --git a/template/en/default/admin/params/mta.html.tmpl b/template/en/default/admin/params/mta.html.tmpl index 872db801a..5391a4fc9 100644 --- a/template/en/default/admin/params/mta.html.tmpl +++ b/template/en/default/admin/params/mta.html.tmpl @@ -68,7 +68,7 @@ " $terms.Bugzilla and your SMTP server. You can use this to" _ " troubleshoot email problems.", - whinedays => "The number of days that we'll let a $terms.bug sit untouched in a NEW " _ + whinedays => "The number of days that we'll let a $terms.bug sit untouched in a CONFIRMED " _ "state before our cronjob will whine at the owner.
" _ "Set to 0 to disable whining.", diff --git a/template/en/default/admin/products/create.html.tmpl b/template/en/default/admin/products/create.html.tmpl index 6ae400e27..1b50661cf 100644 --- a/template/en/default/admin/products/create.html.tmpl +++ b/template/en/default/admin/products/create.html.tmpl @@ -32,7 +32,7 @@ product.is_active = 1, version = "unspecified", product.defaultmilestone = constants.DEFAULT_MILESTONE - product.allows_unconfirmed = 0 + product.allows_unconfirmed = 1 %]
diff --git a/template/en/default/email/whine.txt.tmpl b/template/en/default/email/whine.txt.tmpl index e90480e8b..32d8da8a0 100644 --- a/template/en/default/email/whine.txt.tmpl +++ b/template/en/default/email/whine.txt.tmpl @@ -30,9 +30,8 @@ You have one or more [% terms.bugs %] assigned to you in the [% terms.Bugzilla % [% terms.bug %] tracking system ([% urlbase %]) that require attention. -All of these [% terms.bugs %] are in the [% display_value("bug_status", "NEW") %] or -[%= display_value("bug_status", "REOPENED") %] state, and have not been -touched in [% Param("whinedays") %] days or more. +All of these [% terms.bugs %] are in the [% display_value("bug_status", "CONFIRMED") %] +state, and have not been touched in [% Param("whinedays") %] days or more. You need to take a look at them, and decide on an initial action. Generally, this means one of three things: @@ -44,17 +43,17 @@ Generally, this means one of three things: sure that the Component field seems reasonable, and then use the "Reset Assignee to default" option.) (3) You decide the [% terms.bug %] belongs to you, but you can't solve it this moment. - Accept the [% terms.bug %] by setting the status to [% display_value("bug_status", "ASSIGNED") %]. + Accept the [% terms.bug %] by setting the status to [% display_value("bug_status", "IN_PROGRESS") %]. -To get a list of all [% display_value("bug_status", "NEW") %]/[% display_value("bug_status", "REOPENED") %] [%+ terms.bugs %], you can use this URL (bookmark +To get a list of all [% display_value("bug_status", "CONFIRMED") %] [%+ terms.bugs %], you can use this URL (bookmark it if you like!): - [% urlbase %]buglist.cgi?bug_status=NEW&bug_status=REOPENED&assigned_to=[% email %] + [% urlbase %]buglist.cgi?bug_status=CONFIRMED&assigned_to=[% email %] Or, you can use the general query page, at [%+ urlbase %]query.cgi -Appended below are the individual URLs to get to all of your [% display_value("bug_status", "NEW") %] [%+ terms.bugs %] +Appended below are the individual URLs to get to all of your [% display_value("bug_status", "CONFIRMED") %] [%+ terms.bugs %] that haven't been touched for [% Param("whinedays") %] days or more. You will get this message once a day until you've dealt with these [% terms.bugs %]! diff --git a/template/en/default/global/field-descs.none.tmpl b/template/en/default/global/field-descs.none.tmpl index ee75efaa3..2ef558ce4 100644 --- a/template/en/default/global/field-descs.none.tmpl +++ b/template/en/default/global/field-descs.none.tmpl @@ -68,7 +68,7 @@ [% value_descs = { "bug_status" => { # "UNCONFIRMED" => "UNCO", - # "NEW" => "NEWISH", + # "CONFIRMED" => "ITSABUG", }, "resolution" => { diff --git a/template/en/default/global/messages.html.tmpl b/template/en/default/global/messages.html.tmpl index b45724b73..96225e128 100644 --- a/template/en/default/global/messages.html.tmpl +++ b/template/en/default/global/messages.html.tmpl @@ -719,6 +719,9 @@ Verify that the file permissions in your [% terms.Bugzilla %] directory are suitable for your system. Avoid unnecessary write access. + [% ELSIF message_tag == "install_workflow_init" %] + Setting up the default status workflow... + [% ELSIF message_tag == "product_created" %] [% title = "Product Created" %] The product [% product.name FILTER html %] has been created. You will need to diff --git a/template/en/default/list/list.ics.tmpl b/template/en/default/list/list.ics.tmpl index 3f9e2b881..b135267f4 100644 --- a/template/en/default/list/list.ics.tmpl +++ b/template/en/default/list/list.ics.tmpl @@ -82,7 +82,7 @@ END:VCALENDAR [% END %] [% END %] [% IF NOT status %] - [% IF bug_status == 'ASSIGNED' %] + [% IF bug_status == 'IN_PROGRESS' || bug_status == 'ASSIGNED' %] [% status = 'IN-PROGRESS' %] [% ELSE %] [% status = 'NEEDS-ACTION' %] diff --git a/template/en/default/pages/fields.html.tmpl b/template/en/default/pages/fields.html.tmpl index de089ec11..d97a40f96 100644 --- a/template/en/default/pages/fields.html.tmpl +++ b/template/en/default/pages/fields.html.tmpl @@ -65,49 +65,33 @@ Nobody has confirmed that this [% terms.bug %] is valid. Users who have the "canconfirm" permission set may confirm this [% terms.bug %], changing its state to - [% display_value("bug_status", "NEW") FILTER html %]. + [% display_value("bug_status", "CONFIRMED") FILTER html %]. Or, it may be directly resolved and marked [% display_value("bug_status", "RESOLVED") FILTER html %].
- [% display_value("bug_status", "NEW") FILTER html %] + [% display_value("bug_status", "CONFIRMED") FILTER html %]
This [% terms.bug %] is valid and has recently been filed. [%+ terms.Bugs %] in this state become - [% display_value("bug_status", "ASSIGNED") FILTER html %] when - somebody is working on them, or become resolved and marked + [% display_value("bug_status", "IN_PROGRESS") FILTER html %] + when somebody is working on them, or become resolved and marked [% display_value("bug_status", "RESOLVED") FILTER html %].
- [% display_value("bug_status", "ASSIGNED") FILTER html %] + [% display_value("bug_status", "IN_PROGRESS") FILTER html %]
This [% terms.bug %] is not yet resolved, but is assigned to the proper person who is working on the [% terms.bug %]. From here, [%+ terms.bugs %] can be given to another person and become - [% display_value("bug_status", "NEW") FILTER html %], or + [% display_value("bug_status", "CONFIRMED") FILTER html %], or resolved and become [% display_value("bug_status", "RESOLVED") FILTER html %].
- -
- [% display_value("bug_status", "REOPENED") FILTER html %] -
-
- This [% terms.bug %] was once resolved, but the resolution was - deemed incorrect. For example, a - [% display_value("resolution", "WORKSFORME") FILTER html %] - [%+ terms.bug %] is marked - [% display_value("bug_status", "REOPENED") FILTER html %] when - more information shows up and the [% terms.bug %] is now - reproducible. From here, [% terms.bugs %] are either marked - [% display_value("bug_status", "ASSIGNED") FILTER html %] or - [% display_value("bug_status", "RESOLVED") FILTER html %]. -
- @@ -128,11 +112,9 @@
A resolution has been performed, and it is awaiting verification by - QA. From here [% terms.bugs %] are either re-opened and become - [% display_value("bug_status", "REOPENED") FILTER html %], are - marked [% display_value("bug_status", "VERIFIED") FILTER html %], - or are closed for good and marked - [% display_value("bug_status", "CLOSED") FILTER html %]. + QA. From here [% terms.bugs %] are either reopened and given some + open status, or are verified by QA and marked + [% display_value("bug_status", "VERIFIED") FILTER html %].
@@ -140,20 +122,8 @@
QA has looked at the [% terms.bug %] and the resolution and - agrees that the appropriate resolution has been taken. - [%+ terms.Bugs %] remain in this state until the product they were - reported against actually ships, at which point they become - [% display_value("bug_status", "CLOSED") FILTER html %]. -
- -
- [% display_value("bug_status", "CLOSED") FILTER html %] -
-
- The [% terms.bug %] is considered dead, the resolution is correct. - Any zombie [% terms.bugs %] who choose to walk the earth again must - do so by becoming - [% display_value("bug_status", "REOPENED") FILTER html %]. + agrees that the appropriate resolution has been taken. This is + the final staus for bugs.
diff --git a/template/en/default/pages/quicksearch.html.tmpl b/template/en/default/pages/quicksearch.html.tmpl index 1a630671d..486261009 100644 --- a/template/en/default/pages/quicksearch.html.tmpl +++ b/template/en/default/pages/quicksearch.html.tmpl @@ -97,8 +97,8 @@

You can specify any of these fields like field:value in the search box, to search on them. You can also abbreviate the field name, as long as your abbreviation matches only one field name. - So, for example, searching on stat:NEW will find all - [%+ terms.bugs %] in the NEW status. Some fields have + So, for example, searching on stat:VERIFIED will find all + [%+ terms.bugs %] in the VERIFIED status. Some fields have multiple names, and you can use any of those names to search for them.

[% IF Bugzilla.active_custom_fields.size %] diff --git a/whineatnews.pl b/whineatnews.pl index 7be485d29..19b0e44fc 100755 --- a/whineatnews.pl +++ b/whineatnews.pl @@ -25,8 +25,10 @@ # This is a script suitable for running once a day from a cron job. It # looks at all the bugs, and sends whiny mail to anyone who has a bug -# assigned to them that has status NEW or REOPENED that has not been -# touched for more than the number of days specified in the whinedays param. +# assigned to them that has status CONFIRMED, NEW, or REOPENED that has not +# been touched for more than the number of days specified in the whinedays +# param. (We have NEW and REOPENED in there to keep compatibility with old +# Bugzillas.) use strict; use lib qw(. lib); @@ -44,7 +46,7 @@ my $query = q{SELECT bug_id, short_desc, login_name FROM bugs INNER JOIN profiles ON userid = assigned_to - WHERE (bug_status = ? OR bug_status = ?) + WHERE bug_status IN (?,?,?) AND disable_mail = 0 AND } . $dbh->sql_to_days('NOW()') . " - " . $dbh->sql_to_days('delta_ts') . " > " . @@ -54,7 +56,8 @@ my $query = q{SELECT bug_id, short_desc, login_name my %bugs; my %desc; -my $slt_bugs = $dbh->selectall_arrayref($query, undef, 'NEW', 'REOPENED'); +my $slt_bugs = $dbh->selectall_arrayref($query, undef, 'CONFIRMED', 'NEW', + 'REOPENED'); foreach my $bug (@$slt_bugs) { my ($id, $desc, $email) = @$bug; -- cgit v1.2.3-24-g4f1b