fix class/className problems in www_editSave

This commit is contained in:
Doug Bell 2010-08-06 16:58:19 -05:00
parent 9949666926
commit fc6c84e737

View file

@ -911,7 +911,8 @@ sub getEditForm {
my $class; my $class;
if ( $self->getId eq "new" ) { if ( $self->getId eq "new" ) {
$assetId = "new"; $assetId = "new";
$class = $session->form->process( "class", "className" ); # This should NOT be set here!
$class = $session->form->process( "className", "className" );
} }
else { else {
$assetId = $self->getId; $assetId = $self->getId;
@ -925,7 +926,7 @@ sub getEditForm {
uiLevel => 9, uiLevel => 9,
); );
$f->getTab("meta")->addField( "ClassName", $f->getTab("meta")->addField( "ClassName",
name => "class", name => "className",
value => $class, value => $class,
label => $i18n->get('class name', 'WebGUI'), label => $i18n->get('class name', 'WebGUI'),
uiLevel => 9, uiLevel => 9,
@ -2586,11 +2587,19 @@ sub www_edit {
my $self = shift; my $self = shift;
return $self->session->privilege->insufficient() unless $self->canEdit; return $self->session->privilege->insufficient() unless $self->canEdit;
return $self->session->privilege->locked() unless $self->canEditIfLocked; return $self->session->privilege->locked() unless $self->canEditIfLocked;
my $func = $self->session->form->get('func');
my $f = eval { $self->getEditForm }; my $f = eval { $self->getEditForm };
return $@ if $@; return $@ if $@;
$f->addField( "Hidden", name => "func", value => "editSave" ); $f->addField( "Hidden", name => "func", value => "editSave" );
$f->action( $self->getUrl ); if ( $func eq 'add' ) {
my $className = $self->session->form->get('className');
$f->action( $self->getParent->getUrl );
$f->getTab('meta')->getField( 'className' )->set('value', $className);
}
else {
$f->action( $self->getUrl );
}
# TODO: Make this whole thing a template instead! # TODO: Make this whole thing a template instead!
$self->session->style->setRawHeadTags(<<'ENDHTML'); $self->session->style->setRawHeadTags(<<'ENDHTML');
@ -2600,7 +2609,7 @@ sub www_edit {
</style> </style>
ENDHTML ENDHTML
if ( $self->session->form->get('func') ne 'add' ) { if ( $func ne 'add' ) {
$self->session->style->setRawHeadTags(<<'ENDHTML'); $self->session->style->setRawHeadTags(<<'ENDHTML');
<script type="text/javascript"> <script type="text/javascript">
if ( window.parent && window.parent.admin ) { if ( window.parent && window.parent.admin ) {
@ -2641,7 +2650,7 @@ sub www_editSave {
} }
my $object; my $object;
if ($isNewAsset) { if ($isNewAsset) {
$object = $self->addChild({className=>$session->form->process("class","className")}); $object = $self->addChild({className=>$session->form->process("className","className")});
return $self->www_view unless defined $object; return $self->www_view unless defined $object;
$object->{_parent} = $self; $object->{_parent} = $self;
$object->url(undef); $object->url(undef);
@ -2654,7 +2663,6 @@ sub www_editSave {
return $session->asset($self->getContainer)->www_view; return $session->asset($self->getContainer)->www_view;
} }
} }
# Process properties from form post # Process properties from form post
my $errors = $object->processEditForm; my $errors = $object->processEditForm;
if (ref $errors eq 'ARRAY') { if (ref $errors eq 'ARRAY') {