From fa461ce75923e1c4e0d164a9c3b8ed9868bae42d Mon Sep 17 00:00:00 2001 From: Graham Knop Date: Fri, 12 Oct 2007 14:23:27 +0000 Subject: [PATCH] CS sort by fixes --- lib/WebGUI/Asset/RSSFromParent.pm | 2 +- lib/WebGUI/Asset/WikiPage.pm | 1 - lib/WebGUI/Asset/Wobject/Collaboration.pm | 10 +++++++--- lib/WebGUI/Asset/Wobject/Matrix.pm | 2 +- 4 files changed, 9 insertions(+), 6 deletions(-) diff --git a/lib/WebGUI/Asset/RSSFromParent.pm b/lib/WebGUI/Asset/RSSFromParent.pm index 11977e200..97224e80a 100644 --- a/lib/WebGUI/Asset/RSSFromParent.pm +++ b/lib/WebGUI/Asset/RSSFromParent.pm @@ -119,7 +119,7 @@ sub www_view { $subvar = {}; @$subvar{'title', 'link', 'description'} = $self->_tlsOfAsset($item); $subvar->{guid} = $subvar->{link}; - $subvar->{pubDate} = _escapeXml($self->session->datetime->epochToMail($item->get('dateUpdated'))); + $subvar->{pubDate} = _escapeXml($self->session->datetime->epochToMail($item->get('revisionDate'))); } elsif (ref $item eq 'HASH') { foreach my $key (keys %$item) { $subvar->{$key} = _escapeXml($item->{$key}); diff --git a/lib/WebGUI/Asset/WikiPage.pm b/lib/WebGUI/Asset/WikiPage.pm index afe80b38b..ff18afb1b 100644 --- a/lib/WebGUI/Asset/WikiPage.pm +++ b/lib/WebGUI/Asset/WikiPage.pm @@ -44,7 +44,6 @@ sub addRevision { my $now = time(); $newSelf->update({ isHidden => 1, - dateUpdated=>$now, }); return $newSelf; } diff --git a/lib/WebGUI/Asset/Wobject/Collaboration.pm b/lib/WebGUI/Asset/Wobject/Collaboration.pm index 185d4c087..c82674ebc 100644 --- a/lib/WebGUI/Asset/Wobject/Collaboration.pm +++ b/lib/WebGUI/Asset/Wobject/Collaboration.pm @@ -789,7 +789,8 @@ sub getRssItems { # XXX copied and reformatted this query from www_viewRSS, but why is it constructed like this? # And it's duplicated inside view, too! Eeeagh! And it uses the versionTag scratch var... my ($sortBy, $sortOrder) = ($self->getValue('sortBy'), $self->getValue('sortOrder')); - my @postIds = $self->session->db->buildArray(<<"SQL", [$self->getId, $self->session->scratch->get('versionTag')]); + + my @postIds = $self->session->db->buildArray(<<"SQL", [$self->getId, $self->session->scratch->get('versionTag')]); SELECT asset.assetId FROM Thread LEFT JOIN asset ON Thread.assetId = asset.assetId @@ -933,7 +934,10 @@ sub getThreadsPaginator { my $scratchSortBy = $self->getId."_sortBy"; my $scratchSortOrder = $self->getId."_sortDir"; my $sortBy = $self->session->form->process("sortBy") || $self->session->scratch->get($scratchSortBy) || $self->get("sortBy"); - my $sortOrder = $self->session->scratch->get($scratchSortOrder) || $self->get("sortOrder"); + if (!isIn($sortBy, qw(lineage assetData.revisionDate creationDate title userDefined1 userDefined2 userDefined3 userDefuned4 userDefined5 karmaRank))) { + $sortBy = ''; + } + my $sortOrder = $self->session->scratch->get($scratchSortOrder) || $self->get("sortOrder"); if ($sortBy ne $self->session->scratch->get($scratchSortBy) && $self->session->form->process("func") ne "editSave") { $self->session->scratch->set($scratchSortBy,$self->session->form->process("sortBy")); } elsif ($self->session->form->process("sortBy") && $self->session->form->process("func") ne "editSave") { @@ -944,7 +948,7 @@ sub getThreadsPaginator { } $self->session->scratch->set($scratchSortOrder, $sortOrder); } - $sortBy ||= "revisionDate"; + $sortBy ||= "assetData.revisionDate"; $sortOrder ||= "desc"; # Sort by the thread rating instead of the post rating. other places don't care about threads. if ($sortBy eq 'rating') { diff --git a/lib/WebGUI/Asset/Wobject/Matrix.pm b/lib/WebGUI/Asset/Wobject/Matrix.pm index bf56af92b..68a177e41 100644 --- a/lib/WebGUI/Asset/Wobject/Matrix.pm +++ b/lib/WebGUI/Asset/Wobject/Matrix.pm @@ -745,7 +745,7 @@ sub www_editListingSave { addEditStampToPosts => 0, usePreview => 1, sortOrder => 'desc', - sortBy => 'dateUpdated', + sortBy => 'assetData.revisionDate', rssTemplateId=>'PBtmpl0000000000000142', notificationTemplateId=>'PBtmpl0000000000000027', searchTemplateId=>'PBtmpl0000000000000031',