# 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 strict; use base 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. =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. 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 object with a matching C attribute for the user. 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 The L object id for this object. =item C The L query object name for this object. =item C The relational sorting key as compared with other L objects. =item C Returns a numeric 1(C) or 0(C) to represent whether this L object is supposed to be mailed as a list of bugs or one email per bug. =item C The title of this object as it appears in the user forms and emails. =back