94 lines
2.3 KiB
Perl
94 lines
2.3 KiB
Perl
# This Source Code Form is subject to the terms of the Mozilla Public
|
|
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
#
|
|
# This Source Code Form is "Incompatible With Secondary Licenses", as
|
|
# defined by the Mozilla Public License, v. 2.0.
|
|
|
|
package Bugzilla::BugUserLastVisit;
|
|
|
|
use 5.10.1;
|
|
use strict;
|
|
use warnings;
|
|
|
|
use parent qw(Bugzilla::Object);
|
|
|
|
#####################################################################
|
|
# Overriden Constants that are used as methods
|
|
#####################################################################
|
|
|
|
use constant DB_TABLE => 'bug_user_last_visit';
|
|
use constant DB_COLUMNS => qw( id user_id bug_id last_visit_ts );
|
|
use constant UPDATE_COLUMNS => qw( last_visit_ts );
|
|
use constant VALIDATORS => {};
|
|
use constant LIST_ORDER => 'id';
|
|
use constant NAME_FIELD => 'id';
|
|
|
|
# turn off auditing and exclude these objects from memcached
|
|
use constant { AUDIT_CREATES => 0,
|
|
AUDIT_UPDATES => 0,
|
|
AUDIT_REMOVES => 0,
|
|
USE_MEMCACHED => 0 };
|
|
|
|
#####################################################################
|
|
# Provide accessors for our columns
|
|
#####################################################################
|
|
|
|
sub id { return $_[0]->{id} }
|
|
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__
|
|
|
|
=head1 NAME
|
|
|
|
Bugzilla::BugUserLastVisit - Model for BugUserLastVisit bug search data
|
|
|
|
=head1 SYNOPSIS
|
|
|
|
use Bugzilla::BugUserLastVisit;
|
|
|
|
my $lv = Bugzilla::BugUserLastVisit->new($id);
|
|
|
|
# Class Functions
|
|
$user = Bugzilla::BugUserLastVisit->create({
|
|
bug_id => $bug_id,
|
|
user_id => $user_id,
|
|
last_visit_ts => $last_visit_ts
|
|
});
|
|
|
|
=head1 DESCRIPTION
|
|
|
|
This package handles Bugzilla BugUserLastVisit.
|
|
|
|
C<Bugzilla::BugUserLastVisit> is an implementation of L<Bugzilla::Object>, and
|
|
thus provides all the methods of L<Bugzilla::Object> in addition to the methods
|
|
listed below.
|
|
|
|
=head1 METHODS
|
|
|
|
=head2 Accessor Methods
|
|
|
|
=over
|
|
|
|
=item C<id>
|
|
|
|
=item C<bug_id>
|
|
|
|
=item C<user_id>
|
|
|
|
=item C<last_visit_ts>
|
|
|
|
=item C<user>
|
|
|
|
=back
|