fix Map/MapPoint editing

This commit is contained in:
Doug Bell 2011-04-22 17:02:06 -05:00
parent d86381d440
commit 4bcd1e3976
3 changed files with 169 additions and 12 deletions

View file

@ -273,15 +273,13 @@ sub getTemplateVarsEditForm {
} );
# Stuff from this class's definition
my $definition = __PACKAGE__->definition($session)->[0]->{properties};
for my $key ( keys %{$definition} ) {
next if $definition->{$key}->{noFormPost};
foreach my $key ( $self->getProperties ) {
my $fieldHash = $self->getFieldData( $key );
next if $fieldHash->{noFormPost};
next if $key eq 'latitude'
|| $key eq 'longitude';
$definition->{$key}->{name} = $key;
$definition->{$key}->{value} = $self->$key;
$var->{ "form_$key" }
= WebGUI::Form::dynamicField( $session, %{$definition->{$key}} );
= WebGUI::Form::dynamicField( $session, $fieldHash );
}
# Stuff from Asset
@ -325,9 +323,8 @@ sub processAjaxEditForm {
my $prop = {};
# Stuff from this class's definition
my $definition = __PACKAGE__->definition($session)->[0]->{properties};
for my $key ( keys %{$definition} ) {
my $field = $definition->{$key};
for my $key ( $self->getProperties ) {
my $field = $self->getFieldData( $key );
next if $field->{noFormPost};
$prop->{$key}
= $form->get($key,$field->{fieldType},$field->{defaultValue},$field);

View file

@ -549,9 +549,10 @@ sub www_ajaxEditPointSave {
} );
}
else {
$asset = WebGUI::Asset->newById( $session, $assetId );
return JSON->new->encode({message => $i18n->get("error edit unauthorized")})
unless $asset && $asset->canEdit;
eval { $asset = WebGUI::Asset->newById( $session, $assetId ) };
if ( $@ || !$asset || !$asset->canEdit ) {
return JSON->new->encode({message => $i18n->get("error edit unauthorized")});
}
$asset = $asset->addRevision;
}