X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fedit%2Fpart_svc.cgi;h=fae8961543ccb9370ed2247147d60830dd5958a6;hb=0bfdd767de9c8758c5997beb72bfd8c22db25ab4;hp=97e2d9694c592271d6b77642f86c650a7d01eda3;hpb=b5c4237a34aef94976bc343c8d9e138664fc3984;p=freeside.git diff --git a/httemplate/edit/part_svc.cgi b/httemplate/edit/part_svc.cgi index 97e2d9694..fae896154 100755 --- a/httemplate/edit/part_svc.cgi +++ b/httemplate/edit/part_svc.cgi @@ -9,26 +9,31 @@ Service Part #<% $part_svc->svcpart ? $part_svc->svcpart : "(NEW)" %>

Service
+ +Self-service access: +
+ {disabled} eq 'Y' ? ' CHECKED' : '' %>> Disable new orders
+ {'preserve'} eq 'Y' ? ' CHECKED' : '' %>> Preserve this service on package cancellation
+ +
- -% #YUCK. false laziness w/part_svc.pm. go away virtual fields, please % my %vfields; -% foreach my $svcdb ( FS::part_svc->svc_tables() ) { -% eval "use FS::$svcdb;"; -% my $self = "FS::$svcdb"->new; -% $vfields{$svcdb} = {}; -% foreach my $field ($self->virtual_fields) { # svc_Common::virtual_fields with a null svcpart returns all of them -% my $pvf = $self->pvf($field); -% $vfields{$svcdb}->{$field} = $pvf; -% #warn "\$vfields{$svcdb}->{$field} = $pvf"; -% } #next $field -% } #next $svcdb -% % #code duplication w/ edit/part_svc.cgi, should move this hash to part_svc.pm % # and generalize the subs % # condition sub is tested to see whether to disable display of this choice @@ -80,6 +85,7 @@ Service
% #'form_action' => 'process/part_svc.cgi', % 'form_action' => 'part_svc.cgi', #self % 'form_text' => [ qw( svc svcpart ) ], +% 'form_select' => [ 'selfservice_access' ], % 'form_checkbox' => [ 'disabled', 'preserve' ], % 'layer_callback' => sub { % my $layer = shift; @@ -139,7 +145,11 @@ Service
% ) % } fields($layer); % } -% push @fields, 'usergroup' if $layer eq 'svc_acct'; #kludge +% push @fields, 'usergroup' +% if $layer eq 'svc_acct' +% or ( $layer eq 'svc_broadband' and +% $conf->exists('svc_broadband-radius') ); # double kludge +% # (but we do want to check the config, right?) % $part_svc->svcpart($clone) if $clone; #haha, undone below % % @@ -314,32 +324,17 @@ Service
% qq!'; % -% } elsif ( $def->{type} eq 'select-svc_pbx.html' ) { -% -% $html .= include('/elements/select-svc_pbx.html', -% 'curr_value' => $value, -% 'element_name' => "${layer}__${field}", -% 'element_etc' => $disabled, -% 'multiple' => ($flag eq 'S'), -% ); +% } elsif ( $def->{type} =~ /select-(.*?).html/ ) { % -% } elsif ( $def->{type} eq 'select-lnp_status.html' ) { -% -% $html .= include('/elements/select-lnp_status.html', +% $html .= include("/elements/".$def->{type}, % 'curr_value' => $value, % 'element_name' => "${layer}__${field}", % 'element_etc' => $disabled, -% 'multiple' => ($flag eq 'S'), +% 'multiple' => ($def->{multiple} || +% $flag eq 'S'), +% # allow the table def to force 'multiple' % ); % -% } elsif ( $def->{type} eq 'radius_usergroup_selector' ) { -% -% #XXX disable the RADIUS usergroup selector? ugh it sure does need -% #an overhaul, people have dum group problems because of it -% -% $html .= FS::svc_acct::radius_usergroup_selector( -% [ split(',', $value) ], "${layer}__${field}" ); -% % } elsif ( $def->{type} eq 'communigate_pro-accessmodes' ) { % % $html .= include('/elements/communigate_pro-accessmodes.html', @@ -387,7 +382,8 @@ Service
% % $html .= include('/elements/progress-init.html', % $layer, #form name -% [ qw(svc svcpart disabled preserve exportnum), +% [ qw(svc svcpart selfservice_access disabled preserve +% exportnum), % @fields ], % 'process/part_svc.cgi', % $p.'browse/part_svc.cgi', @@ -417,6 +413,7 @@ Table <% $widget->html %> die "access denied" unless $FS::CurrentUser::CurrentUser->access_right('Configuration'); +my $conf = FS::Conf->new; my $part_svc; my $clone = ''; if ( $cgi->param('clone') && $cgi->param('clone') =~ /^(\d+)$/ ) {#clone