worked out the kinks in editParameter, more work to do on editParameterOption
This commit is contained in:
parent
8d03655bdb
commit
034543586a
1 changed files with 20 additions and 16 deletions
|
|
@ -646,9 +646,11 @@ sub setCollateral {
|
||||||
|
|
||||||
=head2 setParamData ($paramData)
|
=head2 setParamData ($paramData)
|
||||||
|
|
||||||
Set the product's parameter data as a perl data structure. This is stored in the
|
Set the product's parameter data as a perl data structure. This is
|
||||||
db as JSON.
|
stored in the db as JSON. This adds a revision to the Product, since
|
||||||
rather than the internally stored JSON.
|
parameters and options are stored directly in the asset table.
|
||||||
|
|
||||||
|
Returns a copy to the new version of the Product Asset.
|
||||||
|
|
||||||
=head2 $paramData
|
=head2 $paramData
|
||||||
|
|
||||||
|
|
@ -662,8 +664,8 @@ sub setParamData {
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
my $paramData = shift;
|
my $paramData = shift;
|
||||||
my $json = JSON::to_json($paramData);
|
my $json = JSON::to_json($paramData);
|
||||||
$self->addRevision({parameters => $json});
|
my $newSelf = $self->addRevision({parameters => $json});
|
||||||
return 1;
|
return $newSelf;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -936,17 +938,19 @@ sub www_editParameterSave {
|
||||||
|
|
||||||
my $paramData = $self->getParamData;
|
my $paramData = $self->getParamData;
|
||||||
if (($origname ne "new") and ($origname ne $param)) {
|
if (($origname ne "new") and ($origname ne $param)) {
|
||||||
|
$self->session->errorHandler->warn('Rename');
|
||||||
##Rename existing data
|
##Rename existing data
|
||||||
my @options = @{ $paramData->{$origname} };
|
my @options = @{ $paramData->{$origname} };
|
||||||
$paramData->{$param} = \@options;
|
$paramData->{$param} = \@options;
|
||||||
delete $paramData->{$origname};
|
delete $paramData->{$origname};
|
||||||
$self->setParamData($paramData);
|
my $newSelf = $self->setParamData($paramData);
|
||||||
return $self->editParameter($param);
|
return $newSelf->www_editParameter($param);
|
||||||
}
|
}
|
||||||
elsif ($origname eq "new") {
|
elsif ($origname eq "new") {
|
||||||
|
$self->session->errorHandler->warn('New');
|
||||||
$paramData->{$param} = [];
|
$paramData->{$param} = [];
|
||||||
$self->setParamData($paramData);
|
my $newSelf = $self->setParamData($paramData);
|
||||||
return $self->editParameterOptions($param);
|
return $newSelf->www_editParameterOptions($param);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -954,12 +958,12 @@ sub www_editParameterSave {
|
||||||
sub www_editParameterOptions {
|
sub www_editParameterOptions {
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
return $self->session->privilege->insufficient() unless ($self->canEdit);
|
return $self->session->privilege->insufficient() unless ($self->canEdit);
|
||||||
return 1;
|
|
||||||
my $session = $self->session;
|
my $session = $self->session;
|
||||||
my $param = shift || $self->session->form->get('name');
|
my $param = shift || $self->session->form->get('name');
|
||||||
my $paramData = $self->getParamData;
|
my $paramData = $self->getParamData;
|
||||||
if (! exists $paramData->{$param}) {
|
if (! exists $paramData->{$param}) {
|
||||||
return $self->editParameter($param);
|
$self->session->errorHandler->warn('Not in param data');
|
||||||
|
return $self->www_editParameter($param);
|
||||||
}
|
}
|
||||||
my $option = $paramData->{$param};
|
my $option = $paramData->{$param};
|
||||||
my $i18n = WebGUI::International->new($self->session,'Asset_Product');
|
my $i18n = WebGUI::International->new($self->session,'Asset_Product');
|
||||||
|
|
@ -968,7 +972,7 @@ sub www_editParameterOptions {
|
||||||
-name => "func",
|
-name => "func",
|
||||||
-value => "editParameterOptionSave",
|
-value => "editParameterOptionSave",
|
||||||
);
|
);
|
||||||
$f->readonly(
|
$f->readOnly(
|
||||||
-name => 'name',
|
-name => 'name',
|
||||||
-value => $param,
|
-value => $param,
|
||||||
);
|
);
|
||||||
|
|
@ -1011,13 +1015,13 @@ sub www_editParameterOptionsSave {
|
||||||
my @options = @{ $paramData->{$origname} };
|
my @options = @{ $paramData->{$origname} };
|
||||||
$paramData->{$param} = \@options;
|
$paramData->{$param} = \@options;
|
||||||
delete $paramData->{$origname};
|
delete $paramData->{$origname};
|
||||||
$self->setParamData($paramData);
|
my $newSelf = $self->setParamData($paramData);
|
||||||
return $self->editParameter($param);
|
return $newSelf->www_editParameter($param);
|
||||||
}
|
}
|
||||||
elsif ($origname eq "new") {
|
elsif ($origname eq "new") {
|
||||||
$paramData->{$param} = [];
|
$paramData->{$param} = [];
|
||||||
$self->setParamData($paramData);
|
my $newSelf = $self->setParamData($paramData);
|
||||||
return $self->editParameterOptions($param);
|
return $newSelf->www_editParameterOptions($param);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue