Ignore:
Timestamp:
09/15/12 08:52:16 (12 years ago)
Author:
nanardon
Message:

Merge branch 'dyngroup'

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/LATMOS-Accounts-Web/lib/LATMOS/Accounts/Web/Model/AttrFilter.pm

    r1131 r1135  
    4141 
    4242    my @objlist = (); 
    43     if ($c->req->params->{'q'}) { 
    44         my %objs; 
    45         foreach my $attr (@{ $c->config->{objects}{$otype}{quick_search} || [ 'cn' ]}) { 
    46             foreach ($base->search_objects( 
    47                     $otype, "$attr~" . $c->req->params->{'q'})) { 
    48                 $objs{$_} = 1; 
     43    if ($c->req->params->{'q'} || exists($c->req->params->{'attr'}) ) { 
     44        my %objs = (); 
     45        if ($c->req->params->{'q'}) { 
     46            foreach my $attr (@{ $c->config->{objects}{$otype}{quick_search} || [ 'cn' ]}) { 
     47                foreach ($base->search_objects( 
     48                        $otype, "$attr~" . $c->req->params->{'q'})) { 
     49                    $objs{$_} = 1; 
     50                } 
     51                @objlist = sort keys %objs; 
    4952            } 
    50             @objlist = sort keys %objs; 
    5153        } 
    52     } elsif (exists($c->req->params->{'attr'})) { 
    53         $self->{filter}{'attr'} = [ $c->req->param('attr') ]; 
    54         $self->{filter}{'attrval'} = [ $c->req->param('attrval') ]; 
    55         my @filter = $self->filter; 
    56         @objlist = $base->search_objects($otype, @filter); 
     54 
     55        if (exists($c->req->params->{'attr'})) { 
     56            $self->{filter}{'attr'} = [ $c->req->param('attr') ]; 
     57            $self->{filter}{'attrval'} = [ $c->req->param('attrval') ]; 
     58            my @filter = $self->filter; 
     59            @objlist = $base->search_objects($otype, @filter); 
     60            if ($c->req->params->{'q'}) { 
     61                @objlist = grep { $objs{$_} } @objlist; 
     62            } 
     63        } 
    5764    } else { 
    5865        @objlist = $base->list_objects($otype); 
Note: See TracChangeset for help on using the changeset viewer.