More wg8 constructors in AssetVersioning.

This commit is contained in:
Colin Kuskie 2010-02-04 15:31:43 -08:00
parent 70d06ecd64
commit a9f46c7443

View file

@ -251,9 +251,9 @@ sub getRevisions {
$statusClause = " and status=".$self->session->db->quote($status); $statusClause = " and status=".$self->session->db->quote($status);
} }
my @revisions = (); my @revisions = ();
my $rs = $self->session->db->read("select revisionDate from assetData where assetId=".$self->session->db->quote($self->getId).$statusClause. " order by revisionDate desc"); my $rs = $self->session->db->read("select revisionDate from assetData where assetId=? order by revisionDate desc", [$self->getId]);
while (my ($version) = $rs->array) { while (my ($version) = $rs->array) {
push(@revisions, WebGUI::Asset->new($self->session, $self->getId, $self->get("className"), $version)); push(@revisions, WebGUI::Asset->newById($self->session, $self->getId, $version));
} }
return \@revisions; return \@revisions;
} }
@ -602,24 +602,28 @@ sub www_manageRevisions {
#------------------------------------------------------------------- #-------------------------------------------------------------------
sub www_purgeRevision { sub www_purgeRevision {
my $self = shift; my $self = shift;
my $session = $self->session; my $session = $self->session;
return $session->privilege->insufficient() unless $self->canEdit; return $session->privilege->insufficient() unless $self->canEdit;
my $revisionDate = $session->form->process("revisionDate"); my $revisionDate = $session->form->process("revisionDate");
return undef unless $revisionDate; return undef unless $revisionDate;
my $asset = WebGUI::Asset->new($session,$self->getId,$self->get("className"),$revisionDate); my $asset = eval { WebGUI::Asset->newById($session, $self->getId, $revisionDate); };
return undef if ($asset->get('revisionDate') != $revisionDate); if (my $e = Exception::Class->caught()) {
my $parent = $asset->getParent; $session->log->warn($@);
$asset->purgeRevision; return undef;
if ($session->form->process("proceed") eq "manageRevisionsInTag") { }
my $working = (defined $self) ? $self : $parent; return undef if ($asset->revisionDate != $revisionDate);
$session->http->setRedirect($working->getUrl("op=manageRevisionsInTag")); my $parent = $asset->getParent;
return undef; $asset->purgeRevision;
} if ($session->form->process("proceed") eq "manageRevisionsInTag") {
unless (defined $self) { my $working = (defined $self) ? $self : $parent;
return $parent->www_view; $session->http->setRedirect($working->getUrl("op=manageRevisionsInTag"));
} return undef;
return $self->www_manageRevisions; }
unless (defined $self) {
return $parent->www_view;
}
return $self->www_manageRevisions;
} }
1; 1;