From 15531fc7b06c1377f4c1c390c1d3753584e94b3d Mon Sep 17 00:00:00 2001 From: Colin Kuskie Date: Wed, 24 Dec 2008 02:18:29 +0000 Subject: [PATCH] Make sure that the isMailField flag is preserved when editing the fields. --- docs/changelog/7.x.x.txt | 1 + lib/WebGUI/Asset/Wobject/DataForm.pm | 12 +++++++++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/docs/changelog/7.x.x.txt b/docs/changelog/7.x.x.txt index 7fe7fa302..75eb21299 100644 --- a/docs/changelog/7.x.x.txt +++ b/docs/changelog/7.x.x.txt @@ -7,6 +7,7 @@ edit screen of the parent asset rather than that of the new asset. (Martin Kamerbeek / Oqapi). - fixed: Make sure that Form subclasses are found by WebGUI::Form::FieldType + - fixed #9356: Data Form Mail Fields 7.6.7 - fixed #9263: Thingy possibleValues processing, and List type autodetection. diff --git a/lib/WebGUI/Asset/Wobject/DataForm.pm b/lib/WebGUI/Asset/Wobject/DataForm.pm index b978dab46..b34423e24 100644 --- a/lib/WebGUI/Asset/Wobject/DataForm.pm +++ b/lib/WebGUI/Asset/Wobject/DataForm.pm @@ -1164,18 +1164,21 @@ sub www_editField { #------------------------------------------------------------------- sub www_editFieldSave { my $self = shift; - return $self->session->privilege->insufficient + my $session = $self->session; + return $session->privilege->insufficient unless $self->canEdit; - my $form = $self->session->form; + my $form = $session->form; my $fieldName = $form->process('fieldName'); - my $newName = $self->session->url->urlize($form->process('newName') || $form->process('label')); + my $newName = $session->url->urlize($form->process('newName') || $form->process('label')); $newName =~ tr{-/}{}; # Make sure we don't rename special fields + my $isMailField = 0; if ($fieldName) { my $field = $self->getFieldConfig($fieldName); if ($field->{isMailField}) { $newName = $fieldName; + $isMailField = 1; } } @@ -1202,6 +1205,9 @@ sub www_editFieldSave { vertical => $form->process("vertical", 'yesNo'), extras => $form->process("extras"), ); + if ($isMailField) { + $field{isMailField} = 1; + } my $newSelf = $self->addRevision; if ($fieldName) {