<%doc> -- VLAN tasks -- % <%attr> title => 'VLAN Tasks' % % %####################################################################### %# %# Args section %# %####################################################################### <%args> $search => undef $search_vlan => undef $search_vlangroup => undef $search_type => undef $user => $ui->get_current_user($r); $submit => undef $show_tasks => undef $showheader => 1 $view => 'search' % % % %####################################################################### %# %# INIT section %# %####################################################################### % <%init> my $DEBUG = 0; print '%ARGS is
', Dumper(%ARGS), '

' if $DEBUG; $show_tasks = $show_tasks || $user->getAttribute("SHOW_TASKS"); if ( $show_tasks eq "" ) { $user->setAttribute($r, "SHOW_TASKS", "show"); $show_tasks = "show"; } *print_showtaskslink = $m->comp('SELF:.sub_print_showtaskslink'); my $hideheader = 'style="display:none"' if ( !$showheader ); my @list; my $manager = $ui->get_permission_manager($r);
>
VLAN Tasks
% if ( $manager && $manager->can($user, 'access_admin_section', 'vlan_tasks:new') ){ % if ( $view eq 'search' ){ [new] % }elsif ( $view eq 'new' ){ [search] % } % } % print_showtaskslink($show_tasks);
">
% if ( $view eq 'search' ){
Search

% }elsif ( $view eq 'new' ){ % unless ( $manager && $manager->can($user, 'access_admin_section', 'vlan_tasks:new') ){ % $m->comp('/generic/error.mhtml', error=>"You do not have permission to do this"); % }
Add Vlan Group

% }
<%perl> ####################################################################################### # Search # ####################################################################################### if ( $submit eq 'Find' ){ my %idx; if ( $search_type eq 'vlan' ){ $search = $search_vlan; # Remove trailing and leading spaces $search = $ui->rem_lt_sp($search); $search ||= '*'; map { $idx{$_->id} = $_ } Vlan->search_like(vid => $search); map { $idx{$_->id} = $_ } Vlan->search_like(name => $search); map { $idx{$_->id} = $_ } Vlan->search_like(description => $search); }elsif ( $search_type eq 'vlangroup' ) { $search = $search_vlangroup; # Remove trailing and leading spaces $search = $ui->rem_lt_sp($search); $search ||= '*'; map { $idx{$_->id} = $_ } VlanGroup->search_like(name => $search); map { $idx{$_->id} = $_ } VlanGroup->search_like(description => $search); } @list = values %idx; } % if ( $search ){ % if ( @list ){
Query <% $search %> returned: <% scalar(@list) %> matches
<& /generic/sortresults.mhtml, object=>\@list, page=>'view.html', withedit=>0 &>
% }else{ % $m->comp('/generic/no_search_results.html', search=>$search); % } % }