X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fedit%2Fpart_svc.cgi;h=15410b4ff3cc617d1e4fa412388296b6352d6a38;hb=21843d4b0d799f74ca7c445ff92c1a20eb7cf838;hp=39f49e14c95a28a3b3b21003bd040c9275c72fde;hpb=1fd6d8cf5d7854860ef4fd10ed89828e0c04ec39;p=freeside.git diff --git a/httemplate/edit/part_svc.cgi b/httemplate/edit/part_svc.cgi index 39f49e14c..15410b4ff 100755 --- a/httemplate/edit/part_svc.cgi +++ b/httemplate/edit/part_svc.cgi @@ -1,44 +1,83 @@ - -<% - 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'; - -%> +<% +my $part_svc; +my $clone = ''; +my $error = ''; +if ( $cgi->param('magic') eq 'process' ) { - +my $action = $part_svc->svcpart ? 'Edit' : 'Add'; +my $hashref = $part_svc->hashref; +# my $p_svcdb = $part_svc->svcdb || 'svc_acct'; + + + #" onLoad=\"visualize()\"" +%> + <%= 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') %> +<% if ( $error ) { %> +Error: <%= $error %> <% } %>
<% #these might belong somewhere else for other user interfaces #pry need to eventually create stuff that's shared amount UIs +my $conf = new FS::Conf; 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',
+# 'popnum' => qq!POP number!,
+ 'popnum' => {
+ desc => 'Access number',
+ type => 'select',
+ select_table => 'svc_acct_pop',
+ select_key => 'popnum',
+ select_label => 'city',
+ },
+ 'username' => {
+ desc => 'Username',
+ type => 'disabled',
+ },
'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)',
+ 'shell' => {
+ desc =>'Shell (all service definitions should have a default or fixed shell that is present in the shells configuration file)',
+ type =>'select',
+ select_list => [ $conf->config('shells') ],
+ },
'finger' => 'GECOS',
- 'domsvc' => 'svcnum from svc_domain',
+ 'domsvc' => {
+ desc =>'svcnum from svc_domain',
+ type =>'select',
+ select_table => 'svc_domain',
+ select_key => 'svcnum',
+ select_label => 'domain',
+ },
+ 'usergroup' => {
+ desc =>'ICRADIUS/FreeRADIUS groups',
+ type =>'radius_usergroup_selector',
+ },
},
'svc_domain' => {
'domain' => 'Domain',
@@ -139,102 +174,127 @@ my %defs = (
},
);
-# 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)="