From 498e38eb86e7fb7cbaf69bc6819074c28cb9cb89 Mon Sep 17 00:00:00 2001 From: Drake Date: Fri, 10 Nov 2006 17:33:04 +0000 Subject: [PATCH] Hopefully fix problems with uncommitted assets in RSSCapable portion of 7.2.0 upgrade. Sigh. --- docs/upgrades/upgrade_7.1.3-7.2.0.pl | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/docs/upgrades/upgrade_7.1.3-7.2.0.pl b/docs/upgrades/upgrade_7.1.3-7.2.0.pl index 7b81a732a..51e706318 100644 --- a/docs/upgrades/upgrade_7.1.3-7.2.0.pl +++ b/docs/upgrades/upgrade_7.1.3-7.2.0.pl @@ -178,7 +178,8 @@ EOT my $templateTag = WebGUI::VersionTag->create($session, { name => '7.2.0 RSS template update' }); $templateTag->setWorking; foreach my $templateId ($session->db->buildArray("SELECT DISTINCT assetId FROM template WHERE namespace = 'Collaboration/RSS'")) { - my $template = WebGUI::Asset->newByDynamicClass($session, $templateId)->addRevision; + my ($revisionDate) = $session->db->quickArray("SELECT MAX(revisionDate) FROM template WHERE assetId = ?", [$templateId]); + my $template = WebGUI::Asset->newByDynamicClass($session, $templateId, $revisionDate); $template->update({ namespace => 'RSSCapable/RSS' }); } @@ -203,16 +204,20 @@ EOT $csTag->setWorking; foreach my $csId ($session->db->buildArray("SELECT DISTINCT assetId FROM Collaboration")) { # Blah, some duplication with RSSCapable.pm. - my $cs = WebGUI::Asset->newByDynamicClass($session, $csId)->addRevision; - next if $cs->get('isPrototype'); # Uh. - my $rssFromParent = - $cs->addChild({ className => 'WebGUI::Asset::RSSFromParent', - title => $cs->get('title'), - menuTitle => $cs->get('menuTitle'), - url => $cs->get('url').'.rss' - }); - $cs->update({ rssCapableRssEnabled => 1, - rssCapableRssFromParentId => $rssFromParent->getId }); + my ($revisionDate) = $session->db->quickArray("SELECT MAX(revisionDate) FROM Collaboration WHERE assetId = ?", [$csId]); + my $cs = WebGUI::Asset->newByDynamicClass($session, $csId, $revisionDate); + if ($cs->isPrototype) { + $cs->update({ rssCapableRssEnabled => 1, rssCapableRssFromParentId => undef }); + } else { + my $rssFromParent = + $cs->addChild({ className => 'WebGUI::Asset::RSSFromParent', + title => $cs->get('title'), + menuTitle => $cs->get('menuTitle'), + url => $cs->get('url').'.rss' + }); + $cs->update({ rssCapableRssEnabled => 1, + rssCapableRssFromParentId => $rssFromParent->getId }); + } } $csTag->commit;