X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fpart_svc.pm;h=19a71df150523fc47bcc238e4f0763989fa5a9d2;hb=d5109b4395d35a615f36fc7629803c24d489c516;hp=4a1b30877ecf5c3fdde0e7d79691ad52b7c91b78;hpb=d93123f3620fe0f1e48c453e292e335050532043;p=freeside.git diff --git a/FS/FS/part_svc.pm b/FS/FS/part_svc.pm index 4a1b30877..19a71df15 100644 --- a/FS/FS/part_svc.pm +++ b/FS/FS/part_svc.pm @@ -192,6 +192,8 @@ sub insert { } } + # XXX shouldn't this update fixed values? + $dbh->commit or die $dbh->errstr if $oldAutoCommit; ''; @@ -736,11 +738,6 @@ sub process { my $old = qsearchs('part_svc', { 'svcpart' => $param->{'svcpart'} }) if $param->{'svcpart'}; - $param->{'svc_acct__usergroup'} = - ref($param->{'svc_acct__usergroup'}) - ? join(',', @{$param->{'svc_acct__usergroup'}} ) - : $param->{'svc_acct__usergroup'}; - #unmunge cgp_accessmodes (falze laziness-ish w/edit/process/svc_acct.cgi) $param->{'svc_acct__cgp_accessmodes'} ||= join(' ', sort @@ -759,14 +756,17 @@ sub process { } ( fields('part_svc'), map { my $svcdb = $_; my @fields = fields($svcdb); - push @fields, 'usergroup' if $svcdb eq 'svc_acct'; #kludge + push @fields, 'usergroup' if $svcdb eq 'svc_acct' + or $svcdb eq 'svc_broadband'; #kludge map { my $f = $svcdb.'__'.$_; - if ( $param->{ $f.'_flag' } =~ /^[MAH]$/ ) { + my $flag = $param->{ $f.'_flag' } || ''; #silence warnings + if ( $flag =~ /^[MAH]$/ ) { $param->{ $f } = delete( $param->{ $f.'_classnum' } ); } - if ( $param->{ $f.'_flag' } =~ /^S$/ ) { + if ( $flag =~ /^S$/ + or $_ eq 'usergroup' ) { $param->{ $f } = ref($param->{ $f }) ? join(',', @{$param->{ $f }} ) : $param->{ $f }; @@ -894,6 +894,21 @@ sub _upgrade_data { #class method die $error if $error; } + my @badlabels = qsearch({ + 'table' => 'part_svc_column', + 'hashref' => {}, + 'extra_sql' => 'WHERE columnlabel IN ('. + "'Descriptive label for this particular device.',". + "'IP address. Leave blank for automatic assignment.',". + "'Maximum upload speed for this service in Kbps. 0 denotes unlimited.',". + "'Maximum download speed for this service in Kbps. 0 denotes unlimited.')" + }); + foreach my $col ( @badlabels ) { + $col->columnlabel(''); + my $error = $col->replace; + die $error if $error; + } + } =head1 BUGS