Really dont use this copy

This commit is contained in:
Kaleb Murphy 2008-09-24 15:29:51 +00:00
parent c4f939f306
commit e81accaa15
3 changed files with 36 additions and 14 deletions

View file

@ -164,7 +164,7 @@ sub loadSurveyJSON{
my $jsonHash = $self->session->db->quickScalar("select surveyJSON from Survey where assetId = ?",[$self->getId]);
use Data::Dumper;
$self->session->errorHandler->error("LOADING".Dumper $jsonHash);
$self->session->errorHandler->error("LOADING\n".Dumper $jsonHash."\n\n");
my $hashRef = {};
$hashRef = decode_json($jsonHash) if defined $jsonHash;
@ -181,13 +181,21 @@ Saves the survey collateral to the DB
sub saveSurveyJSON{
my $self = shift;
$self->{_data}->{log} = $self->session->errorHandler;
# $self->{_data}->{log} = $self->session->errorHandler;
my $data = $self->{_data}->freeze();
use Data::Dumper;
$self->session->errorHandler->error("SAVING".Dumper $data);
$data = encode_json($data);
$self->session->errorHandler->error(Dumper $data);
$self->session->errorHandler->error("Log defined:".defined $data->{log});
eval{
$self->session->errorHandler->error(join(',',keys %{$data}));
$data = encode_json($data);
};
if($@){
$self->session->errorHandler->error("Could not encode Survey object".$@);
}
$self->session->db->write("update Survey set surveyJSON = ? where assetId = ?",[$data,$self->getId]);
}
@ -373,19 +381,19 @@ sub www_loadSurvey{
my ($self,$options) = @_;
$self->loadSurveyJSON();
$self->session->errorHandler->error("The object isa ".Dumper $self->{_data});
$self->session->errorHandler->error("The object isa\n".Dumper $self->{_data});
my $address = $options->{address} ? defined $options : [0];
my $message = $options->{message} ? defined $options : '';
my $object = $options->{object} ? defined $options : $self->{_data}->getObject($address);
$self->session->errorHandler->error("The object isa ".Dumper $object);
$self->session->errorHandler->error("The object isa\n".Dumper $object);
$object = $object->freeze();#just want the hashref
$self->session->errorHandler->error(1);
my @data;
@data = $self->{_data}->getDragDropList($address,\@data);
$self->session->errorHandler->error(2);
$self->{_data}->getDragDropList($address,\@data,$self->session->errorHandler);
$self->session->errorHandler->error("In Survey".Dumper @data);
my $return = {"address",$address,"data",\@data,"object",$object};
$self->session->errorHandler->warn(encode_json($return));

View file

@ -18,7 +18,7 @@ sub new{
}
$self->{text} = $self->{text} || '';
$self->{title} = $self->{title} || '';
$self->{title} = $self->{title} || 'New Section';
$self->{parent} = $parent;
$self->{questionsPerPage} = $self->{questionsPerPage} || 5;
$self->{questionsOnSectionPage} = $self->{questionsOnSectionPage} || 1;
@ -106,8 +106,9 @@ sub getQuestion{
sub freeze{
my $self = shift;
$self->{parent} = undef;
my %temp = %{$self};
$temp{parent} = undef;
$temp{questions} = [];
foreach(@{$self->{questions}}){
push(@{$temp{questions}}, $_->freeze());

View file

@ -3,6 +3,7 @@ package WebGUI::Asset::Wobject::Survey::SurveyJSON;
use strict;
use Data::Structure::Util qw/unbless/;
use WebGUI::Asset::Wobject::Survey::SectionJSON;
use Data::Dumper;
sub new{
my $class = shift;
@ -19,12 +20,23 @@ sub new{
bless($self,$class);
return $self;
}
sub log{
my ($self,$message) = @_;
if(defined $self->{log}){
$self->{log}->error($message);
}
}
#address is the array of objects currently selected in the edit screen
#data is the array of hash items for displaying
sub getDragDropList{
my ($self,$address,$data) = @_;
my $self = shift;
my $address = shift;
my $data = shift;
$self->{log} = shift;
for(my $i=0; $i<=$#{$self->{sections}}; $i++){
$self->log("Survey passing ".Dumper $data);#,$address,$i, $$address[0]");
$self->{sections}->[$i]->getDragDropList($data, $address, $i == $address->[0]);
$self->log("Survey passing ".Dumper $data);#,$address,$i, $$address[0]");
}
}
@ -70,9 +82,10 @@ sub freeze{
my $self = shift;
my %temp = %{$self};
$temp{sections} = [];
$temp{log} = undef;
$temp{PPPPPPPOOOOOOOOOOOOOOOOPPPPPPPPPPPP} = 1;
delete $temp{log};
foreach (@{$self->{sections}}){
push(@{$temp{sections}},$_->freeze($self->{log}));
# push(@{$temp{sections}},$_->freeze());
}
return \%temp;
}