[Rt-commit] rt branch, master, updated. rt-4.1.13-22-ged04925
Alex Vandiver
alexmv at bestpractical.com
Tue Jun 18 21:38:24 EDT 2013
The branch, master has been updated
via ed04925a522fe0d1e057689747f970732e89d7f5 (commit)
via bf4ead862432d19a8864ac79b11d6e94bd37dad3 (commit)
via add166d6a1685f9beb4a9973370f642ee590df53 (commit)
via e520353705a984dcfb72d8c4bf21bb36102f90d6 (commit)
from f3491047b00f4ea2452fc231946fb604f7b72e7a (commit)
Summary of changes:
lib/RT/Tickets.pm | 130 +++++++---------------------
share/html/Search/Elements/PickBasics | 13 +++
share/html/Search/Elements/SelectPersonType | 4 +-
t/ticket/search_by_watcher_group.t | 75 ++++++++++++++++
4 files changed, 120 insertions(+), 102 deletions(-)
create mode 100644 t/ticket/search_by_watcher_group.t
- Log -----------------------------------------------------------------
commit ed04925a522fe0d1e057689747f970732e89d7f5
Merge: f349104 bf4ead8
Author: Alex Vandiver <alexmv at bestpractical.com>
Date: Tue Jun 18 18:29:05 2013 -0700
Merge branch '4.2/xxxgroup-ticketsql'
Conflicts:
lib/RT/Tickets.pm
diff --cc lib/RT/Tickets.pm
index 126bdc3,c520643..8fdac80
--- a/lib/RT/Tickets.pm
+++ b/lib/RT/Tickets.pm
@@@ -954,71 -924,38 +926,38 @@@ Meta Data
=cut
sub _WatcherMembershipLimit {
- my ( $self, $field, $op, $value, @rest ) = @_;
- my %rest = @rest;
-
- $self->_OpenParen;
-
- my $groups = $self->NewAlias('Groups');
- my $groupmembers = $self->NewAlias('CachedGroupMembers');
- my $users = $self->NewAlias('Users');
- my $memberships = $self->NewAlias('CachedGroupMembers');
-
- $self->Limit(
- ALIAS => $memberships,
- FIELD => 'GroupId',
- VALUE => $value,
- OPERATOR => $op,
- @rest,
- );
-
- # Tie to groups for tickets we care about
- $self->Limit(
- ALIAS => $groups,
- FIELD => 'Domain',
- VALUE => 'RT::Ticket-Role',
- ENTRYAGGREGATOR => 'AND',
- CASESENSITIVE => 0,
- );
+ my ( $self, $field, $op, $value, %rest ) = @_;
- $self->Join(
- ALIAS1 => $groups,
- FIELD1 => 'Instance',
- ALIAS2 => 'main',
- FIELD2 => 'id'
- );
+ # we don't support anything but '='
+ die "Invalid $field Op: $op"
+ unless $op =~ /^=$/;
- # }}}
+ unless ( $value =~ /^\d+$/ ) {
+ my $group = RT::Group->new( $self->CurrentUser );
+ $group->LoadUserDefinedGroup( $value );
+ $value = $group->id || 0;
+ }
- # If we care about which sort of watcher
my $meta = $FIELD_METADATA{$field};
- my $type = ( defined $meta->[1] ? $meta->[1] : undef );
+ my $type = $meta->[1] || '';
- if ($type) {
- $self->Limit(
- ALIAS => $groups,
- FIELD => 'Name',
- VALUE => $type,
- ENTRYAGGREGATOR => 'AND'
- );
+ my ($members_alias, $members_column);
+ if ( $type eq 'Owner' ) {
+ ($members_alias, $members_column) = ('main', 'Owner');
+ } else {
- (undef, undef, $members_alias) = $self->_WatcherJoin( New => 1, Type => $type );
++ (undef, undef, $members_alias) = $self->_WatcherJoin( New => 1, Name => $type );
+ $members_column = 'id';
}
- $self->Join(
- ALIAS1 => $groups,
- FIELD1 => 'id',
- ALIAS2 => $groupmembers,
- FIELD2 => 'GroupId'
- );
-
- $self->Join(
- ALIAS1 => $groupmembers,
- FIELD1 => 'MemberId',
- ALIAS2 => $users,
- FIELD2 => 'id'
+ my $cgm_alias = $self->Join(
+ ALIAS1 => $members_alias,
+ FIELD1 => $members_column,
+ TABLE2 => 'CachedGroupMembers',
+ FIELD2 => 'MemberId',
);
-
$self->Limit(
- ALIAS => $groupmembers,
+ LEFTJOIN => $cgm_alias,
+ ALIAS => $cgm_alias,
FIELD => 'Disabled',
VALUE => 0,
);
-----------------------------------------------------------------------
More information about the Rt-commit
mailing list