diff --git a/docs/changelog/7.x.x.txt b/docs/changelog/7.x.x.txt index 640064f12..35a084f63 100644 --- a/docs/changelog/7.x.x.txt +++ b/docs/changelog/7.x.x.txt @@ -16,6 +16,7 @@ - fixed #11056: No history in wiki - added RFE #10940: Force the user to pick a shipping method before checking out. - fixed #10988: EMS Schedule -- Data Error + - fixed: DataForm allows edits when locked by another version tag 7.8.0 - upgraded YUI to 2.8.0r4 diff --git a/lib/WebGUI/Asset/Wobject/DataForm.pm b/lib/WebGUI/Asset/Wobject/DataForm.pm index 79aeffdf6..b00b53d17 100644 --- a/lib/WebGUI/Asset/Wobject/DataForm.pm +++ b/lib/WebGUI/Asset/Wobject/DataForm.pm @@ -1340,6 +1340,8 @@ sub www_deleteFieldConfirm { my $self = shift; return $self->session->privilege->insufficient unless $self->canEdit; + return $self->session->privilege->locked + unless $self->canEditIfLocked; my $newSelf = $self->addRevision; $newSelf->deleteField($self->session->form->process("fieldName")); $newSelf->{_mode} = 'form'; @@ -1365,6 +1367,8 @@ sub www_deleteTabConfirm { my $self = shift; return $self->session->privilege->insufficient unless $self->canEdit; + return $self->session->privilege->locked + unless $self->canEditIfLocked; my $newSelf = $self->addRevision; $newSelf->deleteTab($self->session->form->process("tabId")); $newSelf->{_mode} = 'form'; @@ -1387,6 +1391,8 @@ sub www_editField { my $self = shift; return $self->session->privilege->insufficient unless $self->canEdit; + return $self->session->privilege->locked + unless $self->canEditIfLocked; my $i18n = WebGUI::International->new($self->session,"Asset_DataForm"); my $fieldName = shift || $self->session->form->process("fieldName"); my $field; @@ -1536,6 +1542,8 @@ sub www_editFieldSave { my $session = $self->session; return $session->privilege->insufficient unless $self->canEdit; + return $self->session->privilege->locked + unless $self->canEditIfLocked; my $form = $session->form; my $fieldName = $form->process('fieldName'); my $newName = $session->url->urlize($form->process('newName') || $form->process('label')); @@ -1679,6 +1687,8 @@ sub www_editTab { my $self = shift; return $self->session->privilege->insufficient unless $self->canEdit; + return $self->session->privilege->locked + unless $self->canEditIfLocked; my $i18n = WebGUI::International->new($self->session,"Asset_DataForm"); my $tabId = shift || $self->session->form->process("tabId") || "new"; my $tab; @@ -1734,6 +1744,8 @@ sub www_editTabSave { my $self = shift; return $self->session->privilege->insufficient unless $self->canEdit; + return $self->session->privilege->locked + unless $self->canEditIfLocked; my $name = $self->session->form->process("name") || $self->session->form->process("label"); $name = $self->session->url->urlize($name); my $tabId = $self->session->form->process('tabId'); @@ -1827,6 +1839,8 @@ sub www_moveFieldDown { my $self = shift; return $self->session->privilege->insufficient unless $self->canEdit; + return $self->session->privilege->locked + unless $self->canEditIfLocked; my $newSelf = $self->addRevision; my $fieldName = $self->session->form->process('fieldName'); $newSelf->moveFieldDown($fieldName); @@ -1885,6 +1899,8 @@ sub www_moveFieldUp { my $self = shift; return $self->session->privilege->insufficient unless $self->canEdit; + return $self->session->privilege->locked + unless $self->canEditIfLocked; my $newSelf = $self->addRevision; my $fieldName = $self->session->form->process('fieldName'); $newSelf->moveFieldUp($fieldName); @@ -1944,6 +1960,8 @@ sub www_moveTabRight { my $self = shift; return $self->session->privilege->insufficient unless $self->canEdit; + return $self->session->privilege->locked + unless $self->canEditIfLocked; my $newSelf = $self->addRevision; my $tabId = $self->session->form->process('tabId'); $newSelf->moveTabRight($tabId); @@ -1998,6 +2016,8 @@ sub www_moveTabLeft { my $self = shift; return $self->session->privilege->insufficient unless $self->canEdit; + return $self->session->privilege->locked + unless $self->canEditIfLocked; my $newSelf = $self->addRevision; my $tabId = $self->session->form->process('tabId'); $newSelf->moveTabLeft($tabId);