% my $part_svc; if ( $cgi->param('error') ) { #error $part_svc = new FS::part_svc ( { map { $_, scalar($cgi->param($_)) } fields('part_svc') } ); } elsif ( $cgi->keywords ) { #edit my($query) = $cgi->keywords; $query =~ /^(\d+)$/ or die "malformed query: $query"; $part_svc=qsearchs('part_svc', { 'svcpart'=>$1 } ) or die "unknown svcpart: $1"; } else { #adding $part_svc = new FS::part_svc {}; } my $action = $part_svc->svcpart ? 'Edit' : 'Add'; my $hashref = $part_svc->hashref; my $p_svcdb = $part_svc->svcdb || 'svc_acct'; %> <%= header("$action Service Definition", menubar( 'Main Menu' => $p, 'View all service definitions' => "${p}browse/part_svc.cgi" ), " onLoad=\"visualize()\"" ) %> <% if ( $cgi->param('error') ) { %> Error: <%= $cgi->param('error') %> <% } %>
<% #these might belong somewhere else for other user interfaces #pry need to eventually create stuff that's shared amount UIs my %defs = ( 'svc_acct' => { 'dir' => 'Home directory', 'uid' => 'UID (set to fixed and blank for dial-only)', 'slipip' => 'IP address (Set to fixed and blank to disable dialin, or, set a value to be exported to RADIUS Framed-IP-Address. Use the special value0e0
[zero e zero] to enable export to RADIUS without a Framed-IP-Address.)',
'popnum' => qq!POP number!,
'username' => 'Username',
'quota' => '',
'_password' => 'Password',
'gid' => 'GID (when blank, defaults to UID)',
'shell' => 'Shell (all service definitions should have a default or fixed shell that is present in the shells configuration file)',
'finger' => 'GECOS',
'domsvc' => {
desc =>'svcnum from svc_domain',
type =>'select',
select_table => 'svc_domain',
select_key => 'svcnum',
select_label => 'domain',
},
},
'svc_domain' => {
'domain' => 'Domain',
},
'svc_acct_sm' => {
'domuser' => 'domuser@virtualdomain.com',
'domuid' => 'UID where domuser@virtualdomain.com mail is forwarded',
'domsvc' => 'svcnum from svc_domain for virtualdomain.com',
},
'svc_forward' => {
'srcsvc' => 'service from which mail is to be forwarded',
'dstsvc' => 'service to which mail is to be forwarded',
'dst' => 'someone@another.domain.com to use when dstsvc is 0',
},
'svc_charge' => {
'amount' => 'amount',
},
'svc_wo' => {
'worker' => 'Worker',
'_date' => 'Date',
},
'svc_www' => {
#'recnum' => '',
#'usersvc' => '',
},
);
# svc_acct svc_domain svc_acct_sm svc_charge svc_wo
foreach my $svcdb ( qw(
konq_kludge svc_acct svc_domain svc_acct_sm svc_forward svc_www
) ) {
# my(@fields) = $svcdb eq 'konq_kludge'
# ? ()
# : grep { $_ ne 'svcnum' } fields($svcdb);
#yucky kludge
my(@fields) = defined( $FS::Record::dbdef->table($svcdb) )
? grep { $_ ne 'svcnum' } fields($svcdb)
: ();
#my($rowspan)=scalar(@rows);
#my($ptmp)="