From e81accaa1554d70edc115cd981ce1a17c636ce8f Mon Sep 17 00:00:00 2001 From: Kaleb Murphy Date: Wed, 24 Sep 2008 15:29:51 +0000 Subject: [PATCH] Really dont use this copy --- lib/WebGUI/Asset/Wobject/Survey.pm | 26 ++++++++++++------- .../Asset/Wobject/Survey/SectionJSON.pm | 5 ++-- lib/WebGUI/Asset/Wobject/Survey/SurveyJSON.pm | 19 +++++++++++--- 3 files changed, 36 insertions(+), 14 deletions(-) diff --git a/lib/WebGUI/Asset/Wobject/Survey.pm b/lib/WebGUI/Asset/Wobject/Survey.pm index 855173ec4..b982d0d45 100644 --- a/lib/WebGUI/Asset/Wobject/Survey.pm +++ b/lib/WebGUI/Asset/Wobject/Survey.pm @@ -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)); diff --git a/lib/WebGUI/Asset/Wobject/Survey/SectionJSON.pm b/lib/WebGUI/Asset/Wobject/Survey/SectionJSON.pm index af477298d..ab9125553 100644 --- a/lib/WebGUI/Asset/Wobject/Survey/SectionJSON.pm +++ b/lib/WebGUI/Asset/Wobject/Survey/SectionJSON.pm @@ -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()); diff --git a/lib/WebGUI/Asset/Wobject/Survey/SurveyJSON.pm b/lib/WebGUI/Asset/Wobject/Survey/SurveyJSON.pm index 34951e0c1..06baa382c 100644 --- a/lib/WebGUI/Asset/Wobject/Survey/SurveyJSON.pm +++ b/lib/WebGUI/Asset/Wobject/Survey/SurveyJSON.pm @@ -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; }