collaboration system in a much better place

This commit is contained in:
JT Smith 2005-02-12 16:42:20 +00:00
parent cf74e3386a
commit e6c38c85ad
4 changed files with 43 additions and 24 deletions

View file

@ -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 = '<a name="<tmpl_var assetId>"></a><tmpl_if session.var.adminOn><p><tmpl_var controls></p></tmpl_if>'.$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/\<div align="center"\>\s+\<a href=""\>-=:\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',

View file

@ -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, \

View file

@ -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")));
}

View file

@ -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"));
}