From 878ded9c7052c5c6d7a1330c07279766b46b81f4 Mon Sep 17 00:00:00 2001 From: Graham Knop Date: Thu, 20 Mar 2008 19:38:00 +0000 Subject: [PATCH] fixed: Changing name of Matrix listing leaves discussion forum with old name --- docs/changelog/7.x.x.txt | 1 + lib/WebGUI/Asset/Wobject/Matrix.pm | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/docs/changelog/7.x.x.txt b/docs/changelog/7.x.x.txt index fe9a087d8..8e6a8c562 100644 --- a/docs/changelog/7.x.x.txt +++ b/docs/changelog/7.x.x.txt @@ -8,6 +8,7 @@ - Fix: Search form now visible in Photo assets - fixed: Editting matrix listings shows fields from other matrix assets - fixed: Matrix assets show pending listings from all matrix assets on a site + - fixed: Changing name of Matrix listing leaves discussion forum with old name 7.5.7 - fixed: HttpProxy mixes original site's content encoding with WebGUI's diff --git a/lib/WebGUI/Asset/Wobject/Matrix.pm b/lib/WebGUI/Asset/Wobject/Matrix.pm index e1c55b93c..591e54540 100644 --- a/lib/WebGUI/Asset/Wobject/Matrix.pm +++ b/lib/WebGUI/Asset/Wobject/Matrix.pm @@ -770,6 +770,26 @@ sub www_editListingSave { $data{status} = "pending"; $isNew = 1; } + else { + my $forum = WebGUI::Asset::Wobject::Collaboration->new($self->session, $listing->{forumId}); + if ($forum && $forum->get('title') ne $productName) { + my $oldTag = WebGUI::VersionTag->getWorking($self->session, 1); + my $newTag = WebGUI::VersionTag->create($self->session, { + name => $productName.' / '.$self->session->user->username, + workflowId => 'pbworkflow000000000003' }); + $newTag->setWorking; + $forum->addRevision({ + title => $productName, + menuTitle => $productName, + url => $productName, + }); + $newTag->requestCommit; + $newTag->clearWorking; + $oldTag->setWorking + if defined $oldTag; + } + my $forum = WebGUI:: + } $data{maintainerId} = $self->session->form->process("maintainerId") if ($self->canEdit); $data{assetId} = $self->getId; my $listingId = $self->session->db->setRow("Matrix_listing","listingId",\%data);