Remove debug output from DataForm
Update Wobject.pm to use placeholders. This will speed up reordering collateral a lot. Fixes for sequenceNumbers for answers in surveys. Upgrade script fixes sequenceNumbers for all existing surveys.
This commit is contained in:
parent
0d1c1ea96a
commit
776a6bfdcc
5 changed files with 33 additions and 7 deletions
|
|
@ -373,11 +373,14 @@ sub reorderCollateral {
|
|||
my $setName = shift || "assetId";
|
||||
my $setValue = shift || $self->get($setName);
|
||||
my $i = 1;
|
||||
my $sth = $self->session->db->read("select $keyName from $table where $setName=".$self->session->db->quote($setValue)." order by sequenceNumber");
|
||||
my $sth = $self->session->db->read("select $keyName from $table where $setName=? order by sequenceNumber", [$setValue]);
|
||||
my $sth2 = $self->session->db->prepare("update $table set sequenceNumber=? where $setName=? and $keyName=?");
|
||||
while (my ($id) = $sth->array) {
|
||||
$self->session->db->write("update $table set sequenceNumber=$i where $setName=".$self->session->db->quote($setValue)." and $keyName=".$self->session->db->quote($id));
|
||||
$sth2->execute([$i, $setValue, $id]);
|
||||
$i++;
|
||||
}
|
||||
$sth2->finish;
|
||||
$sth->finish;
|
||||
$sth->finish;
|
||||
}
|
||||
|
||||
|
|
@ -437,7 +440,7 @@ sub setCollateral {
|
|||
my $dbvalues = "";
|
||||
unless ($useSequence eq "0") {
|
||||
unless (exists $properties->{sequenceNumber}) {
|
||||
my ($seq) = $self->session->db->quickArray("select max(sequenceNumber) from $table where $setName=".$self->session->db->quote($setValue));
|
||||
my ($seq) = $self->session->db->quickArray("select max(sequenceNumber) from $table where $setName=?",[$setValue]);
|
||||
$properties->{sequenceNumber} = $seq+1;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -770,7 +770,6 @@ sub www_deleteTabConfirm {
|
|||
sub www_editField {
|
||||
my $self = shift;
|
||||
my $fid = shift || $self->session->form->process("fid") || 'new';
|
||||
$self->session->errorHandler->warn("fid: $fid");
|
||||
return $self->session->privilege->insufficient() unless $self->canEdit;
|
||||
my $i18n = WebGUI::International->new($self->session,"Asset_DataForm");
|
||||
my (%field, $f, %fieldStatus,$tab);
|
||||
|
|
|
|||
|
|
@ -432,7 +432,7 @@ sub getQuestionVars {
|
|||
name=>'textResponse_'.$questionId
|
||||
});
|
||||
} else {
|
||||
my $answer = $self->session->db->buildHashRef("select Survey_answerId,answer from Survey_answer where Survey_questionId=".$self->session->db->quote($question->{Survey_questionId})." order by sequenceNumber");
|
||||
my $answer = $self->session->db->buildHashRef("select Survey_answerId,answer from Survey_answer where Survey_questionId=? order by sequenceNumber", [$question->{Survey_questionId}]);
|
||||
if ($question->{randomizeAnswers}) {
|
||||
$answer = randomizeHash($answer);
|
||||
}
|
||||
|
|
@ -885,14 +885,15 @@ sub www_editAnswer {
|
|||
sub www_editAnswerSave {
|
||||
my $self = shift;
|
||||
return $self->session->privilege->insufficient() unless ($self->canEdit);
|
||||
my $qid = $self->session->form->process("qid");
|
||||
$self->setCollateral("Survey_answer", "Survey_answerId", {
|
||||
Survey_answerId => $self->session->form->process("aid"),
|
||||
Survey_questionId => $self->session->form->process("qid"),
|
||||
Survey_questionId => $qid,
|
||||
answer => $self->session->form->process("answer"),
|
||||
isCorrect => $self->session->form->process("isCorrect"),
|
||||
Survey_id=>$self->get("Survey_id"),
|
||||
gotoQuestion => $self->session->form->process("gotoQuestion")
|
||||
},1,0,"Survey_Id");
|
||||
},1,0,"Survey_questionId", $qid);
|
||||
if ($self->session->form->process("proceed") eq "addQuestion") {
|
||||
return $self->www_editQuestion('new');
|
||||
} elsif ($self->session->form->process("proceed") eq "addAnswer") {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue