From 05177150631fffbfe281f4d11603f813f1e039f3 Mon Sep 17 00:00:00 2001 From: Colin Kuskie Date: Mon, 21 Apr 2008 03:42:27 +0000 Subject: [PATCH] handle prefilling out the form when editing a parameter option --- lib/WebGUI/Asset/Sku/Product.pm | 26 ++++++++++---------------- 1 file changed, 10 insertions(+), 16 deletions(-) diff --git a/lib/WebGUI/Asset/Sku/Product.pm b/lib/WebGUI/Asset/Sku/Product.pm index 5d61c235a..e4d414877 100644 --- a/lib/WebGUI/Asset/Sku/Product.pm +++ b/lib/WebGUI/Asset/Sku/Product.pm @@ -960,12 +960,19 @@ sub www_editParameterOptions { return $self->session->privilege->insufficient() unless ($self->canEdit); my $session = $self->session; my $param = shift || $self->session->form->get('name'); + my $value = shift || $self->session->form->get('value'); my $paramData = $self->getParamData; if (! exists $paramData->{$param}) { $self->session->errorHandler->warn('Not in param data'); return $self->www_editParameter($param); } - my $option = $paramData->{$param}; + my $option = {}; + OPTION: foreach my $subOption (@{ $paramData->{$param} }) { + if ($subOption->{value} eq $value) { + $option = $subOption; + last OPTION; + } + } my $i18n = WebGUI::International->new($self->session,'Asset_Product'); my $f = WebGUI::HTMLForm->new($self->session,-action=>$self->getUrl); $f->hidden( @@ -1007,22 +1014,9 @@ sub www_editParameterOptionsSave { return $self->session->privilege->insufficient() unless ($self->canEdit); my $param = $self->session->form->get('name'); - my $origname = lc $self->session->form->get('origname'); + my $value = $self->session->form->get('value'); + my $origValue = $self->session->form->get('origValue'); - my $paramData = $self->getParamData; - if ($origname ne "new" and $origname ne $param) { - ##Rename existing data - my @options = @{ $paramData->{$origname} }; - $paramData->{$param} = \@options; - delete $paramData->{$origname}; - my $newSelf = $self->setParamData($paramData); - return $newSelf->www_editParameter($param); - } - elsif ($origname eq "new") { - $paramData->{$param} = []; - my $newSelf = $self->setParamData($paramData); - return $newSelf->www_editParameterOptions($param); - } } #-------------------------------------------------------------------