# -*- Mode: perl; indent-tabs-mode: nil -*- # # 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 Eric Black. # Portions created by the Initial Developer are Copyright (C) 2010 # Eric Black. All Rights Reserved. # # Contributor(s): Eric Black use strict; package Bugzilla::Whine; use base 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