X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fedit%2Fpart_svc.cgi;h=d608657dcba3ec7d10dc1a54073f631bc41fefaf;hb=e0a26680d75fc2000bde195eba7946805a3aaa28;hp=6fe015ab5174c58ad63935201c80d5c5c593ddb5;hpb=87310e447eba1cf399ea6f5ac980e6dfdaa7a6e3;p=freeside.git diff --git a/httemplate/edit/part_svc.cgi b/httemplate/edit/part_svc.cgi index 6fe015ab5..d608657dc 100755 --- a/httemplate/edit/part_svc.cgi +++ b/httemplate/edit/part_svc.cgi @@ -11,25 +11,9 @@ Service
Disable new orders {disabled} eq 'Y' ? ' CHECKED' : '' %>>
+
-Service definitions are the templates for items you offer to your customers. - -For the selected table, you can give fields default or fixed (unchangable) -values, or select an inventory class to manually or automatically fill in -that field. -

+ % #YUCK. false laziness w/part_svc.pm. go away virtual fields, please % my %vfields; @@ -98,14 +82,18 @@ that field. % % my $html = qq!!; % +% $html .= $svcdb_info; +% % my $columns = 3; % my $count = 0; +% my $communigate = 0; % my @part_export = % map { qsearch( 'part_export', {exporttype => $_ } ) } % keys %{FS::part_export::export_info($layer)}; % $html .= '

'. table(). % "Exports"; % foreach my $part_export ( @part_export ) { +% $communigate++ if $part_export->exporttype =~ /^communigate/; % $html .= ' $part_export->exportnum, % svcpart => $clone || $part_svc->svcpart }); -% $html .= '>'. $part_export->exportnum. ': '. $part_export->exporttype. -% ' to '. $part_export->machine. ''; +% $html .= '>'.$part_export->exportnum. ': '; +% $html .= $part_export->exportname . '
' +% if ( $part_export->exportname ); +% $html .= $part_export->exporttype. ' to '. $part_export->machine; +% $html .= '
' if ( $part_export->exportname ); +% $html .= ''; % $count++; % $html .= '' unless $count % $columns; % } -% $html .= '

'; +% $html .= '

'. $mod_info; % % $html .= include('/elements/table-grid.html', 'cellpadding' => 4 ). % ''. @@ -132,16 +124,17 @@ that field. % my $bgcolor; % % #yucky kludge -% my @fields = defined( dbdef->table($layer) ) -% ? grep { -% $_ ne 'svcnum' && -% ( !FS::part_svc->svc_table_fields($layer) -% ->{$_}->{disable_part_svc_column} || -% $part_svc->part_svc_column($_)->columnflag -% ) -% } -% fields($layer) -% : (); +% my @fields = (); +% if ( defined( dbdef->table($layer) ) ) { +% @fields = grep { +% $_ ne 'svcnum' +% && ( $communigate || !$communigate_fields{$layer}->{$_} ) +% && ( !FS::part_svc->svc_table_fields($layer) +% ->{$_}->{disable_part_svc_column} +% || $part_svc->part_svc_column($_)->columnflag +% ) +% } fields($layer); +% } % push @fields, 'usergroup' if $layer eq 'svc_acct'; #kludge % $part_svc->svcpart($clone) if $clone; #haha, undone below % @@ -291,12 +284,22 @@ that field. % (grep(/^$rvalue$/, split(',',$value)) ? ' SELECTED>' : '>' ). % $record->$select_label(). ''; % } #next $record -% } else { # select_list +% } elsif ( $def->{select_list} ) { % foreach my $item ( @{$def->{select_list}} ) { % $html .= qq!'; % } #next $item +% } elsif ( $def->{select_hash} ) { +% if ( ref($def->{select_hash}) eq 'ARRAY' ) { +% tie my %hash, 'Tie::IxHash', @{ $def->{select_hash} }; +% $def->{select_hash} = \%hash; +% } +% foreach my $key ( keys %{$def->{select_hash}} ) { +% $html .= qq!'; +% } #next $key % } #endif % $html .= ''; % @@ -315,6 +318,15 @@ that field. % 'multiple' => ($flag eq 'S'), % ); % +% } elsif ( $def->{type} eq 'select-lnp_status.html' ) { +% +% $html .= include('/elements/select-lnp_status.html', +% 'curr_value' => $value, +% 'element_name' => "${layer}__${field}", +% 'element_etc' => $disabled, +% 'multiple' => ($flag eq 'S'), +% ); +% % } elsif ( $def->{type} eq 'radius_usergroup_selector' ) { % % #XXX disable the RADIUS usergroup selector? ugh it sure does need @@ -410,7 +422,85 @@ my $action = $part_svc->svcpart ? 'Edit' : 'Add'; my $hashref = $part_svc->hashref; # my $p_svcdb = $part_svc->svcdb || 'svc_acct'; +my %communigate_fields = ( + 'svc_acct' => { map { $_=>1 } + qw( file_quota file_maxnum file_maxsize + password_selfchange password_recover + ), + grep /^cgp_/, fields('svc_acct') + }, + 'svc_domain' => { map { $_=>1 } + qw( max_accounts trailer parent_svcnum ), + grep /^(cgp|acct_def)_/, fields('svc_domain') + }, + #'svc_forward' => { map { $_=>1 } qw( ) }, + #'svc_mailinglist' => { map { $_=>1 } qw( ) }, + #'svc_cert' => { map { $_=>1 } qw( ) }, +); +my $svcdb_info = ' + + + + + + + + + + + + +
GenericAccessTelephony
+
    +
  • svc_acct: Accounts - anything with a username (mailbox, shell, RADIUS, etc.) +
  • svc_external: Externally-tracked service +
+
+
    +
  • svc_dsl: DSL +
  • svc_broadband: Wireless broadband +
+
+
    +
  • svc_phone: Customer phone number +
  • svc_pbx: Customer PBX +
+
+
+ + + + + + + + +
HostingColocation
+
    +
  • svc_domain: Domain +
  • svc_cert: Certificate +
  • svc_forward: Mail forwarding +
  • svc_mailinglist: Mailing list +
  • svc_www: Virtual domain website +
+
+
    +
  • svc_port: Customer router/switch port +
+
+ +'; + +my $mod_info = ' +For the selected table, you can give fields default or fixed (unchangable) +values, or select an inventory class to manually or automatically fill in +that field. +';