From: ivan Date: Thu, 16 May 2002 13:42:54 +0000 (+0000) Subject: service definition cloning X-Git-Tag: freeside_1_4_0_pre13~9 X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=commitdiff_plain;h=3f9ac2ff50fff9d55ff5976ee1417dc6ba56f39e service definition cloning --- diff --git a/httemplate/browse/part_svc.cgi b/httemplate/browse/part_svc.cgi index 5c33e68a4..933554cd5 100755 --- a/httemplate/browse/part_svc.cgi +++ b/httemplate/browse/part_svc.cgi @@ -8,7 +8,9 @@ if ( $cgi->param('showdisabled') ) { %search = ( 'disabled' => '' ); } -my @part_svc = qsearch('part_svc', \%search ); +my @part_svc = + sort { $a->getfield('svcpart') <=> $b->getfield('svcpart') } + qsearch('part_svc', \%search ); my $total = scalar(@part_svc); %> @@ -38,9 +40,7 @@ function part_export_areyousure(href) { Modifier -<% foreach my $part_svc ( sort { - $a->getfield('svcpart') <=> $b->getfield('svcpart') - } @part_svc ) { +<% foreach my $part_svc ( @part_svc ) { my $hashref = $part_svc->hashref; my $svcdb = $hashref->{svcdb}; my @dfields = fields($svcdb); @@ -96,7 +96,14 @@ map { qsearchs('part_export', { exportnum => $_->exportnum } ) } qsearch('export <% } %> - param('showdisabled') ? 7 : 8 %>>Add a new service definition + param('showdisabled') ? 7 : 8 %>> +
Add a new service definition or  +
+ diff --git a/httemplate/edit/part_svc.cgi b/httemplate/edit/part_svc.cgi index e9c571f9c..f2073f935 100755 --- a/httemplate/edit/part_svc.cgi +++ b/httemplate/edit/part_svc.cgi @@ -1,10 +1,17 @@ <% my $part_svc; + my $clone = ''; if ( $cgi->param('error') ) { #error $part_svc = new FS::part_svc ( { map { $_, scalar($cgi->param($_)) } fields('part_svc') } ); + } elsif ( $cgi->param('clone') && $cgi->param('clone') =~ /^(\d+)$/ ) {#clone + #$cgi->param('clone') =~ /^(\d+)$/ or die "malformed query: $query"; + $part_svc = qsearchs('part_svc', { 'svcpart'=>$1 } ) + or die "unknown svcpart: $1"; + $clone = $part_svc->svcpart; + $part_svc->svcpart(''); } elsif ( $cgi->keywords ) { #edit my($query) = $cgi->keywords; $query =~ /^(\d+)$/ or die "malformed query: $query"; @@ -146,8 +153,8 @@ my %defs = ( ' NAME="exportnum'. $part_export->exportnum. '" VALUE="1" '; $html .= 'CHECKED' if qsearchs( 'export_svc', { - exportnum => $part_export->exportnum, - svcpart => $part_svc->svcpart }); + exportnum => $part_export->exportnum, + svcpart => $clone || $part_svc->svcpart }); $html .= '> '. $part_export->exporttype. ' to '. $part_export->machine. ''; $count++; @@ -161,6 +168,7 @@ my %defs = ( ? grep { $_ ne 'svcnum' } fields($layer) : (); push @fields, 'usergroup' if $layer eq 'svc_acct'; #kludge + $part_svc->svcpart($clone) if $clone; #haha, undone below foreach my $field (@fields) { my $part_svc_column = $part_svc->part_svc_column($field); my $value = $cgi->param('error') @@ -206,6 +214,7 @@ my %defs = ( } $html .= "\n"; } + $part_svc->svcpart('') if $clone; #undone $html .= ""; $html .= '