Changeset 1944 for trunk/LATMOS-Accounts/lib
- Timestamp:
- 02/13/17 20:06:04 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LATMOS-Accounts/lib/LATMOS/Accounts/Bases/Sql/objects.pm
r1927 r1944 974 974 } 975 975 } 976 my $attrKey = $attr; 976 977 977 978 if ($attrref) { … … 981 982 }; 982 983 984 $attrKey .= '.' . $attrref; 983 985 my @results = $base->search_objects($otype, "$attrref$operator$val"); 984 986 $base->log(LA_DEBUG, "Sub search %s res: %s", $otype, join(', ', @results)); 985 987 986 988 if (!@results) { 987 $results->{$attr } ||= {};989 $results->{$attrKey} ||= {}; 988 990 next; 989 991 } … … 994 996 my @results = $class->_search_uniq_filter($base, $attr, $operator, $val); 995 997 996 $results->{$attr} ||= {}; 997 $results->{$attr}{$_} = 1 foreach (@results) 998 $base->log(LA_DEBUG, "Search result: %s: %s", $attr, join(' ', @results)); 999 $results->{$attrKey} ||= {}; 1000 $results->{$attrKey}{$_} = 1 foreach (@results); 998 1001 } 999 1002 … … 1004 1007 foreach my $attr (keys %{ $results }) { 1005 1008 my @values = keys %mresults; 1006 foreach (@values) { 1007 $results->{$attr}{$_} or delete($mresults{$_}); 1009 foreach my $value (sort(@values)) { 1010 if (!$results->{$attr}{$value}) { 1011 delete($mresults{$value}); 1012 } 1008 1013 } 1009 1014 } 1010 1015 1011 1016 # We add to result aliases pointing to these object: 1012 if( keys %mresults&& !$noalias) {1017 if(scalar(keys %mresults) && !$noalias) { 1013 1018 my @alias = $class->_search_uniq_filter($base, 'oalias', '=', join('||', keys %mresults)); 1014 1019 foreach(@alias) { … … 1032 1037 1033 1038 my @values = split(/([\|\&]+)/, $value); 1039 1040 $base->log(LA_DEBUG, "Uniq search for " . $class->type . "->$attr $operator (%s)", join(' ', @values)); 1041 1034 1042 return unless(@values); 1035 1036 $base->log(LA_DEBUG, "Uniq search for " . $class->type . "->$attr $operator (%s)", join(' ', @values));1037 1043 1038 1044 # We detect if we can do a very quick search:
Note: See TracChangeset
for help on using the changeset viewer.