Fix some places where products.defaultmilestone was used
parent
082cb4df74
commit
684a8cde1a
|
@ -1986,7 +1986,7 @@ sub _set_target_milestone
|
|||
# FIXME This if() is dead because of check_field_permission.
|
||||
if (!$self->check_can_change_field('target_milestone', 0, 1))
|
||||
{
|
||||
$self->{target_milestone_obj} = Bugzilla::Milestone->new($product->default_milestone);
|
||||
$self->{target_milestone_obj} = $product->default_milestone_obj;
|
||||
return $self->{target_milestone_obj}->id;
|
||||
}
|
||||
if ((!defined $target || !length $target) && Bugzilla->get_field('target_milestone')->nullable)
|
||||
|
|
|
@ -188,6 +188,15 @@ sub update {
|
|||
# Yet do not call its update() for the future
|
||||
my ($changes, $old_self) = Bugzilla::Object::update($self, @_);
|
||||
|
||||
# Convert default milestone to name
|
||||
if ($changes->{defaultmilestone})
|
||||
{
|
||||
$changes->{defaultmilestone} = [
|
||||
$changes->{defaultmilestone}->[0] ? Bugzilla::Milestone->new($changes->{defaultmilestone}->[0])->name : '',
|
||||
$changes->{defaultmilestone}->[1] ? Bugzilla::Milestone->new($changes->{defaultmilestone}->[1])->name : '',
|
||||
];
|
||||
}
|
||||
|
||||
# We also have to fix votes. # FIXME WTF?
|
||||
my @msgs; # Will store emails to send to voters.
|
||||
if ($changes->{maxvotesperbug} || $changes->{votesperuser} || $changes->{votestoconfirm}) {
|
||||
|
@ -583,6 +592,7 @@ sub _check_default_milestone
|
|||
);
|
||||
$milestone = $mil_obj->id;
|
||||
}
|
||||
delete $invocant->{default_milestone_obj};
|
||||
|
||||
return $milestone;
|
||||
}
|
||||
|
@ -1015,6 +1025,16 @@ sub cc_group { return $_[0]->{'cc_group'}; }
|
|||
#### Subroutines ######
|
||||
###############################
|
||||
|
||||
sub default_milestone_obj
|
||||
{
|
||||
my $self = shift;
|
||||
if (!exists $self->{default_milestone_obj} && $self->default_milestone)
|
||||
{
|
||||
$self->{default_milestone_obj} = Bugzilla::Milestone->new($self->default_milestone);
|
||||
}
|
||||
return $self->{default_milestone_obj};
|
||||
}
|
||||
|
||||
sub classification_obj
|
||||
{
|
||||
my $self = shift;
|
||||
|
|
|
@ -636,7 +636,7 @@ if (Bugzilla->params->{usetargetmilestone})
|
|||
}
|
||||
else
|
||||
{
|
||||
$default{target_milestone} = $product->default_milestone;
|
||||
$default{target_milestone} = $product->default_milestone && $product->default_milestone_obj->name;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -715,14 +715,14 @@ sub process_bug {
|
|||
push( @values, $milestone->name );
|
||||
}
|
||||
else {
|
||||
push( @values, $product->default_milestone );
|
||||
push( @values, $product->default_milestone && $product->default_milestone_obj->name );
|
||||
$err .= "Unknown milestone \"";
|
||||
$err .= ( defined $bug_fields{'target_milestone'} )
|
||||
? $bug_fields{'target_milestone'}
|
||||
: "unknown";
|
||||
$err .= " in product " . $product->name . ". \n";
|
||||
$err .= " Setting to default milestone for this product, ";
|
||||
$err .= "\"" . $product->default_milestone . "\".\n";
|
||||
$err .= "\"" . ($product->default_milestone && $product->default_milestone_obj->name) . "\".\n";
|
||||
}
|
||||
push( @query, "target_milestone" );
|
||||
}
|
||||
|
|
|
@ -660,10 +660,10 @@ DoubleCrossCheck("components", "product_id", "id",
|
|||
['flagexclusions', 'product_id', 'component_id'],
|
||||
['flaginclusions', 'product_id', 'component_id']);
|
||||
|
||||
DoubleCrossCheck("versions", "product_id", "value",
|
||||
DoubleCrossCheck("versions", "product_id", "id",
|
||||
["bugs", "product_id", "version", "bug_id"]);
|
||||
|
||||
DoubleCrossCheck("milestones", "product_id", "value",
|
||||
|
||||
DoubleCrossCheck("milestones", "product_id", "id",
|
||||
["bugs", "product_id", "target_milestone", "bug_id"],
|
||||
["products", "id", "defaultmilestone", "name"]);
|
||||
|
||||
|
|
|
@ -76,7 +76,7 @@
|
|||
[% END %]
|
||||
entered for this milestone! When you delete this milestone,
|
||||
<b><blink>ALL</blink></b> of these [% terms.bugs %] will be retargeted
|
||||
to [% product.default_milestone FILTER html %], the default milestone for
|
||||
to "[% product.default_milestone_obj.name FILTER html %]", the default milestone for
|
||||
the [% product.name FILTER html %] product.
|
||||
</td></tr>
|
||||
</table>
|
||||
|
|
|
@ -76,7 +76,7 @@
|
|||
%]
|
||||
|
||||
[%# We want to override the usual 'Delete' link for the default milestone %]
|
||||
[% overrides.action.name.${product.default_milestone} = {
|
||||
[% overrides.action.name.${product.default_milestone_obj.name} = {
|
||||
override_content => 1
|
||||
content => "(Default milestone)"
|
||||
override_contentlink => 1
|
||||
|
|
|
@ -615,7 +615,7 @@
|
|||
The milestone <em>[% milestone.name | html %]</em> has been deleted.
|
||||
[% IF milestone.bug_count %]
|
||||
[%+ terms.Bugs %] targetted to this milestone have been retargetted to
|
||||
the default milestone <em>[% product.default_milestone | html %]</em>.
|
||||
the default milestone <em>"[% product.default_milestone_obj.name | html %]"</em>.
|
||||
[% END %]
|
||||
[% END %]
|
||||
|
||||
|
|
Loading…
Reference in New Issue