#
# COPYRIGHT:
#
-# This software is Copyright (c) 1996-2012 Best Practical Solutions, LLC
+# This software is Copyright (c) 1996-2017 Best Practical Solutions, LLC
# <sales@bestpractical.com>
#
# (Except where explicitly superseded by other copyright notices)
use strict;
use warnings;
+use base 'RT::SearchBuilder';
use RT::Attachment;
-use base 'RT::SearchBuilder';
-
sub Table { 'Attachments'}
return $self->{'_sql_transaction_alias'}
if $self->{'_sql_transaction_alias'};
- my $res = $self->NewAlias('Transactions');
- $self->Limit(
- ENTRYAGGREGATOR => 'AND',
- FIELD => 'TransactionId',
- VALUE => $res . '.id',
- QUOTEVALUE => 0,
+ return $self->{'_sql_transaction_alias'} = $self->Join(
+ ALIAS1 => 'main',
+ FIELD1 => 'TransactionId',
+ TABLE2 => 'Transactions',
+ FIELD2 => 'id',
);
- return $self->{'_sql_transaction_alias'} = $res;
}
=head2 ContentType (VALUE => 'text/plain', ENTRYAGGREGATOR => 'OR', OPERATOR => '=' )
my $self = shift;
my %args = (
VALUE => 'text/plain',
- OPERATOR => '=',
- ENTRYAGGREGATOR => 'OR',
- @_
+ OPERATOR => '=',
+ ENTRYAGGREGATOR => 'OR',
+ @_
);
return $self->Limit ( %args, FIELD => 'ContentType' );
VALUE => 'RT::Ticket',
);
- my $tickets = $self->NewAlias('Tickets');
- $self->Limit(
- ENTRYAGGREGATOR => 'AND',
- ALIAS => $tickets,
- FIELD => 'id',
- VALUE => $transactions . '.ObjectId',
- QUOTEVALUE => 0,
+ my $tickets = $self->Join(
+ ALIAS1 => $transactions,
+ FIELD1 => 'ObjectId',
+ TABLE2 => 'Tickets',
+ FIELD2 => 'id',
);
$self->Limit(
ENTRYAGGREGATOR => 'AND',
return;
}
-# {{{ sub Next
-sub Next {
+sub AddRecord {
my $self = shift;
+ my ($record) = @_;
- my $Attachment = $self->SUPER::Next;
- return $Attachment unless $Attachment;
-
- if ( $Attachment->TransactionObj->CurrentUserCanSee ) {
- return $Attachment;
- } else {
- # If the user doesn't have the right to show this ticket
- return $self->Next;
- }
-}
-
-
-=head2 NewItem
-
-Returns an empty new RT::Attachment item
-
-=cut
-
-sub NewItem {
- my $self = shift;
- return(RT::Attachment->new($self->CurrentUser));
+ return unless $record->TransactionObj->CurrentUserCanSee;
+ return $self->SUPER::AddRecord( $record );
}
RT::Base->_ImportOverlays();