summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorivan <ivan>2004-11-17 13:19:14 +0000
committerivan <ivan>2004-11-17 13:19:14 +0000
commit3544d031fc03d9efcae02755718cb63a96ece5db (patch)
treee5d080a30bc72fe5bafbce5978149cbb78af65dc
parent0554f5dec1d99c9be70b2a0b841b5327db917dbe (diff)
fix package options to be sticky on clone-ing (customize package)
-rwxr-xr-xhttemplate/edit/part_pkg.cgi11
1 files changed, 6 insertions, 5 deletions
diff --git a/httemplate/edit/part_pkg.cgi b/httemplate/edit/part_pkg.cgi
index 546e07113..cd07ac3f5 100755
--- a/httemplate/edit/part_pkg.cgi
+++ b/httemplate/edit/part_pkg.cgi
@@ -20,11 +20,11 @@ if ( $cgi->param('error') ) {
map { $_, scalar($cgi->param($_)) } fields('part_pkg')
} );
}
+my $clone_part_pkg = '';
if ( $cgi->param('clone') ) {
- $action='Custom Pricing';
- my $old_part_pkg =
- qsearchs('part_pkg', { 'pkgpart' => $cgi->param('clone') } );
- $part_pkg ||= $old_part_pkg->clone;
+ $action = 'Custom Pricing';
+ $clone_part_pkg= qsearchs('part_pkg', { 'pkgpart' => $cgi->param('clone') } );
+ $part_pkg ||= $clone_part_pkg->clone;
$part_pkg->disabled('Y');
} elsif ( $query && $query =~ /^(\d+)$/ ) {
$part_pkg ||= qsearchs('part_pkg',{'pkgpart'=>$1});
@@ -230,7 +230,8 @@ print '<INPUT TYPE="hidden" NAME="pkgpart" VALUE="'. $part_pkg->pkgpart. '">';
tie my %plans, 'Tie::IxHash', %{ FS::part_pkg::plan_info() };
my %plandata = map { /^(\w+)=(.*)$/; ( $1 => $2 ); }
- split("\n", $part_pkg->plandata );
+ split("\n", ($clone_part_pkg||$part_pkg)->plandata );
+warn join("\n", map { "$_: $plandata{$_}" } keys %plandata ). "\n";
tie my %options, 'Tie::IxHash', map { $_=>$plans{$_}->{'name'} } keys %plans;