1# BEGIN BPS TAGGED BLOCK {{{ 2# 3# COPYRIGHT: 4# 5# This software is Copyright (c) 1996-2021 Best Practical Solutions, LLC 6# <sales@bestpractical.com> 7# 8# (Except where explicitly superseded by other copyright notices) 9# 10# 11# LICENSE: 12# 13# This work is made available to you under the terms of Version 2 of 14# the GNU General Public License. A copy of that license should have 15# been provided with this software, but in any event can be snarfed 16# from www.gnu.org. 17# 18# This work is distributed in the hope that it will be useful, but 19# WITHOUT ANY WARRANTY; without even the implied warranty of 20# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 21# General Public License for more details. 22# 23# You should have received a copy of the GNU General Public License 24# along with this program; if not, write to the Free Software 25# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 26# 02110-1301 or visit their web page on the internet at 27# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html. 28# 29# 30# CONTRIBUTION SUBMISSION POLICY: 31# 32# (The following paragraph is not intended to limit the rights granted 33# to you to modify and distribute this software under the terms of 34# the GNU General Public License and is only of importance to you if 35# you choose to contribute your changes and enhancements to the 36# community by submitting them to Best Practical Solutions, LLC.) 37# 38# By intentionally submitting any modifications, corrections or 39# derivatives to this work, or any other work intended for use with 40# Request Tracker, to Best Practical Solutions, LLC, you confirm that 41# you are the copyright holder for those contributions and you grant 42# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable, 43# royalty-free, perpetual, license to use, copy, create derivative 44# works based on those contributions, and sublicense and distribute 45# those contributions and any derivatives thereof. 46# 47# END BPS TAGGED BLOCK }}} 48 49use warnings; 50use strict; 51 52package RT::ObjectTopics; 53 54use base 'RT::SearchBuilder'; 55 56 57sub Table {'ObjectTopics'} 58 59 60# {{{ LimitToTopic 61 62=head2 LimitToTopic FIELD 63 64Returns values for the topic with Id FIELD 65 66=cut 67 68sub LimitToTopic { 69 my $self = shift; 70 my $cf = shift; 71 return ($self->Limit( FIELD => 'Topic', 72 VALUE => $cf, 73 OPERATOR => '=')); 74 75} 76 77# }}} 78 79 80# {{{ LimitToObject 81 82=head2 LimitToObject OBJ 83 84Returns associations for the given OBJ only 85 86=cut 87 88sub LimitToObject { 89 my $self = shift; 90 my $object = shift; 91 92 $self->Limit( FIELD => 'ObjectType', 93 VALUE => ref($object)); 94 $self->Limit( FIELD => 'ObjectId', 95 VALUE => $object->Id); 96 97} 98 99# }}} 100 101RT::Base->_ImportOverlays(); 102 1031; 104