# 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::Whine; use 5.10.1; use strict; use parent qw(Bugzilla::Object); use Bugzilla::Constants; use Bugzilla::Error; use Bugzilla::User; use Bugzilla::Util; use Bugzilla::Whine::Schedule; use Bugzilla::Whine::Query; ############# # Constants # ############# use constant DB_TABLE => 'whine_events'; use constant DB_COLUMNS => qw( id owner_userid subject body mailifnobugs ); use constant LIST_ORDER => 'id'; #################### # Simple Accessors # #################### sub subject { return $_[0]->{'subject'}; } sub body { return $_[0]->{'body'}; } sub mail_if_no_bugs { return $_[0]->{'mailifnobugs'}; } sub user { my ($self) = @_; return $self->{user} if defined $self->{user}; $self->{user} = new Bugzilla::User($self->{'owner_userid'}); return $self->{user}; } 1; __END__ =head1 NAME Bugzilla::Whine - A Whine event =head1 SYNOPSIS use Bugzilla::Whine; my $event = new Bugzilla::Whine($event_id); my $subject = $event->subject; my $body = $event->body; my $mailifnobugs = $event->mail_if_no_bugs; my $user = $event->user; =head1 DESCRIPTION This module exists to represent a whine event that has been saved to the database. This is an implementation of L, and so has all the same methods available as L, in addition to what is documented below. =head1 METHODS =head2 Constructors =over =item C Does not accept a bare C argument. Instead, accepts only an id. See also: L. =back =head2 Accessors These return data about the object, without modifying the object. =over =item C Returns the subject of the whine event. =item C Returns the body of the whine event. =item C Returns a numeric 1(C) or 0(C) to represent whether this whine event object is supposed to be mailed even if there are no bugs returned by the query. =item C Returns the L object for the owner of the L event. =back