r=dkl a=sgreen git-svn-id: svn://10.0.0.236/trunk@265490 18797224-902f-48f8-a5cc-f745e15eee43
134 lines
2.9 KiB
Perl
134 lines
2.9 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::Whine::Query;
|
|
|
|
use 5.10.1;
|
|
use strict;
|
|
use warnings;
|
|
|
|
use parent qw(Bugzilla::Object);
|
|
|
|
use Bugzilla::Constants;
|
|
use Bugzilla::Search::Saved;
|
|
|
|
#############
|
|
# Constants #
|
|
#############
|
|
|
|
use constant DB_TABLE => 'whine_queries';
|
|
|
|
use constant DB_COLUMNS => qw(
|
|
id
|
|
eventid
|
|
query_name
|
|
sortkey
|
|
onemailperbug
|
|
title
|
|
);
|
|
|
|
use constant NAME_FIELD => 'id';
|
|
use constant LIST_ORDER => 'sortkey';
|
|
|
|
####################
|
|
# Simple Accessors #
|
|
####################
|
|
sub eventid { return $_[0]->{'eventid'}; }
|
|
sub sortkey { return $_[0]->{'sortkey'}; }
|
|
sub one_email_per_bug { return $_[0]->{'onemailperbug'}; }
|
|
sub title { return $_[0]->{'title'}; }
|
|
sub name { return $_[0]->{'query_name'}; }
|
|
|
|
|
|
1;
|
|
|
|
__END__
|
|
|
|
=head1 NAME
|
|
|
|
Bugzilla::Whine::Query - A query object used by L<Bugzilla::Whine>.
|
|
|
|
=head1 SYNOPSIS
|
|
|
|
use Bugzilla::Whine::Query;
|
|
|
|
my $query = new Bugzilla::Whine::Query($id);
|
|
|
|
my $event_id = $query->eventid;
|
|
my $id = $query->id;
|
|
my $query_name = $query->name;
|
|
my $sortkey = $query->sortkey;
|
|
my $one_email_per_bug = $query->one_email_per_bug;
|
|
my $title = $query->title;
|
|
|
|
=head1 DESCRIPTION
|
|
|
|
This module exists to represent a query for a L<Bugzilla::Whine::Event>.
|
|
Each event, which are groups of schedules and queries based on how the
|
|
user configured the event, may have zero or more queries associated
|
|
with it. Additionally, the queries are selected from the user's saved
|
|
searches, or L<Bugzilla::Search::Saved> object with a matching C<name>
|
|
attribute for the user.
|
|
|
|
This is an implementation of L<Bugzilla::Object>, and so has all the
|
|
same methods available as L<Bugzilla::Object>, in addition to what is
|
|
documented below.
|
|
|
|
=head1 METHODS
|
|
|
|
=head2 Constructors
|
|
|
|
=over
|
|
|
|
=item C<new>
|
|
|
|
Does not accept a bare C<name> argument. Instead, accepts only an id.
|
|
|
|
See also: L<Bugzilla::Object/new>.
|
|
|
|
=back
|
|
|
|
|
|
=head2 Accessors
|
|
|
|
These return data about the object, without modifying the object.
|
|
|
|
=over
|
|
|
|
=item C<event_id>
|
|
|
|
The L<Bugzilla::Whine::Event> object id for this object.
|
|
|
|
=item C<name>
|
|
|
|
The L<Bugzilla::Search::Saved> query object name for this object.
|
|
|
|
=item C<sortkey>
|
|
|
|
The relational sorting key as compared with other L<Bugzilla::Whine::Query>
|
|
objects.
|
|
|
|
=item C<one_email_per_bug>
|
|
|
|
Returns a numeric 1(C<true>) or 0(C<false>) to represent whether this
|
|
L<Bugzilla::Whine::Query> object is supposed to be mailed as a list of
|
|
bugs or one email per bug.
|
|
|
|
=item C<title>
|
|
|
|
The title of this object as it appears in the user forms and emails.
|
|
|
|
=back
|
|
|
|
=head1 B<Methods in need of POD>
|
|
|
|
=over
|
|
|
|
=item eventid
|
|
|
|
=back
|