- Converted all the max((assetData.)revisionDate) calls to use mysql5/(4.1)
nested queries. - fix [ 1323184 ] CS Submissions Not Sorting on multiple sites - fixed some major oversights in the new profile system.
This commit is contained in:
parent
d8cea7a566
commit
f5f73c1681
16 changed files with 61 additions and 42 deletions
|
|
@ -648,17 +648,18 @@ sub view {
|
|||
$var->{'unlock.url'} = $self->getUnlockUrl;
|
||||
|
||||
my $p = WebGUI::Paginator->new($self->getUrl,$self->getParent->get("postsPerPage"));
|
||||
my $sql = "select asset.assetId, asset.className, max(assetData.revisionDate) as revisionDate from asset
|
||||
my $sql = "select asset.assetId, asset.className, assetData.revisionDate as revisionDate from asset
|
||||
left join assetData on assetData.assetId=asset.assetId
|
||||
left join Post on Post.assetId=assetData.assetId and assetData.revisionDate=Post.revisionDate
|
||||
where asset.lineage like ".quote($self->get("lineage").'%')
|
||||
." and asset.state='published'
|
||||
and assetData.revisionDate=(SELECT max(revisionDate) from assetData where assetData.assetId=asset.assetId
|
||||
and (
|
||||
assetData.status in ('approved','archived')
|
||||
or assetData.tagId=".quote($session{scratch}{versionTag});
|
||||
$sql .= " or assetData.status='pending'" if ($self->getParent->canModerate);
|
||||
$sql .= " or (assetData.ownerUserId=".quote($session{user}{userId})." and assetData.ownerUserId<>'1')
|
||||
)
|
||||
))
|
||||
group by assetData.assetId
|
||||
order by ";
|
||||
if ($layout eq "flat") {
|
||||
|
|
|
|||
|
|
@ -199,7 +199,8 @@ Specify the namespace to build the list for.
|
|||
sub getList {
|
||||
my $class = shift;
|
||||
my $namespace = shift;
|
||||
my $sth = WebGUI::SQL->read("select asset.assetId, max(assetData.revisionDate) from template left join asset on asset.assetId=template.assetId left join assetData on assetData.revisionDate=template.revisionDate and assetData.assetId=template.assetId where template.namespace=".quote($namespace)." and template.showInForms=1 and asset.state='published' and (assetData.status='approved' or assetData.tagId=".quote($session{scratch}{versionTag}).") group by assetData.assetId order by assetData.title",WebGUI::SQL->getSlave);
|
||||
my $sql = "select asset.assetId, assetData.revisionDate from template left join asset on asset.assetId=template.assetId left join assetData on assetData.revisionDate=template.revisionDate and assetData.assetId=template.assetId where template.namespace=".quote($namespace)." and template.showInForms=1 and asset.state='published' and assetData.revisionDate=(SELECT max(revisionDate) from assetData where assetData.assetId=asset.assetId and (assetData.status='approved' or assetData.tagId=".quote($session{scratch}{versionTag}).")) order by assetData.title";
|
||||
my $sth = WebGUI::SQL->read($sql,WebGUI::SQL->getSlave);
|
||||
my %templates;
|
||||
tie %templates, 'Tie::IxHash';
|
||||
while (my ($id, $version) = $sth->array) {
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ sub appendPostListTemplateVars {
|
|||
my $page = $p->getPageData;
|
||||
my $i = 0;
|
||||
foreach my $row (@$page) {
|
||||
my $post = WebGUI::Asset::Wobject::Collaboration->new($row->{assetId}, $row->{className}, $row->{revisionDate});
|
||||
my $post = WebGUI::Asset->new($row->{assetId}, $row->{className}, $row->{revisionDate});
|
||||
$post->{_parent} = $self; # caching parent for efficiency
|
||||
my $controls = deleteIcon('func=delete',$post->get("url"),"Delete").editIcon('func=edit',$post->get("url"));
|
||||
if ($self->get("sortBy") eq "lineage") {
|
||||
|
|
@ -952,12 +952,12 @@ sub view {
|
|||
$constraints .= " or assetData.status='pending'";
|
||||
}
|
||||
$constraints .= ")";
|
||||
my $sql = "select asset.assetId,asset.className,max(assetData.revisionDate) as revisionDate
|
||||
my $sql = "select asset.assetId,asset.className,assetData.revisionDate as revisionDate
|
||||
from Thread
|
||||
left join asset on Thread.assetId=asset.assetId
|
||||
left join Post on Post.assetId=Thread.assetId and Thread.revisionDate = Post.revisionDate
|
||||
left join assetData on assetData.assetId=Thread.assetId and Thread.revisionDate = assetData.revisionDate
|
||||
where asset.parentId=".quote($self->getId)." and asset.state='published' and asset.className='WebGUI::Asset::Post::Thread' and $constraints
|
||||
where asset.parentId=".quote($self->getId)." and asset.state='published' and asset.className='WebGUI::Asset::Post::Thread' and assetData.revisionDate=(SELECT max(revisionDate) from assetData where assetData.assetId=asset.assetId) and $constraints
|
||||
group by assetData.assetId order by Thread.isSticky desc, ".$sortBy." ".$sortOrder;
|
||||
my $p = WebGUI::Paginator->new($self->getUrl,$self->get("threadsPerPage"));
|
||||
$self->appendPostListTemplateVars(\%var, $sql, $p);
|
||||
|
|
@ -965,14 +965,6 @@ sub view {
|
|||
return $self->processTemplate(\%var,$self->get("collaborationTemplateId"));
|
||||
}
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
#sub www_edit {
|
||||
# my $self = shift;
|
||||
# return WebGUI::Privilege::insufficient() unless $self->canEdit;
|
||||
# $self->getAdminConsole->setHelp("collaboration add/edit", "Asset_Collaboration");
|
||||
# return $self->getAdminConsole->render($self->getEditForm->print,"Edit Collaboration System");
|
||||
#}
|
||||
|
||||
#-------------------------------------------------------------------
|
||||
|
||||
=head2 www_search ( )
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue