diff options
author | ivan <ivan> | 2002-05-16 13:42:54 +0000 |
---|---|---|
committer | ivan <ivan> | 2002-05-16 13:42:54 +0000 |
commit | 3f9ac2ff50fff9d55ff5976ee1417dc6ba56f39e (patch) | |
tree | 32ab61913de138fcc05a6c0c636f0c2b59d1370b | |
parent | 7ccc8f47305f2bacb63b79dda665b2c7f5310ba5 (diff) |
service definition cloning
-rwxr-xr-x | httemplate/browse/part_svc.cgi | 17 | ||||
-rwxr-xr-x | httemplate/edit/part_svc.cgi | 13 |
2 files changed, 23 insertions, 7 deletions
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) { <TH COLSPAN=2>Modifier</TH> </TR> -<% 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 <% } %> <TR> - <TD COLSPAN=<%= $cgi->param('showdisabled') ? 7 : 8 %>><A HREF="<%= $p %>edit/part_svc.cgi"><I>Add a new service definition</I></A></TD> + <TD COLSPAN=<%= $cgi->param('showdisabled') ? 7 : 8 %>> + <FORM METHOD="POST" ACTION="<%= $p %>edit/part_svc.cgi"><A HREF="<%= $p %>edit/part_svc.cgi"><I>Add a new service definition</I></A> or <SELECT NAME="clone"><OPTION></OPTION> +<% foreach my $part_svc ( @part_svc ) { %> + <OPTION VALUE="<%= $part_svc->svcpart %>"><%= $part_svc->svc %></OPTION> +<% } %> + </SELECT><INPUT TYPE="submit" VALUE="Clone existing service"> + </FORM> + </TD> </TR> </TABLE> </BODY> 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 @@ <!-- mason kludge --> <% 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. '</TD>'; $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 .= "</TD></TR>\n"; } + $part_svc->svcpart('') if $clone; #undone $html .= "</TABLE>"; $html .= '<BR><INPUT TYPE="submit" VALUE="'. |