[Rt-commit] rt branch, 4.6/txn-query-builder-with-new-themes, repushed

? sunnavy sunnavy at bestpractical.com
Tue Dec 10 07:44:45 EST 2019


The branch 4.6/txn-query-builder-with-new-themes was deleted and repushed:
       was a896b4d1b268199f2bdc1920164d410425449dcb
       now c0463e8f8cdb055986756caa1529b51cef6ff088

1: 17fde7e07d ! 1: 8f3298ad11 Initial ticket transaction query builder
    @@ -369,7 +369,6 @@
     +    my $self = shift;
     +    # Private Member Variables (which should get cleaned)
     +    $self->{'_sql_query'}         = '';
    -+    $self->{'_sql_looking_at'}    = {};
      }
      
      =head2 LimitToTicket TICKETID 
    @@ -1049,13 +1048,6 @@
     +        $value = $user->id if $user->id;
     +    }
     +
    -+    if ( $field eq 'Status' && $value =~ /^(?:__(?:in)?active__)$/i ) {
    -+        my $user = RT::User->new( $self->CurrentUser );
    -+        $user->Load($value);
    -+        $value = $user->id if $user->id;
    -+    }
    -+
    -+    $self->{_sql_looking_at}{ lc "ticket$field" } = 1;
     +    $self->Limit(
     +        %rest,
     +        ALIAS         => $self->_JoinTickets,
    @@ -1110,8 +1102,6 @@
     +    $args{SUBCLAUSE} ||= "txnsql"
     +        if $self->{parsing_txnsql} and not $args{LEFTJOIN};
     +
    -+    $self->{_sql_looking_at}{ lc $args{FIELD} }{ $args{VALUE} } = 1
    -+        if $args{FIELD} and ( not $args{ALIAS} or $args{ALIAS} eq "main" );
     +    $self->SUPER::Limit(%args);
     +}
     +
    @@ -1297,23 +1287,6 @@
     +        return (0, $error);
     +    }
     +
    -+    if ( !$self->{_sql_looking_at}{objecttype} ) {
    -+        $self->Limit( FIELD => 'ObjectType', VALUE => 'RT::Ticket' );
    -+        $self->{_sql_looking_at}{objecttype}{'RT::Ticket'} = 1;
    -+    }
    -+
    -+    if ( $self->{_sql_looking_at}{objecttype}{'RT::Ticket'} ) {
    -+        if ( !$self->{_sql_looking_at}{tickettype} ) {
    -+            $self->Limit(
    -+                ALIAS         => $self->_JoinTickets,
    -+                FIELD         => 'Type',
    -+                OPERATOR      => '=',
    -+                VALUE         => 'ticket',
    -+                CASESENSITIVE => 0,
    -+            );
    -+        }
    -+    }
    -+
     +    # set SB's dirty flag
     +    $self->{'must_redo_search'} = 1;
     +
    @@ -1360,7 +1333,11 @@
     +if (!$Collection) {
     +    $Collection = $Class->new( $session{'CurrentUser'} );
     +    if ( $Class eq 'RT::Transactions' ) {
    -+        $Query = join ' AND ', "ObjectType = '$ObjectType'", $Query ? "($Query)" : ();
    ++        my @limits = ( "ObjectType = '$ObjectType'", $Query ? "($Query)" : () );
    ++        if ( $ObjectType eq 'RT::Ticket' ) {
    ++            unshift @limits, "TicketType = 'ticket'";
    ++        }
    ++        $Query = join ' AND ', @limits;
     +    }
          $Collection->FromSQL($Query);
      }
    @@ -3078,7 +3055,11 @@
     +my ( $ok, $msg );
     +if ( $Query ) {
     +    if ( $Class eq 'RT::Transactions' ) {
    -+        ( $ok, $msg ) = $session{$session_name}->FromSQL( join ' AND ', "ObjectType = '$ObjectType'", "($Query)" );
    ++        my @limits = ( "ObjectType = '$ObjectType'", "($Query)" );
    ++        if ( $ObjectType eq 'RT::Ticket' ) {
    ++            unshift @limits, "TicketType = 'ticket'";
    ++        }
    ++        ( $ok, $msg ) = $session{$session_name}->FromSQL( join ' AND ', @limits );
     +    }
     +    else {
     +        ( $ok, $msg ) = $session{$session_name}->FromSQL($Query);
    @@ -3222,7 +3203,20 @@
     -my $Tickets = RT::Tickets->new( $session{'CurrentUser'} );
     -$Tickets->FromSQL( $Query );
     +my $collection = $Class->new( $session{'CurrentUser'} );
    -+$collection->FromSQL( $Class eq 'RT::Transactions' ? join( ' AND ', "ObjectType = '$ObjectType'", "($Query)" ) : $Query );
    ++
    ++my @limits;
    ++
    ++if ( $Class eq 'RT::Transactions' ) {
    ++    @limits = ( "ObjectType = '$ObjectType'", "($Query)" );
    ++    if ( $ObjectType eq 'RT::Ticket' ) {
    ++        unshift @limits, "TicketType = 'ticket'";
    ++    }
    ++}
    ++else {
    ++    push @limits, $Query;
    ++}
    ++
    ++$collection->FromSQL( join ' AND ', @limits );
      if ( $OrderBy =~ /\|/ ) {
          # Multiple Sorts
          my @OrderBy = split /\|/, $OrderBy;
2: 57dec7ad98 = 2: 0122ff1d29 Resolve the inconsistent $Class param in Search and CollectionAsTable
3: a4ad1d535f = 3: 74c8d4baf8 Add support to clip long search result columns
4: 44c48a98d6 ! 4: 77e05fe4da Add transaction search tests
    @@ -30,18 +30,18 @@
     +    is( $txn->$field, $field_value{$field}, $field );
     +}
     +
    -+$txns->FromSQL('Type="Create" AND TicketStatus="__Active__"');
    ++$txns->FromSQL('ObjectType="RT::Ticket" AND Type="Create" AND TicketStatus="__Active__"');
     +is( $txns->Count, 2, 'Found the 2 create txns of active tickets' );
     +
    -+$txns->FromSQL('Type="Create" AND TicketStatus="__Inactive__"');
    ++$txns->FromSQL('ObjectType="RT::Ticket" AND Type="Create" AND TicketStatus="__Inactive__"');
     +is( $txns->Count, 0, 'Found the 0 create txns of inactive tickets' );
     +
     +ok( $frodo->SetStatus('resolved'), 'Resolved 1 ticket' );
    -+$txns->FromSQL('Type="Create" AND TicketStatus="__Active__"');
    ++$txns->FromSQL('ObjectType="RT::Ticket" AND Type="Create" AND TicketStatus="__Active__"');
     +is( $txns->Count, 1, 'Found the 1 create txn of active tickets' );
     +is( $txns->Next->ObjectId, $bilbo->id, 'Active ticket is bilbo' );
     +
    -+$txns->FromSQL('Type="Create" AND TicketStatus="__Inactive__"');
    ++$txns->FromSQL('ObjectType="RT::Ticket" AND Type="Create" AND TicketStatus="__Inactive__"');
     +is( $txns->Count, 1, 'Found the 1 create txn of inactive tickets' );
     +is( $txns->Next->ObjectId, $frodo->id, 'Inactive ticket is frodo' );
     +
5: c5715e5100 = 5: 4d9e9fb25f Add transaction query builder tests
6: a896b4d1b2 = 6: c0463e8f8c Add Transactions to query builder docs



More information about the rt-commit mailing list