Bug 1053513 - remove last-visited entries when a user removes involvement from a bug

r/a=glob
parent e181022c
......@@ -1134,6 +1134,13 @@ sub update {
$self->update_user_last_visit($user, $delta_ts);
}
# If a user is no longer involved, remove their last visit entry
my $last_visits =
Bugzilla::BugUserLastVisit->match({ bug_id => $self->id });
foreach my $lv (@$last_visits) {
$lv->remove_from_db() unless $lv->user->is_involved_with_bug($self);
}
# Update bug ignore data if user wants to ignore mail for this bug
if (exists $self->{'bug_ignored'}) {
my $bug_ignored_changed;
......
......@@ -39,6 +39,13 @@ sub bug_id { return $_[0]->{bug_id} }
sub user_id { return $_[0]->{user_id} }
sub last_visit_ts { return $_[0]->{last_visit_ts} }
sub user {
my $self = shift;
$self->{user} //= Bugzilla::User->new({ id => $self->user_id, cache => 1 });
return $self->{user};
}
1;
__END__
......@@ -81,4 +88,6 @@ listed below.
=item C<last_visit_ts>
=item C<user>
=back
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment