fix for lists in DataForm

This commit is contained in:
Colin Kuskie 2006-03-09 23:34:12 +00:00
parent e06988d1d6
commit 5956fce2f1
2 changed files with 14 additions and 11 deletions

View file

@ -32,6 +32,7 @@
more powerful and will use slightly less memory. more powerful and will use slightly less memory.
- fix [ 1406210 ] 6.9 i18n in create.sql, previous.sql broken. - fix [ 1406210 ] 6.9 i18n in create.sql, previous.sql broken.
- fix [ 1410577 ] WebGUI::Session not included - fix [ 1410577 ] WebGUI::Session not included
- fix [ 1445387 ] 6.9 DataForm add Checkbox List, SellectList broken
- Strengthened security of Captcha validation. - Strengthened security of Captcha validation.
- Added Captcha form control type. - Added Captcha form control type.
- All IPs used by WebGUI (Settings: debugIp and Group: ipFilter) now accept - All IPs used by WebGUI (Settings: debugIp and Group: ipFilter) now accept

View file

@ -47,7 +47,7 @@ sub _createField {
} }
if (isIn($data->{type},qw(selectList checkList))) { if (isIn($data->{type},qw(selectList checkList))) {
my @defaultValues; my @defaultValues;
if ($name) { if ($self->session->form->param($name)) {
@defaultValues = $self->session->form->selectList($name); @defaultValues = $self->session->form->selectList($name);
} else { } else {
foreach (split(/\n/, $data->{value})) { foreach (split(/\n/, $data->{value})) {
@ -756,6 +756,7 @@ sub www_deleteTabConfirm {
sub www_editField { sub www_editField {
my $self = shift; my $self = shift;
my $fid = shift || $self->session->form->process("fid") || 'new'; my $fid = shift || $self->session->form->process("fid") || 'new';
$self->session->errorHandler->warn("fid: $fid");
return $self->session->privilege->insufficient() unless $self->canEdit; return $self->session->privilege->insufficient() unless $self->canEdit;
my $i18n = WebGUI::International->new($self->session,"Asset_DataForm"); my $i18n = WebGUI::International->new($self->session,"Asset_DataForm");
my (%field, $f, %fieldStatus,$tab); my (%field, $f, %fieldStatus,$tab);
@ -888,27 +889,27 @@ sub www_editFieldSave {
my $self = shift; my $self = shift;
return $self->session->privilege->insufficient() unless $self->canEdit; return $self->session->privilege->insufficient() unless $self->canEdit;
$self->session->form->process("name") = $self->session->form->process("label") if ($self->session->form->process("name") eq ""); $self->session->form->process("name") = $self->session->form->process("label") if ($self->session->form->process("name") eq "");
my $tid = $self->session->form->process("tid") || "0"; my $tid = $self->session->form->process("tid", 'selectBox') || "0";
my $name = $self->session->url->urlize($self->session->form->process("name")); my $name = $self->session->url->urlize($self->session->form->process("name"));
$name =~ s/\-//g; $name =~ s/\-//g;
$name =~ s/\///g; $name =~ s/\///g;
$self->setCollateral("DataForm_field","DataForm_fieldId",{ $self->setCollateral("DataForm_field","DataForm_fieldId",{
DataForm_fieldId=>$self->session->form->process("fid"), DataForm_fieldId=>$self->session->form->process("fid"),
width=>$self->session->form->process("width"), width=>$self->session->form->process("width", 'integer'),
name=>$name, name=>$name,
label=>$self->session->form->process("label"), label=>$self->session->form->process("label"),
DataForm_tabId=>$tid, DataForm_tabId=>$tid,
status=>$self->session->form->process("status"), status=>$self->session->form->process("status", 'selectBox'),
type=>$self->session->form->process("type"), type=>$self->session->form->process("type", 'fieldType'),
possibleValues=>$self->session->form->process("possibleValues"), possibleValues=>$self->session->form->process("possibleValues", 'textarea'),
defaultValue=>$self->session->form->process("defaultValue"), defaultValue=>$self->session->form->process("defaultValue", 'textarea'),
subtext=>$self->session->form->process("subtext"), subtext=>$self->session->form->process("subtext"),
rows=>$self->session->form->process("rows"), rows=>$self->session->form->process("rows", 'integer'),
vertical=>$self->session->form->process("vertical"), vertical=>$self->session->form->process("vertical", 'yesNo'),
extras=>$self->session->form->process("extras"), extras=>$self->session->form->process("extras"),
}, "1","1", _tonull("DataForm_tabId",$tid)); }, "1","1", _tonull("DataForm_tabId",$tid));
if($self->session->form->process("position")) { if($self->session->form->process("position")) {
$self->session->db->write("update DataForm_field set sequenceNumber=".$self->session->db->quote($self->session->form->process("position")). $self->session->db->write("update DataForm_field set sequenceNumber=".$self->session->db->quote($self->session->form->process("position", 'integer')).
" where DataForm_fieldId=".$self->session->db->quote($self->session->form->process("fid"))); " where DataForm_fieldId=".$self->session->db->quote($self->session->form->process("fid")));
} }
$self->reorderCollateral("DataForm_field","DataForm_fieldId", _tonull("DataForm_tabId",$tid)) if ($self->session->form->process("fid") ne "new"); $self->reorderCollateral("DataForm_field","DataForm_fieldId", _tonull("DataForm_tabId",$tid)) if ($self->session->form->process("fid") ne "new");
@ -926,6 +927,7 @@ sub www_editTab {
my (%tab, $f); my (%tab, $f);
tie %tab, 'Tie::CPHash'; tie %tab, 'Tie::CPHash';
my $tid = shift || $self->session->form->process("tid") || "new"; my $tid = shift || $self->session->form->process("tid") || "new";
$self->session->errorHandler->warn("tid: $tid");
unless ($tid eq "new") { unless ($tid eq "new") {
%tab = $self->session->db->quickHash("select * from DataForm_tab where DataForm_tabId=".$self->session->db->quote($tid)); %tab = $self->session->db->quickHash("select * from DataForm_tab where DataForm_tabId=".$self->session->db->quote($tid));
} }
@ -976,7 +978,7 @@ sub www_editTabSave {
$self->setCollateral("DataForm_tab","DataForm_tabId",{ $self->setCollateral("DataForm_tab","DataForm_tabId",{
DataForm_tabId=>$self->session->form->process("tid"), DataForm_tabId=>$self->session->form->process("tid"),
label=>$self->session->form->process("label"), label=>$self->session->form->process("label"),
subtext=>$self->session->form->process("subtext") subtext=>$self->session->form->process("subtext", 'textarea')
}); });
if ($self->session->form->process("proceed") eq "editTab") { if ($self->session->form->process("proceed") eq "editTab") {
return $self->www_editTab("new"); return $self->www_editTab("new");