added duplicate method

This commit is contained in:
JT Smith 2005-01-02 16:36:36 +00:00
parent 6bbf0b43e2
commit a7ac059864

View file

@ -150,6 +150,17 @@ sub definition {
return $class->SUPER::definition($definition);
}
#-------------------------------------------------------------------
sub duplcate {
my $self = shift;
my $newAsset = $self->SUPER::duplicate;
my $sth = WebGUI::SQL->read("select * from Poll_answer where assetId=".quote($self->getId));
while (my $data = $sth->hashRef) {
$newAsset->setVote($data->{answer}, $data->{userId}, $data->{ipAddress});
}
$sth->finish;
}
#-------------------------------------------------------------------
sub getEditForm {
my $self = shift;
@ -283,6 +294,15 @@ sub purge {
$self->SUPER::purge();
}
#-------------------------------------------------------------------
sub setVote {
my $self = shift;
my $answer = shift;
my $userId = shift;
my $ip = shift;
WebGUI::SQL->write("insert into Poll_answer (assetId, answer, userId, ipAddress) values (".quote($self->getId).",
".quote($answer).", ".quote($userId).", '$ip')");
}
#-------------------------------------------------------------------
sub view {
@ -342,8 +362,7 @@ sub www_vote {
my $self = shift;
my $u;
if ($session{form}{answer} ne "" && WebGUI::Grouping::isInGroup($self->get("voteGroup")) && !($self->_hasVoted())) {
WebGUI::SQL->write("insert into Poll_answer (assetId, answer, userId, ipAddress) values (".quote($self->getId).",
".quote($session{form}{answer}).", ".quote($session{user}{userId}).", '$session{env}{REMOTE_ADDR}')");
$self->setVote($session{form}{answer},$session{user}{userId},$session{env}{REMOTE_ADDR});
if ($session{setting}{useKarma}) {
$u = WebGUI::User->new($session{user}{userId});
$u->karma($self->get("karmaPerVote"),"Poll (".$self->getId.")","Voted on this poll.");