preparing for merge
This commit is contained in:
parent
edd6eb4c38
commit
d8bc8f1520
5 changed files with 21 additions and 112 deletions
|
|
@ -242,13 +242,9 @@ sub loadSurveyJSON{
|
||||||
|
|
||||||
$jsonHash = $self->session->db->quickScalar("select surveyJSON from Survey where assetId = ?",[$self->getId]) if(! defined $jsonHash);
|
$jsonHash = $self->session->db->quickScalar("select surveyJSON from Survey where assetId = ?",[$self->getId]) if(! defined $jsonHash);
|
||||||
|
|
||||||
$self->session->errorHandler->error("LOADING JSON");
|
|
||||||
eval{
|
eval{
|
||||||
$self->{survey} = WebGUI::Asset::Wobject::Survey::SurveyJSON->new($jsonHash,$self->session->errorHandler);
|
$self->{survey} = WebGUI::Asset::Wobject::Survey::SurveyJSON->new($jsonHash,$self->session->errorHandler);
|
||||||
};
|
};
|
||||||
$self->session->errorHandler->error("Loaded JSON".$@);
|
|
||||||
|
|
||||||
#$self->session->errorHandler->error("Loaded JSON\n\n".Dumper $self->survey->freeze);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#-------------------------------------------------------------------
|
#-------------------------------------------------------------------
|
||||||
|
|
@ -268,8 +264,6 @@ sub saveSurveyJSON{
|
||||||
|
|
||||||
my $data = $self->survey->freeze();
|
my $data = $self->survey->freeze();
|
||||||
|
|
||||||
$self->session->errorHandler->error("Saving THIS DATA");#\n\n".$data);
|
|
||||||
|
|
||||||
$self->session->db->write("update Survey set surveyJSON = ? where assetId = ?",[$data,$self->getId]);
|
$self->session->db->write("update Survey set surveyJSON = ? where assetId = ?",[$data,$self->getId]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -295,7 +289,6 @@ sub www_editSurvey {
|
||||||
#-------------------------------------------------------------------
|
#-------------------------------------------------------------------
|
||||||
sub www_submitObjectEdit{
|
sub www_submitObjectEdit{
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
$self->session->errorHandler->error("Submit Edit Object");
|
|
||||||
|
|
||||||
# my $ref = @{decode_json($self->session->form->process("data"))};
|
# my $ref = @{decode_json($self->session->form->process("data"))};
|
||||||
my $responses = $self->session->form->paramsHashRef();
|
my $responses = $self->session->form->paramsHashRef();
|
||||||
|
|
@ -304,15 +297,12 @@ $self->session->errorHandler->error("Submit Edit Object");
|
||||||
|
|
||||||
$self->loadSurveyJSON();
|
$self->loadSurveyJSON();
|
||||||
if($responses->{delete}){
|
if($responses->{delete}){
|
||||||
$self->session->errorHandler->error("Deleting ".join(',',@address));
|
|
||||||
return $self->deleteObject(\@address);
|
return $self->deleteObject(\@address);
|
||||||
}
|
}
|
||||||
elsif($responses->{copy}){
|
elsif($responses->{copy}){
|
||||||
$self->session->errorHandler->error("Copying ".join(',',@address));
|
|
||||||
return $self->copyObject(\@address);
|
return $self->copyObject(\@address);
|
||||||
}
|
}
|
||||||
|
|
||||||
$self->session->errorHandler->error("Updating ".join(',',@address));
|
|
||||||
#each object checks the ref and then either updates or passes it to the correct child. New objects will have an index of -1.
|
#each object checks the ref and then either updates or passes it to the correct child. New objects will have an index of -1.
|
||||||
my $message = $self->survey->update(\@address,$responses);
|
my $message = $self->survey->update(\@address,$responses);
|
||||||
|
|
||||||
|
|
@ -350,7 +340,6 @@ sub deleteObject{
|
||||||
}else{
|
}else{
|
||||||
pop(@{$address});# unless @$address == 1 and $$address[0] == 0;
|
pop(@{$address});# unless @$address == 1 and $$address[0] == 0;
|
||||||
}
|
}
|
||||||
$self->session->errorHandler->error("returning ".join(',',@$address));
|
|
||||||
|
|
||||||
return $self->www_loadSurvey({address => $address, message=>$message});
|
return $self->www_loadSurvey({address => $address, message=>$message});
|
||||||
}
|
}
|
||||||
|
|
@ -361,18 +350,15 @@ sub www_newObject{
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
my $ref;
|
my $ref;
|
||||||
|
|
||||||
$self->session->errorHandler->error("Entering newObject");
|
|
||||||
my $ids = $self->session->form->process("data");
|
my $ids = $self->session->form->process("data");
|
||||||
|
|
||||||
my @inAddress = split/-/,$ids;
|
my @inAddress = split/-/,$ids;
|
||||||
$self->session->errorHandler->error("Address is:".join(',', @inAddress));
|
|
||||||
|
|
||||||
$self->loadSurveyJSON();
|
$self->loadSurveyJSON();
|
||||||
|
|
||||||
#Don't save after this as the new object should not stay in the survey
|
#Don't save after this as the new object should not stay in the survey
|
||||||
my $address = $self->survey->newObject(\@inAddress);
|
my $address = $self->survey->newObject(\@inAddress);
|
||||||
|
|
||||||
$self->session->errorHandler->error("New objects address is:".join(',', @$address));
|
|
||||||
|
|
||||||
#The new temp object has an address of NEW, which means it is not a real final address.
|
#The new temp object has an address of NEW, which means it is not a real final address.
|
||||||
|
|
||||||
|
|
@ -386,7 +372,6 @@ sub www_dragDrop{
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
my $p = decode_json($self->session->form->process("data"));
|
my $p = decode_json($self->session->form->process("data"));
|
||||||
|
|
||||||
$self->session->errorHandler->error("In Drag Drop ".Dumper $p);
|
|
||||||
|
|
||||||
my @tid = split/-/,$p->{target}->{id};
|
my @tid = split/-/,$p->{target}->{id};
|
||||||
my @bid = split/-/,$p->{before}->{id};
|
my @bid = split/-/,$p->{before}->{id};
|
||||||
|
|
@ -430,7 +415,6 @@ $self->session->errorHandler->error("In Drag Drop ".Dumper $p);
|
||||||
}
|
}
|
||||||
|
|
||||||
$self->saveSurveyJSON();
|
$self->saveSurveyJSON();
|
||||||
$self->session->errorHandler->error("Finsihed Drag Drop ".Dumper $self->survey->freeze());
|
|
||||||
|
|
||||||
return $self->www_loadSurvey({address => $address});
|
return $self->www_loadSurvey({address => $address});
|
||||||
}
|
}
|
||||||
|
|
@ -440,7 +424,6 @@ $self->session->errorHandler->error("Finsihed Drag Drop ".Dumper $self->survey->
|
||||||
sub www_loadSurvey{
|
sub www_loadSurvey{
|
||||||
my ($self,$options) = @_;
|
my ($self,$options) = @_;
|
||||||
|
|
||||||
$self->session->errorHandler->error("Entering loadSurvey");
|
|
||||||
$self->loadSurveyJSON();
|
$self->loadSurveyJSON();
|
||||||
|
|
||||||
my $address = defined $options->{address} ? $options->{address} : undef;
|
my $address = defined $options->{address} ? $options->{address} : undef;
|
||||||
|
|
@ -452,13 +435,9 @@ $self->session->errorHandler->error("Entering loadSurvey");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
my $message = defined $options->{message} ? $options->{message} : '';
|
my $message = defined $options->{message} ? $options->{message} : '';
|
||||||
#$self->session->errorHandler->error("Getting edit vars:".join(',',@$address));
|
|
||||||
my $var = defined $options->{var} ? $options->{var} : $self->survey->getEditVars($address);
|
my $var = defined $options->{var} ? $options->{var} : $self->survey->getEditVars($address);
|
||||||
|
|
||||||
#$self->session->errorHandler->error("Got edit vars".Dumper $self->survey->freeze);
|
|
||||||
#$self->session->errorHandler->error("Loaded beginning params ".join(',',@$address));
|
|
||||||
my $editHtml;
|
my $editHtml;
|
||||||
#$self->session->errorHandler->error("The edit vars:".Dumper $var);
|
|
||||||
if($var->{type} eq 'section'){
|
if($var->{type} eq 'section'){
|
||||||
$editHtml = $self->processTemplate($var,$self->get("sectionEditTemplateId"));
|
$editHtml = $self->processTemplate($var,$self->get("sectionEditTemplateId"));
|
||||||
}elsif($var->{type} eq 'question'){
|
}elsif($var->{type} eq 'question'){
|
||||||
|
|
@ -466,7 +445,6 @@ $self->session->errorHandler->error("Entering loadSurvey");
|
||||||
}elsif($var->{type} eq 'answer'){
|
}elsif($var->{type} eq 'answer'){
|
||||||
$editHtml = $self->processTemplate($var,$self->get("answerEditTemplateId"));
|
$editHtml = $self->processTemplate($var,$self->get("answerEditTemplateId"));
|
||||||
}
|
}
|
||||||
#$self->session->errorHandler->error("The HTML :$editHtml");
|
|
||||||
|
|
||||||
my %buttons;
|
my %buttons;
|
||||||
$buttons{question} = $$address[0];
|
$buttons{question} = $$address[0];
|
||||||
|
|
@ -475,7 +453,6 @@ $self->session->errorHandler->error("Entering loadSurvey");
|
||||||
}
|
}
|
||||||
|
|
||||||
my $data = $self->survey->getDragDropList($address);
|
my $data = $self->survey->getDragDropList($address);
|
||||||
#$self->session->errorHandler->error("The DD data :".Dumper $data);
|
|
||||||
my $html;
|
my $html;
|
||||||
my ($scount,$qcount,$acount) = (-1,-1,-1);
|
my ($scount,$qcount,$acount) = (-1,-1,-1);
|
||||||
my $lastType;
|
my $lastType;
|
||||||
|
|
@ -512,7 +489,6 @@ $self->session->errorHandler->error("Entering loadSurvey");
|
||||||
$lastType = 'answer';
|
$lastType = 'answer';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#$self->session->errorHandler->error($html);
|
|
||||||
|
|
||||||
#address is the address of the focused object
|
#address is the address of the focused object
|
||||||
#buttons are the data to create the Add buttons
|
#buttons are the data to create the Add buttons
|
||||||
|
|
@ -521,13 +497,6 @@ $self->session->errorHandler->error("Entering loadSurvey");
|
||||||
#ids is a list of all ids passed in which are draggable (for adding events)
|
#ids is a list of all ids passed in which are draggable (for adding events)
|
||||||
#type is the object type
|
#type is the object type
|
||||||
my $return = {"address",$address,"buttons",\%buttons,"edithtml",$editHtml,"ddhtml",$html,"ids",\@ids,"type",$var->{type}};
|
my $return = {"address",$address,"buttons",\%buttons,"edithtml",$editHtml,"ddhtml",$html,"ids",\@ids,"type",$var->{type}};
|
||||||
#$self->session->errorHandler->error(Dumper $return);
|
|
||||||
eval{
|
|
||||||
# $self->session->errorHandler->error(encode_json($return));
|
|
||||||
};
|
|
||||||
#$self->session->errorHandler->error($@);
|
|
||||||
|
|
||||||
$self->session->errorHandler->error("Returning from loadSurvey");
|
|
||||||
$self->session->http->setMimeType('application/json');
|
$self->session->http->setMimeType('application/json');
|
||||||
return encode_json($return);
|
return encode_json($return);
|
||||||
}
|
}
|
||||||
|
|
@ -632,12 +601,10 @@ sub www_takeSurvey{
|
||||||
eval{
|
eval{
|
||||||
my $responseId = $self->getResponseId();
|
my $responseId = $self->getResponseId();
|
||||||
if(!$responseId){
|
if(!$responseId){
|
||||||
$self->session->errorHandler->error("\n\nIn takeSurvey with no reponseId $responseId");
|
|
||||||
return $self->surveyEnd();
|
return $self->surveyEnd();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
$self->session->errorHandler->error($@) if defined $@;
|
|
||||||
return $out;
|
return $out;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -658,10 +625,8 @@ sub www_submitQuestions{
|
||||||
my $responseId = $self->getResponseId();
|
my $responseId = $self->getResponseId();
|
||||||
if(!$responseId){return $self->surveyEnd();}
|
if(!$responseId){return $self->surveyEnd();}
|
||||||
|
|
||||||
$self->session->errorHandler->error("\n\nIn submitQuestions with reponseId $responseId");
|
|
||||||
|
|
||||||
my $responses = $self->session->form->paramsHashRef();
|
my $responses = $self->session->form->paramsHashRef();
|
||||||
$self->session->errorHandler->error(Dumper $responses);
|
|
||||||
delete $$responses{'func'};
|
delete $$responses{'func'};
|
||||||
|
|
||||||
my @goodResponses = keys %$responses;#load everything.
|
my @goodResponses = keys %$responses;#load everything.
|
||||||
|
|
@ -720,13 +685,11 @@ $self->session->errorHandler->error(Dumper $responses);
|
||||||
sub www_loadQuestions{
|
sub www_loadQuestions{
|
||||||
my $self=shift;
|
my $self=shift;
|
||||||
|
|
||||||
$self->session->errorHandler->error("\n\n\n\n\t\t\t\t\t\t\t\t\t---In loadQuestions");
|
|
||||||
|
|
||||||
if(!$self->canTakeSurvey()){
|
if(!$self->canTakeSurvey()){
|
||||||
return $self->surveyEnd();
|
return $self->surveyEnd();
|
||||||
}
|
}
|
||||||
|
|
||||||
$self->session->errorHandler->error("Can take survey");
|
|
||||||
|
|
||||||
my $responseId = $self->getResponseId();#also loads the survey and response
|
my $responseId = $self->getResponseId();#also loads the survey and response
|
||||||
if(!$responseId){
|
if(!$responseId){
|
||||||
|
|
@ -739,18 +702,14 @@ $self->session->errorHandler->error("Can take survey");
|
||||||
eval{
|
eval{
|
||||||
$questions = $self->response->nextQuestions();
|
$questions = $self->response->nextQuestions();
|
||||||
};
|
};
|
||||||
$self->session->errorHandler->error($@) if($@);
|
|
||||||
|
|
||||||
$self->session->errorHandler->error("Load Questions had ".@$questions." questions") if(ref $questions eq 'ARRAY');
|
|
||||||
|
|
||||||
|
|
||||||
my $section = $self->response->nextSection();
|
my $section = $self->response->nextSection();
|
||||||
#$self->session->errorHandler->error(Dumper $section);
|
|
||||||
|
|
||||||
#return $self->prepareShowSurveyTemplate($section,$questions);
|
#return $self->prepareShowSurveyTemplate($section,$questions);
|
||||||
$section->{id} = $self->response->nextSectionId();
|
$section->{id} = $self->response->nextSectionId();
|
||||||
my $text = $self->prepareShowSurveyTemplate($section,$questions);
|
my $text = $self->prepareShowSurveyTemplate($section,$questions);
|
||||||
$self->session->errorHandler->error("Load Questions returning");
|
|
||||||
return $text;
|
return $text;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -759,7 +718,6 @@ $self->session->errorHandler->error("Load Questions returning");
|
||||||
sub surveyEnd{
|
sub surveyEnd{
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
my $url = shift;
|
my $url = shift;
|
||||||
$self->session->errorHandler->error("-------SurveyEnd $url");
|
|
||||||
my $responseId = $self->getResponseId();#also loads the survey and response
|
my $responseId = $self->getResponseId();#also loads the survey and response
|
||||||
# $self->session->db->write("update Survey_response set endDate = ? and isComplete = 1 where Survey_responseId = ?",[WebGUI::DateTime->now->toDatabase,$responseId]);
|
# $self->session->db->write("update Survey_response set endDate = ? and isComplete = 1 where Survey_responseId = ?",[WebGUI::DateTime->now->toDatabase,$responseId]);
|
||||||
$self->session->db->setRow("Survey_response","Survey_responseId",{
|
$self->session->db->setRow("Survey_response","Survey_responseId",{
|
||||||
|
|
@ -775,7 +733,6 @@ $self->session->errorHandler->error("-------SurveyEnd $url");
|
||||||
$url = "/";
|
$url = "/";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$self->session->errorHandler->error("-------SurveyEnd $url");
|
|
||||||
$self->session->http->setMimeType('application/json');
|
$self->session->http->setMimeType('application/json');
|
||||||
return encode_json({"type","forward","url",$url});
|
return encode_json({"type","forward","url",$url});
|
||||||
}
|
}
|
||||||
|
|
@ -795,9 +752,7 @@ sub prepareShowSurveyTemplate{
|
||||||
my %fileUpload = ('File Upload',1);
|
my %fileUpload = ('File Upload',1);
|
||||||
my %hidden = ('Hidden',1);
|
my %hidden = ('Hidden',1);
|
||||||
|
|
||||||
$self->session->errorHandler->error("Preparing to insert question for $#$questions questions");
|
|
||||||
foreach my $q(@$questions){
|
foreach my $q(@$questions){
|
||||||
$self->session->errorHandler->error("Question Text is: ".$q->{text});
|
|
||||||
if($fileUpload{$$q{'questionType'}}){ $q->{'fileLoader'} = 1; }
|
if($fileUpload{$$q{'questionType'}}){ $q->{'fileLoader'} = 1; }
|
||||||
elsif($text{$$q{'questionType'}}){ $q->{'textType'} = 1; }
|
elsif($text{$$q{'questionType'}}){ $q->{'textType'} = 1; }
|
||||||
elsif($hidden{$$q{'questionType'}}){ $q->{'hidden'} = 1; }
|
elsif($hidden{$$q{'questionType'}}){ $q->{'hidden'} = 1; }
|
||||||
|
|
@ -823,7 +778,6 @@ $self->session->errorHandler->error("Question Text is: ".$q->{text});
|
||||||
}
|
}
|
||||||
$section->{'questions'} = $questions;
|
$section->{'questions'} = $questions;
|
||||||
|
|
||||||
#$self->session->errorHandler->error(Dumper $section);
|
|
||||||
my $out = $self->processTemplate($section,$self->get("surveyQuestionsId"));
|
my $out = $self->processTemplate($section,$self->get("surveyQuestionsId"));
|
||||||
|
|
||||||
$self->session->http->setMimeType('application/json');
|
$self->session->http->setMimeType('application/json');
|
||||||
|
|
@ -849,18 +803,14 @@ sub loadBothJSON{
|
||||||
#-------------------------------------------------------------------
|
#-------------------------------------------------------------------
|
||||||
sub loadResponseJSON{
|
sub loadResponseJSON{
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
$self->log("1");
|
|
||||||
my $jsonHash = shift;
|
my $jsonHash = shift;
|
||||||
my $rId = shift;
|
my $rId = shift;
|
||||||
$rId = defined $rId ? $rId : $self->{responseId};
|
$rId = defined $rId ? $rId : $self->{responseId};
|
||||||
if(defined $self->response and ! defined $rId){return;}
|
if(defined $self->response and ! defined $rId){return;}
|
||||||
|
|
||||||
$self->log("loading $rId");
|
|
||||||
|
|
||||||
$jsonHash = $self->session->db->quickScalar("select responseJSON from Survey_response where assetId = ? and Survey_responseId = ?",
|
$jsonHash = $self->session->db->quickScalar("select responseJSON from Survey_response where assetId = ? and Survey_responseId = ?",
|
||||||
[$self->getId,$rId]) if(! defined $jsonHash);
|
[$self->getId,$rId]) if(! defined $jsonHash);
|
||||||
$self->log("jsonhash was ".(length $jsonHash));
|
|
||||||
$self->{response} = WebGUI::Asset::Wobject::Survey::ResponseJSON->new($jsonHash,$self->session->errorHandler, $self->survey);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#-------------------------------------------------------------------
|
#-------------------------------------------------------------------
|
||||||
|
|
@ -869,7 +819,6 @@ sub saveResponseJSON{
|
||||||
|
|
||||||
my $data = $self->response->freeze();
|
my $data = $self->response->freeze();
|
||||||
|
|
||||||
$self->session->errorHandler->error("Saving RESPONSE to ".$self->{responseId}." for $data");
|
|
||||||
|
|
||||||
$self->session->db->write("update Survey_response set responseJSON = ? where Survey_responseId = ?",[$data,$self->{responseId}]);
|
$self->session->db->write("update Survey_response set responseJSON = ? where Survey_responseId = ?",[$data,$self->{responseId}]);
|
||||||
}
|
}
|
||||||
|
|
@ -939,18 +888,15 @@ sub getResponseId{
|
||||||
assetId=>$self->getId(),
|
assetId=>$self->getId(),
|
||||||
anonId=>$anonId
|
anonId=>$anonId
|
||||||
});
|
});
|
||||||
$self->session->errorHandler->error("Creating a new response and survey order");
|
|
||||||
$self->loadBothJSON($responseId);
|
$self->loadBothJSON($responseId);
|
||||||
$self->response->createSurveyOrder();
|
$self->response->createSurveyOrder();
|
||||||
$self->{responseId} = $responseId;
|
$self->{responseId} = $responseId;
|
||||||
$self->saveResponseJSON();
|
$self->saveResponseJSON();
|
||||||
}else{
|
}else{
|
||||||
$self->session->errorHandler->error("No responses left max=$allowedTakes used up=$haveTaken");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$self->{responseId} = $responseId;
|
$self->{responseId} = $responseId;
|
||||||
$self->loadBothJSON($responseId);
|
$self->loadBothJSON($responseId);
|
||||||
$self->session->errorHandler->error("Survey Response was ".$responseId);
|
|
||||||
return $responseId;
|
return $responseId;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -962,7 +908,6 @@ sub canTakeSurvey{
|
||||||
|
|
||||||
return $self->{canTake} if(defined $self->{canTake});
|
return $self->{canTake} if(defined $self->{canTake});
|
||||||
|
|
||||||
$self->session->errorHandler->error("Can take was NOT already defined");
|
|
||||||
|
|
||||||
if(!$self->session->user->isInGroup($self->get("groupToTakeSurvey"))){
|
if(!$self->session->user->isInGroup($self->get("groupToTakeSurvey"))){
|
||||||
return 0;
|
return 0;
|
||||||
|
|
@ -982,15 +927,12 @@ $self->session->errorHandler->error("Can take was NOT already defined");
|
||||||
$takenCount = $self->session->db->quickScalar("select count(*) from Survey_response where userId = ? and assetId = ? and isComplete = ?",[$id,$self->getId(),1]);
|
$takenCount = $self->session->db->quickScalar("select count(*) from Survey_response where userId = ? and assetId = ? and isComplete = ?",[$id,$self->getId(),1]);
|
||||||
}
|
}
|
||||||
|
|
||||||
$self->session->errorHandler->error("userid is ".$id."\t and ip is ".$ip);
|
|
||||||
$self->session->errorHandler->error("max ".$maxTakes." taken ".$takenCount);
|
|
||||||
|
|
||||||
if($takenCount >= $maxTakes){
|
if($takenCount >= $maxTakes){
|
||||||
$self->{canTake} = 0;
|
$self->{canTake} = 0;
|
||||||
}else{
|
}else{
|
||||||
$self->{canTake} = 1;
|
$self->{canTake} = 1;
|
||||||
}
|
}
|
||||||
$self->session->errorHandler->error("Can take survey returning ".$self->{canTake});
|
|
||||||
return $self->{canTake};
|
return $self->{canTake};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,20 +0,0 @@
|
||||||
CREATE TABLE `Survey` (
|
|
||||||
`groupToTakeSurvey` varchar(22) character set utf8 collate utf8_bin NOT NULL default '2',
|
|
||||||
`groupToViewReports` varchar(22) character set utf8 collate utf8_bin NOT NULL default '3',
|
|
||||||
`responseTemplateId` varchar(22) character set utf8 collate utf8_bin NOT NULL default '',
|
|
||||||
`overviewTemplateId` varchar(22) character set utf8 collate utf8_bin NOT NULL default '',
|
|
||||||
`maxResponsesPerUser` int(11) NOT NULL default '1',
|
|
||||||
`gradebookTemplateId` varchar(22) character set utf8 collate utf8_bin NOT NULL default '',
|
|
||||||
`assetId` varchar(22) character set utf8 collate utf8_bin NOT NULL default '',
|
|
||||||
`templateId` varchar(22) character set utf8 collate utf8_bin NOT NULL default '',
|
|
||||||
`revisionDate` bigint(20) NOT NULL default '0',
|
|
||||||
`surveyEditTemplateId` varchar(22) NOT NULL,
|
|
||||||
`answerEditTemplateId` varchar(22) NOT NULL,
|
|
||||||
`questionEditTemplateId` varchar(22) NOT NULL,
|
|
||||||
`sectionEditTemplateId` varchar(22) NOT NULL,
|
|
||||||
`surveyTakeTemplateId` varchar(22) NOT NULL,
|
|
||||||
`surveyQuestionsId` varchar(22) NOT NULL,
|
|
||||||
`exitURL` varchar(512) default NULL,
|
|
||||||
`surveyJSON` longblob,
|
|
||||||
PRIMARY KEY (`assetId`,`revisionDate`)
|
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8
|
|
||||||
|
|
@ -49,18 +49,18 @@ sub getDragDropList{
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
my $address = shift;
|
my $address = shift;
|
||||||
my @data;
|
my @data;
|
||||||
#$self->log("dd'ing sections".$#{$self->sections});
|
##$self->log("dd'ing sections".$#{$self->sections});
|
||||||
eval{
|
eval{
|
||||||
for(my $i = 0; $i <= $#{$self->sections}; $i++){
|
for(my $i = 0; $i <= $#{$self->sections}; $i++){
|
||||||
push(@data,{text=>$self->section([$i])->{title}, type=>'section'});
|
push(@data,{text=>$self->section([$i])->{title}, type=>'section'});
|
||||||
if($address->[0] == $i){
|
if($address->[0] == $i){
|
||||||
|
|
||||||
for(my $x = 0; $x <= $#{$self->questions($address)}; $x++){
|
for(my $x = 0; $x <= $#{$self->questions($address)}; $x++){
|
||||||
##$self->log("dd'ing questions".$#{$self->questions});
|
###$self->log("dd'ing questions".$#{$self->questions});
|
||||||
push(@data,{text=>$self->question([$i,$x])->{text}, type=>'question'});
|
push(@data,{text=>$self->question([$i,$x])->{text}, type=>'question'});
|
||||||
if($address->[1] == $x){
|
if($address->[1] == $x){
|
||||||
for(my $y = 0; $y <= $#{$self->answers($address)}; $y++){
|
for(my $y = 0; $y <= $#{$self->answers($address)}; $y++){
|
||||||
##$self->log("dd'ing answers".$#{$self->answers});
|
###$self->log("dd'ing answers".$#{$self->answers});
|
||||||
push(@data,{text=>$self->answer([$i,$x,$y])->{text}, type=>'answer'});
|
push(@data,{text=>$self->answer([$i,$x,$y])->{text}, type=>'answer'});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -68,8 +68,8 @@ eval{
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
#$self->log($@);
|
##$self->log($@);
|
||||||
##$self->log('finished dding');
|
###$self->log('finished dding');
|
||||||
return \@data;
|
return \@data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -150,14 +150,14 @@ sub update{
|
||||||
my $object;
|
my $object;
|
||||||
my $newQuestion = 0;
|
my $newQuestion = 0;
|
||||||
if(@$address == 1){
|
if(@$address == 1){
|
||||||
#$self->log("A section");
|
##$self->log("A section");
|
||||||
$object = $self->section($address);
|
$object = $self->section($address);
|
||||||
if(! defined $object){
|
if(! defined $object){
|
||||||
$object = $self->newSection();
|
$object = $self->newSection();
|
||||||
push(@{$self->sections},$object);
|
push(@{$self->sections},$object);
|
||||||
}
|
}
|
||||||
}elsif(@$address == 2){
|
}elsif(@$address == 2){
|
||||||
#$self->log("A question");
|
##$self->log("A question");
|
||||||
$object = $self->question($address);
|
$object = $self->question($address);
|
||||||
if(! defined $object){
|
if(! defined $object){
|
||||||
my $newQuestion = 1;
|
my $newQuestion = 1;
|
||||||
|
|
@ -165,7 +165,7 @@ sub update{
|
||||||
push(@{$self->questions($address)},$object);
|
push(@{$self->questions($address)},$object);
|
||||||
}
|
}
|
||||||
}elsif(@$address == 3){
|
}elsif(@$address == 3){
|
||||||
#$self->log("A answer");
|
##$self->log("A answer");
|
||||||
$object = $self->answer($address);
|
$object = $self->answer($address);
|
||||||
if(! defined $object){
|
if(! defined $object){
|
||||||
$object = $self->newAnswer();
|
$object = $self->newAnswer();
|
||||||
|
|
@ -178,7 +178,7 @@ sub update{
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for my $key(keys %$object){
|
for my $key(keys %$object){
|
||||||
#$self->log("$key $$object{$key}");
|
##$self->log("$key $$object{$key}");
|
||||||
$object->{$key} = $ref->{$key} if(defined $$ref{$key});
|
$object->{$key} = $ref->{$key} if(defined $$ref{$key});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -188,7 +188,7 @@ sub update{
|
||||||
# ref should contain all the information for the new
|
# ref should contain all the information for the new
|
||||||
sub insertObject{
|
sub insertObject{
|
||||||
my ($self,$object,$address) = @_;
|
my ($self,$object,$address) = @_;
|
||||||
#$self->log("Inserting ".join(',',@$address));
|
##$self->log("Inserting ".join(',',@$address));
|
||||||
if(@$address == 1){
|
if(@$address == 1){
|
||||||
splice(@{$self->sections($address)},$$address[0] + 1, 0, $object);
|
splice(@{$self->sections($address)},$$address[0] + 1, 0, $object);
|
||||||
}elsif(@$address == 2){
|
}elsif(@$address == 2){
|
||||||
|
|
@ -196,7 +196,7 @@ sub insertObject{
|
||||||
}elsif(@$address == 3){
|
}elsif(@$address == 3){
|
||||||
splice(@{$self->answers($address)},$$address[2] + 1, 0, $object);
|
splice(@{$self->answers($address)},$$address[2] + 1, 0, $object);
|
||||||
}
|
}
|
||||||
#$self->log("Finished inserting ");
|
##$self->log("Finished inserting ");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -206,13 +206,13 @@ sub copy{
|
||||||
my %newSection = %{$self->section($address)};
|
my %newSection = %{$self->section($address)};
|
||||||
push(@{$self->sections}, \%newSection);
|
push(@{$self->sections}, \%newSection);
|
||||||
return [$#{$self->sections}];
|
return [$#{$self->sections}];
|
||||||
#$self->log("copying here $$address[0] :".$#{$self->sections});
|
##$self->log("copying here $$address[0] :".$#{$self->sections});
|
||||||
}elsif(@$address == 2){
|
}elsif(@$address == 2){
|
||||||
#$self->log("copying question $$address[0] $$address[1]");
|
##$self->log("copying question $$address[0] $$address[1]");
|
||||||
my %newQuestion = %{$self->question($address)};
|
my %newQuestion = %{$self->question($address)};
|
||||||
push( @{$self->questions($address)}, \%newQuestion);
|
push( @{$self->questions($address)}, \%newQuestion);
|
||||||
$$address[1] = $#{$self->questions($address)};
|
$$address[1] = $#{$self->questions($address)};
|
||||||
#$self->log("to $$address[0] $$address[1]");
|
##$self->log("to $$address[0] $$address[1]");
|
||||||
return $address;
|
return $address;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -221,14 +221,14 @@ sub copy{
|
||||||
sub remove{
|
sub remove{
|
||||||
my ($self,$address,$movingOverride) = @_;
|
my ($self,$address,$movingOverride) = @_;
|
||||||
if(@$address == 1){
|
if(@$address == 1){
|
||||||
#$self->log("removing here $$address[0] :".$#{$self->sections}) if($$address[0] != 0 or defined $movingOverride);;
|
##$self->log("removing here $$address[0] :".$#{$self->sections}) if($$address[0] != 0 or defined $movingOverride);;
|
||||||
splice(@{$self->{sections}},$$address[0],1) if($$address[0] != 0 or defined $movingOverride);#can't delete the first section
|
splice(@{$self->{sections}},$$address[0],1) if($$address[0] != 0 or defined $movingOverride);#can't delete the first section
|
||||||
#$self->log("removing here $$address[0] :".$#{$self->sections});
|
##$self->log("removing here $$address[0] :".$#{$self->sections});
|
||||||
}elsif(@$address == 2){
|
}elsif(@$address == 2){
|
||||||
#$self->log("removing here $$address[0] $$address[1]");
|
##$self->log("removing here $$address[0] $$address[1]");
|
||||||
splice(@{$self->questions($address)},$$address[1],1);
|
splice(@{$self->questions($address)},$$address[1],1);
|
||||||
}elsif(@$address == 3){
|
}elsif(@$address == 3){
|
||||||
#$self->log("removing here $$address[0] $$address[1] $$address[2]");
|
##$self->log("removing here $$address[0] $$address[1] $$address[2]");
|
||||||
splice(@{$self->answers($address)},$$address[2],1);
|
splice(@{$self->answers($address)},$$address[2],1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -299,7 +299,7 @@ sub updateQuestionAnswers{
|
||||||
my $address = shift;
|
my $address = shift;
|
||||||
my $type = shift;
|
my $type = shift;
|
||||||
|
|
||||||
#$self->log("In updateQuestion");
|
##$self->log("In updateQuestion");
|
||||||
|
|
||||||
my @addy = @{$address};
|
my @addy = @{$address};
|
||||||
my $question = $self->question($address);
|
my $question = $self->question($address);
|
||||||
|
|
@ -391,11 +391,11 @@ sub addAnswersToQuestion{
|
||||||
my $addy = shift;
|
my $addy = shift;
|
||||||
my $ans = shift;
|
my $ans = shift;
|
||||||
my $verbs = shift;
|
my $verbs = shift;
|
||||||
#$self->log(Dumper $verbs);
|
##$self->log(Dumper $verbs);
|
||||||
for(0 .. $#$ans){
|
for(0 .. $#$ans){
|
||||||
push(@{$self->question($addy)->{answers}},$self->newAnswer());
|
push(@{$self->question($addy)->{answers}},$self->newAnswer());
|
||||||
$$addy[2] = $_;
|
$$addy[2] = $_;
|
||||||
#$self->log("$_:".defined $$verbs{$_}." ".$$verbs{$_});
|
##$self->log("$_:".defined $$verbs{$_}." ".$$verbs{$_});
|
||||||
if(defined $$verbs{$_} and $_ == $$verbs{$_}){
|
if(defined $$verbs{$_} and $_ == $$verbs{$_}){
|
||||||
$self->update($addy,{'text',$$ans[$_],'recordedAnswer',$_+1,'verbatim',1});
|
$self->update($addy,{'text',$$ans[$_],'recordedAnswer',$_+1,'verbatim',1});
|
||||||
}else{
|
}else{
|
||||||
|
|
|
||||||
|
|
@ -1,13 +0,0 @@
|
||||||
CREATE TABLE `Survey_response` (
|
|
||||||
`assetId` varchar(22) character set utf8 collate utf8_bin NOT NULL,
|
|
||||||
`Survey_responseId` varchar(22) character set utf8 collate utf8_bin NOT NULL default '',
|
|
||||||
`userId` varchar(22) default NULL,
|
|
||||||
`username` varchar(255) default NULL,
|
|
||||||
`ipAddress` varchar(15) default NULL,
|
|
||||||
`startDate` bigint(20) NOT NULL default '0',
|
|
||||||
`endDate` bigint(20) NOT NULL default '0',
|
|
||||||
`isComplete` int(11) NOT NULL default '0',
|
|
||||||
`anonId` varchar(255) default NULL,
|
|
||||||
`responseJSON` longblob,
|
|
||||||
PRIMARY KEY (`Survey_responseId`)
|
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8
|
|
||||||
Binary file not shown.
Loading…
Add table
Add a link
Reference in a new issue