[Rt-commit] r3608 - in rtfm/branches/2.1-TESTING: .
html/RTFM/Article lib/RT/FM
alexmv at bestpractical.com
alexmv at bestpractical.com
Fri Aug 5 17:57:30 EDT 2005
Author: alexmv
Date: Fri Aug 5 17:57:29 2005
New Revision: 3608
Modified:
rtfm/branches/2.1-TESTING/ (props changed)
rtfm/branches/2.1-TESTING/html/RTFM/Article/Search.html
rtfm/branches/2.1-TESTING/lib/RT/FM/ArticleCollection_Overlay.pm
Log:
r5656 at zoq-fot-pik: chmrr | 2005-08-05 17:57:15 -0400
* Make "search anything" play nice with other search clauses
Modified: rtfm/branches/2.1-TESTING/html/RTFM/Article/Search.html
==============================================================================
--- rtfm/branches/2.1-TESTING/html/RTFM/Article/Search.html (original)
+++ rtfm/branches/2.1-TESTING/html/RTFM/Article/Search.html Fri Aug 5 17:57:29 2005
@@ -334,13 +334,14 @@
if ($ARGS{'Article~'}) {
$articles->LimitCustomField( VALUE => $ARGS{'Article~'},
ENTRYAGGREGATOR => 'OR',
- OPERATOR => 'LIKE' );
- $articles->Limit( SUBCLAUSE => "ObjectCustomFieldValues_1.Content",
+ OPERATOR => 'LIKE',
+ SUBCLAUSE => 'SearchAll' );
+ $articles->Limit( SUBCLAUSE => 'SearchAll',
FIELD => "Name",
VALUE => $ARGS{'Article~'},
ENTRYAGGREGATOR => 'OR',
OPERATOR => 'LIKE' );
- $articles->Limit( SUBCLAUSE => "ObjectCustomFieldValues_1.Content",
+ $articles->Limit( SUBCLAUSE => 'SearchAll',
FIELD => "Summary",
VALUE => $ARGS{'Article~'},
ENTRYAGGREGATOR => 'OR',
@@ -349,13 +350,14 @@
if ($ARGS{'Article!~'}) {
$articles->LimitCustomField( VALUE => $ARGS{'Article!~'},
- OPERATOR => 'NOT LIKE' );
- $articles->Limit( SUBCLAUSE => "ObjectCustomFieldValues_1.Content",
+ OPERATOR => 'NOT LIKE',
+ SUBCLAUSE => 'SearchAll' );
+ $articles->Limit( SUBCLAUSE => 'SearchAll',
FIELD => "Name",
VALUE => $ARGS{'Article!~'},
- ENTRYAGGREGATOR => 'ANT',
+ ENTRYAGGREGATOR => 'AND',
OPERATOR => 'NOT LIKE' );
- $articles->Limit( SUBCLAUSE => "ObjectCustomFieldValues_1.Content",
+ $articles->Limit( SUBCLAUSE => 'SearchAll',
FIELD => "Summary",
VALUE => $ARGS{'Article!~'},
ENTRYAGGREGATOR => 'AND',
Modified: rtfm/branches/2.1-TESTING/lib/RT/FM/ArticleCollection_Overlay.pm
==============================================================================
--- rtfm/branches/2.1-TESTING/lib/RT/FM/ArticleCollection_Overlay.pm (original)
+++ rtfm/branches/2.1-TESTING/lib/RT/FM/ArticleCollection_Overlay.pm Fri Aug 5 17:57:29 2005
@@ -206,7 +206,9 @@
ENTRYAGGREGATOR => (AND, OR)
OPERATOR ('=', 'LIKE', '!=', 'NOT LIKE')
VALUE ( a single scalar value or a list of possible values to be concatenated with ENTRYAGGREGATOR)
-
+
+The subclause that the LIMIT statement(s) should be done in can also
+be passed in with a SUBCLAUSE parameter.
=cut
@@ -218,6 +220,7 @@
OPERATOR => '=',
QUOTEVALUE => 1,
VALUE => undef,
+ SUBCLAUSE => undef,
@_
);
@@ -287,6 +290,8 @@
# TODO this should deal with starts with and ends with
+ my $clause = $args{'SUBCLAUSE'} || $ObjectValuesAlias;
+
if ( $args{'OPERATOR'} eq '!=' || $args{'OPERATOR'} =~ /^not like$/i ) {
my $op;
if ( $args{'OPERATOR'} eq '!=' ) {
@@ -303,14 +308,16 @@
VALUE => $value,
QUOTEVALUE => $args{'QUOTEVALUE'},
ENTRYAGGREGATOR => $args{'ENTRYAGGREGATOR'},
+ SUBCLAUSE => $clause,
);
$self->SUPER::Limit(
- ALIAS => $ObjectValuesAlias,
+ ALIAS => $ObjectValuesAlias,
FIELD => 'Content',
OPERATOR => 'IS',
VALUE => 'NULL',
QUOTEVALUE => 0,
ENTRYAGGREGATOR => 'AND',
+ SUBCLAUSE => $clause,
);
}
else {
@@ -321,6 +328,7 @@
VALUE => $value,
QUOTEVALUE => $args{'QUOTEVALUE'},
ENTRYAGGREGATOR => $args{'ENTRYAGGREGATOR'},
+ SUBCLAUSE => $clause,
);
}
}
More information about the Rt-commit
mailing list