Changeset 1081 for trunk/LATMOS-Accounts-Web/lib/LATMOS/Accounts/Web/Model
- Timestamp:
- 07/28/12 09:20:21 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LATMOS-Accounts-Web/lib/LATMOS/Accounts/Web/Model/AttrFilter.pm
r959 r1081 21 21 nethost => [ qw(name cname otherName ip macaddr owner serialNumber) ], 22 22 netzone => [ qw(net group type site) ], 23 aliases => [ qw(as) ], 23 24 }; 24 25 … … 37 38 otype => $otype, 38 39 } unless($c->stash->{filter}); 39 if (exists($c->req->params->{'attr'})) { 40 $c->stash->{ofilter} = bless($new, __PACKAGE__); 41 42 $c->stash->{db} ||= $c->model('Accounts')->db; # need in stash ? 43 my $base = $c->stash->{db}; 44 45 my @objlist = (); 46 if ($c->req->params->{'q'}) { 47 my %objs; 48 foreach my $attr (@{ $c->config->{objects}{$otype}{quick_search} || [ 'cn' ]}) { 49 foreach ($base->search_objects( 50 $otype, "$attr~" . $c->req->params->{'q'})) { 51 $objs{$_} = 1; 52 } 53 @objlist = sort keys %objs; 54 } 55 } elsif (exists($c->req->params->{'attr'})) { 40 56 $c->stash->{filter}{'attr'} = [ $c->req->param('attr') ]; 41 57 $c->stash->{filter}{'attrval'} = [ $c->req->param('attrval') ]; 58 my @filter = $c->stash->{ofilter}->filter; 59 @objlist = $base->search_objects($otype, @filter); 60 } else { 61 @objlist = $base->list_objects($otype); 42 62 } 43 44 $c->stash->{ofilter} = bless($new, __PACKAGE__);45 $c->stash->{db} ||= $c->model('Accounts')->db;46 my $base = $c->stash->{db};47 63 48 my @filter = $c->stash->{ofilter}->filter;49 64 $c->stash->{objectslist} = [ 50 65 map { $base->get_object($otype, $_) } 51 (@filter 52 ? ($base->search_objects($otype, @filter) ) 53 : ($base->list_objects($otype) )) 66 @objlist 54 67 ]; 68 69 my $start = $c->req->param('start'); 70 $c->stash->{uparams} = { %{ $c->req->params || {} } }; 71 my %initials; 72 my @sublist; 73 foreach (@{ $c->stash->{objectslist} }) { 74 $initials{substr($_->id, 0, 1)} = 1; 75 if ($start) { 76 if (index($_->id, $start) == 0) { 77 push(@sublist, $_); 78 } 79 } 80 } 81 $c->stash->{sublist} = [ @sublist ]; 82 $c->stash->{initials} = [ sort keys %initials ]; 55 83 56 84 $c->stash->{ofilter}
Note: See TracChangeset
for help on using the changeset viewer.