<% my($ac); if ( $cgi->param('error') ) { $ac = new FS::ac ( { map { $_, scalar($cgi->param($_)) } fields('ac') } ); } elsif ( $cgi->keywords ) { #editing my( $query ) = $cgi->keywords; $query =~ /^(\d+)$/; $ac=qsearchs('ac',{'acnum'=>$1}); } else { #adding $ac = new FS::ac {}; } my $action = $ac->acnum ? 'Edit' : 'Add'; my $hashref = $ac->hashref; print header("$action Access Concentrator", menubar( 'Main Menu' => "$p", 'View all access concentrators' => "${p}browse/ac.cgi", )); print qq!Error: !, $cgi->param('error'), "" if $cgi->param('error'); print '
', qq!!, "Access Concentrator #", $hashref->{acnum} ? $hashref->{acnum} : "(NEW)"; print < Access Concentrator END if (! $ac->acnum) { print < Access Concentrator Type !; } print qq!

!; if ($hashref->{acnum}) { print table(); print < Field Name Field Value END #my @ac_fields = qsearch('ac_field', { acnum => $hashref->{acnum} }); my @ac_fields = $ac->ac_field; foreach (@ac_fields) { print qq!\n!; my $part_ac_field = qsearchs('part_ac_field', { acfieldpart => $_->getfield('acfieldpart') }); print '' . $part_ac_field->getfield('name') . '' . $_->getfield('value') . ''; print "\n"; } print '
'; print < (NEW) END } if ($hashref->{acnum}) { print qq!

IP Address Blocks:
! . table() . qq!Network/Mask! . qq!Gateway AddressMask length\n!; foreach (qsearch('ac_block', { acnum => $hashref->{acnum} })) { my $ip_addr = new NetAddr::IP($_->getfield('ip_gateway'), $_->getfield('ip_netmask')); print qq!! . $ip_addr->network->addr() . '/' . $ip_addr->network->mask() . qq!!; print qq!! . $_->getfield('ip_gateway') . qq!\n! . qq!! . $_->getfield('ip_netmask') . qq!!; } print '
'; print < (NEW) END } print < END %>