From 7349cf52b81d068b756db6bb7ef9bf461d98f424 Mon Sep 17 00:00:00 2001 From: Colin Kuskie Date: Thu, 17 Sep 2009 12:02:30 -0700 Subject: [PATCH] Use a fresh copy of the DataForm after doing autocommits for move and delete. --- lib/WebGUI/Asset/Wobject/DataForm.pm | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/lib/WebGUI/Asset/Wobject/DataForm.pm b/lib/WebGUI/Asset/Wobject/DataForm.pm index a20543a72..79aeffdf6 100644 --- a/lib/WebGUI/Asset/Wobject/DataForm.pm +++ b/lib/WebGUI/Asset/Wobject/DataForm.pm @@ -1344,7 +1344,8 @@ sub www_deleteFieldConfirm { $newSelf->deleteField($self->session->form->process("fieldName")); $newSelf->{_mode} = 'form'; WebGUI::VersionTag->autoCommitWorkingIfEnabled($self->session); - return $newSelf->www_view; + my $freshSelf = $newSelf->cloneFromDb(); + return $freshSelf->www_view; } #------------------------------------------------------------------- @@ -1368,7 +1369,8 @@ sub www_deleteTabConfirm { $newSelf->deleteTab($self->session->form->process("tabId")); $newSelf->{_mode} = 'form'; WebGUI::VersionTag->autoCommitWorkingIfEnabled($self->session); - return $newSelf->www_view; + my $freshSelf = $newSelf->cloneFromDb(); + return $freshSelf->www_view; } #------------------------------------------------------------------- @@ -1588,11 +1590,12 @@ sub www_editFieldSave { } WebGUI::VersionTag->autoCommitWorkingIfEnabled($self->session); + my $freshSelf = $newSelf->cloneFromDb(); if ($form->process("proceed") eq "editField") { - return $newSelf->www_editField('new'); + return $freshSelf->www_editField('new'); } - $newSelf->{_mode} = 'form'; - return $newSelf->www_view; + $freshSelf->{_mode} = 'form'; + return $freshSelf->www_view; } #------------------------------------------------------------------- @@ -1828,7 +1831,8 @@ sub www_moveFieldDown { my $fieldName = $self->session->form->process('fieldName'); $newSelf->moveFieldDown($fieldName); WebGUI::VersionTag->autoCommitWorkingIfEnabled($self->session); - return $newSelf->www_view; + my $freshSelf = $newSelf->cloneFromDb(); + return $freshSelf->www_view; } #------------------------------------------------------------------- @@ -1885,7 +1889,8 @@ sub www_moveFieldUp { my $fieldName = $self->session->form->process('fieldName'); $newSelf->moveFieldUp($fieldName); WebGUI::VersionTag->autoCommitWorkingIfEnabled($self->session); - return $newSelf->www_view; + my $freshSelf = $newSelf->cloneFromDb(); + return $freshSelf->www_view; } #------------------------------------------------------------------- @@ -1943,7 +1948,8 @@ sub www_moveTabRight { my $tabId = $self->session->form->process('tabId'); $newSelf->moveTabRight($tabId); WebGUI::VersionTag->autoCommitWorkingIfEnabled($self->session); - return $newSelf->www_view; + my $freshSelf = $newSelf->cloneFromDb(); + return $freshSelf->www_view; } @@ -1996,7 +2002,8 @@ sub www_moveTabLeft { my $tabId = $self->session->form->process('tabId'); $newSelf->moveTabLeft($tabId); WebGUI::VersionTag->autoCommitWorkingIfEnabled($self->session); - return $newSelf->www_view; + my $freshSelf = $newSelf->cloneFromDb(); + return $freshSelf->www_view; } #-------------------------------------------------------------------