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

Merge branch 'dyngroup'

Location:
trunk/LATMOS-Accounts-Web/lib/LATMOS/Accounts/Web
Files:
5 added
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/LATMOS-Accounts-Web/lib/LATMOS/Accounts/Web/Controller/Ajax.pm

    r1107 r1135  
    4646 
    4747sub displayattr : Local { 
    48     my ($self, $c, $otype) = @_; 
    49     my $attribute = $c->model('Accounts')->db->attribute($otype, 
    50         $c->req->param('attr')) or return; 
     48    my ($self, $c, $otype, $attr) = @_; 
     49    $attr ||= $c->req->param('attr'); 
     50    my $attribute = $c->model('Accounts')->db->attribute($otype, $attr) or return; 
    5151    $c->stash->{value} = $attribute->display($c->req->param('id')); 
    5252} 
     
    5656 
    5757    my $base = $c->model('Accounts')->db; 
    58     my $val = $c->req->param('val'); 
    59     $c->stash->{'complete'} = $c->prototype->auto_complete_result([ 
     58    my $val = $c->req->param('val') || ''; 
     59    $c->stash->{values} = [ 
     60        sort 
    6061        grep { /^\Q$val\E/ } $base->attributes_summary($otype, $attr) 
    61     ]); 
     62    ]; 
    6263 
    6364} 
  • 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.