<& elements/browse.html, 'title' => 'RADIUS Groups', 'name' => 'RADIUS Groups', 'menubar' => [ 'Add a RADIUS Group' => $p.'edit/radius_group.html', ], 'query' => { 'table' => 'radius_group' }, 'count_query' => 'SELECT COUNT(*) FROM radius_group', 'header' => [ '#', 'RADIUS Group', 'Description', 'Priority', 'Check', 'Reply', 'Speed' ], 'fields' => [ 'groupnum', 'groupname', 'description', 'priority', $check_attr, $reply_attr, sub { my $group = shift; if ($group->speed_down and $group->speed_up) { return join (' / ', $group->speed_down, $group->speed_up); } elsif ( $group->speed_down ) { return $group->speed_down . ' down'; } elsif ( $group->speed_up ) { return $group->speed_up . ' up'; } ''; }, ], 'align' => 'lllcllc', 'links' => [ $link, $link, '', '', '', '', '' ], &> <%init> my $curuser = $FS::CurrentUser::CurrentUser; die "access denied" unless $curuser->access_right('Configuration'); my $attr_sub = sub { my $type = shift; my $radius_group = shift; [ map { [ { data => join(' ', $_->attrname, $_->op, $_->value) } ] } grep {$_->attrtype eq $type} $radius_group->radius_attr ]; }; my $check_attr = sub { &$attr_sub('C', @_) }; my $reply_attr = sub { &$attr_sub('R', @_) }; my $link = [ $p.'edit/radius_group.html?', 'groupnum' ];