From e6c38c85ad0aa8004a662fa62a5fb1519bd27883 Mon Sep 17 00:00:00 2001 From: JT Smith Date: Sat, 12 Feb 2005 16:42:20 +0000 Subject: [PATCH] collaboration system in a much better place --- docs/upgrades/upgrade_6.2.11-6.3.0.pl | 24 ++++++++++++++++ etc/WebGUI.conf.original | 2 +- lib/WebGUI/Asset/Post.pm | 7 +++-- lib/WebGUI/Asset/Wobject/Collaboration.pm | 34 ++++++++++------------- 4 files changed, 43 insertions(+), 24 deletions(-) diff --git a/docs/upgrades/upgrade_6.2.11-6.3.0.pl b/docs/upgrades/upgrade_6.2.11-6.3.0.pl index 3b514a8eb..b82d2f10b 100644 --- a/docs/upgrades/upgrade_6.2.11-6.3.0.pl +++ b/docs/upgrades/upgrade_6.2.11-6.3.0.pl @@ -681,8 +681,11 @@ my $sth = WebGUI::SQL->read("select assetId,template,namespace from template whe while (my ($id, $template, $namespace) = $sth->array) { if ($namespace eq "Forum") { $namespace = "Collaboration"; + $template = '

'.$template; } elsif ($namespace eq "Forum/PostForm") { $namespace = "Collaboration/PostForm"; + } elsif ($namespace eq "Forum/Search") { + $namespace = "Collaboration/Search"; } elsif ($namespace eq "Forum/Notification") { $namespace = "Collaboration/Notification"; } elsif ($namespace eq "Forum/Thread") { @@ -734,6 +737,24 @@ while (my ($id, $template, $namespace) = $sth->array) { $template =~ s/thread\.last\.user.id/last.ownerUserId/ixsg; $template =~ s/thread\.last\.user.isVisitor/last.user.isVisitor/ixsg; $template =~ s/thread\.last\.status/last.status/ixsg; + $template =~ s/post\.subject\.label/subject.label/ixsg; + $template =~ s/post\.subject/title/ixsg; + $template =~ s/post\.message/content/ixsg; + $template =~ s/post\.time\.value/timeSubmitted.human/ixsg; + $template =~ s/post\.date\.value/dateSubmitted.human/ixsg; + $template =~ s/post\.date\.epoch/dateSubmitted/ixsg; + $template =~ s/post\.date\.label/date.label/ixsg; + $template =~ s/post\.rating\.label/rating.label/ixsg; + $template =~ s/post\.rating\.value/rating/ixsg; + $template =~ s/form\.begin/form.header/ixsg; + $template =~ s/form\.end/form.footer/ixsg; + $template =~ s/message\.form/content.form/ixsg; + $template =~ s/subject\.form/title.form/ixsg; + $template =~ s/newpost\.header/newpost.header.label/ixsg; + $template =~ s/newpost\.isReply/isReply/ixsg; + $template =~ s/newpost\.isEdit/isEdit/ixsg; + $template =~ s/newpost\.isNewThread/isNewThread/ixsg; + $template =~ s/newpost\.isNewMessage/isNewPost/ixsg; $template =~ s/firstPage/pagination.firstPage/ixsg; $template =~ s/lastPage/pagination.lastPage/ixsg; $template =~ s/nextPage/pagination.nextPage/ixsg; @@ -742,6 +763,8 @@ while (my ($id, $template, $namespace) = $sth->array) { $template =~ s/multiplePages/pagination.pageCount.isMultiple/ixsg; $template =~ s/numberOfPages/pagination.pageCount/ixsg; $template =~ s/pageNumber/pagination.pageNumber/ixsg; + $template =~ s/thread_loop/post_loop/ixsg; + $template =~ s/\
\s+\-=:\s+:=-\<\/a\>\s+\<\/div\>//ixsg; WebGUI::SQL->write("update template set template=".quote($template).", namespace=".quote($namespace)." where assetId=".quote($id)); } $sth->finish; @@ -851,6 +874,7 @@ $conf->set("assets"=>[ 'WebGUI::Asset::Wobject::SQLReport', 'WebGUI::Asset::Wobject::Survey', 'WebGUI::Asset::Wobject::Product', + 'WebGUI::Asset::Wobject::Collaboration', 'WebGUI::Asset::Redirect', 'WebGUI::Asset::Template', 'WebGUI::Asset::FilePile', diff --git a/etc/WebGUI.conf.original b/etc/WebGUI.conf.original index aaa15525b..5157ed387 100644 --- a/etc/WebGUI.conf.original +++ b/etc/WebGUI.conf.original @@ -2,7 +2,7 @@ assets = WebGUI::Asset::File::Image, \ WebGUI::Asset::File, \ WebGUI::Asset::Snippet, \ WebGUI::Asset::Redirect, \ - WebGUI::Asset::Wobject::USS, \ + WebGUI::Asset::Wobject::Collaboration, \ WebGUI::Asset::Wobject::Product, \ WebGUI::Asset::Wobject::Poll, \ WebGUI::Asset::Wobject::SyndicatedContent, \ diff --git a/lib/WebGUI/Asset/Post.pm b/lib/WebGUI/Asset/Post.pm index 1f4c7784a..51f21e736 100644 --- a/lib/WebGUI/Asset/Post.pm +++ b/lib/WebGUI/Asset/Post.pm @@ -367,6 +367,7 @@ sub getTemplateVars { # $var{"attachment.icon"} = $file->getIcon; # $var{"attachment.name"} = $file->getFilename; # } + return \%var; } #------------------------------------------------------------------- @@ -705,7 +706,7 @@ sub www_edit { value=>$session{form}{'lock'} }); } - if ($session{form}{className} eq "WebGUI::Asset::Post") { # new reply + if ($session{form}{class} eq "WebGUI::Asset::Post") { # new reply return $self->getThread->getParent->processStyle(WebGUI::Privilege::insufficient()) unless ($self->canReply); $var{isReply} = 1; if ($session{form}{content} || $session{form}{title}) { @@ -720,7 +721,7 @@ sub www_edit { name=>"subscribe", value=>$session{form}{subscribe} }); - } elsif ($session{form}{className} eq "WebGUI::Asset::Post::Thread") { # new thread + } elsif ($session{form}{class} eq "WebGUI::Asset::Post::Thread") { # new thread return $self->getThread->getParent->processStyle(WebGUI::Privilege::insufficient()) unless ($self->getThread->getParent->canPost); $var{isNewThread} = 1; if ($self->getThread->getParent->canModerate) { @@ -824,7 +825,7 @@ sub www_edit { value => $self->getValue("startDate") }); $self->getThread->getParent->appendTemplateLabels(\%var); - return $self->getParent->processStyle($self->processTemplate(\%var,$self->getParent->get("submissionFormTemplateId"))); + return $self->getParent->processStyle($self->processTemplate(\%var,$self->getThread->getParent->get("postFormTemplateId"))); } diff --git a/lib/WebGUI/Asset/Wobject/Collaboration.pm b/lib/WebGUI/Asset/Wobject/Collaboration.pm index 6abc430fc..471c35da9 100644 --- a/lib/WebGUI/Asset/Wobject/Collaboration.pm +++ b/lib/WebGUI/Asset/Wobject/Collaboration.pm @@ -364,7 +364,8 @@ sub getEditForm { $tabform->getTab("display")->template( -value=>$self->getValue('collaborationTemplateId'), -namespace=>"Collaboration", - -label=>"Collaboration System Template" + -label=>"Collaboration System Template", + -name=>"collaborationTemplateId" ); $tabform->getTab("display")->template( -name=>"threadTemplateId", @@ -766,41 +767,34 @@ sub view { } my %var; $var{'user.canPost'} = $self->canPost; - $var{"post.url"} = $self->getNewThreadUrl; + $var{"add.url"} = $self->getNewThreadUrl; $var{"rss.url"} = $self->getRssUrl; $var{'user.isModerator'} = $self->canModerate; $var{'user.isVisitor'} = ($session{user}{userId} eq '1'); $var{'user.isSubscribed'} = $self->isSubscribed; - $var{'sortby.date.url'} = $self->getSortByUrl("date"); + $var{'sortby.date.url'} = $self->getSortByUrl("dateSubmitted"); $var{'sortby.lastreply.url'} = $self->getSortByUrl("lastreply"); $var{'sortby.views.url'} = $self->getSortByUrl("views"); $var{'sortby.replies.url'} = $self->getSortByUrl("replies"); $var{'sortby.rating.url'} = $self->getSortByUrl("rating"); WebGUI::Style::setLink($var{"rss.url"},{ rel=>'alternate', type=>'application/rss+xml', title=>'RSS' }); - #$var{"search.Form"} = WebGUI::Search::form({func=>'view',search=>1}); - #$var{"search.url"} = WebGUI::Search::toggleURL("func=view"); - my $constraints; - #if ($session{scratch}{search}) { - # $numResults = $session{scratch}{numResults}; - # $constraints = WebGUI::Search::buildConstraints([qw(Post.username asset.synopsis asset.title Post.content Post.userDefined1 Post.userDefined2 Post.userDefined3 Post.userDefined4 Post.userDefined5)]); -# } -# if ($constraints ne "") { - # $constraints = "Post.status='approved' and ".$constraints; -# } else { - $constraints = "(Post.status='approved' or (asset.ownerUserId=".quote($session{user}{userId})." and asset.ownerUserId<>'1')"; - if ($var{canModerate}) { - $constraints .= " or Post.status='pending'"; - } - $constraints .= ")"; - #} + $var{"search.url"} = $self->getSearchUrl; + $var{"subscribe.url"} = $self->getSubscribeUrl; + $var{"unsubscribe.url"} = $self->getUnsubscribeUrl; + my $constraints = "(Post.status='approved' or (asset.ownerUserId=".quote($session{user}{userId})." and asset.ownerUserId<>'1')"; + if ($var{canModerate}) { + $constraints .= " or Post.status='pending'"; + } + $constraints .= ")"; my $sql = "select * from Thread left join asset on Thread.assetId=asset.assetId left join Post on Post.assetId=asset.assetId - where Thread.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 $constraints order by ".$self->getValue("sortBy")." ".$self->getValue("sortOrder"); my $p = WebGUI::Paginator->new($self->getUrl,$self->get("threadsPerPage")); $self->appendPostListTemplateVars(\%var, $sql, $p); + $self->appendTemplateLabels(\%var); return $self->processTemplate(\%var,$self->get("collaborationTemplateId")); }