Skip to content

Commit

Permalink
#90 closed: "Clean up Template class"
Browse files Browse the repository at this point in the history
  • Loading branch information
ignatov committed Jul 28, 2011
1 parent 999b1bc commit d1bf74d
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 18 deletions.
18 changes: 18 additions & 0 deletions src/main/scala/scala/tools/colladoc/model/mapper/Discussion.scala
Original file line number Diff line number Diff line change
Expand Up @@ -85,4 +85,22 @@ class Discussion extends LongKeyedMapper[Discussion] with IdPK {

object Discussion extends Discussion with LongKeyedMetaMapper[Discussion] {
override def dbTableName = "discussions"

/** Get discussion top level comments for template. */
def topLevelComments(qualifiedName: String) = findAll(
By(Discussion.qualifiedName, qualifiedName),
NullRef(Discussion.parent),
OrderBy(Discussion.dateTime, Ascending))

/** Get discussion comments count for template. */
def count(qualifiedName: String): Long = count(
By(Discussion.qualifiedName, qualifiedName),
By(Discussion.valid, true))

/** Get replies for discussion current comment. */
def replies(d: Discussion) = Discussion.findAll(
By(Discussion.qualifiedName, d.qualifiedName.is),
NotNullRef(Discussion.parent),
By(Discussion.parent, d),
OrderBy(Discussion.dateTime, Ascending))
}
24 changes: 6 additions & 18 deletions src/main/scala/scala/tools/colladoc/page/Template.scala
Original file line number Diff line number Diff line change
Expand Up @@ -160,33 +160,21 @@ class Template(tpl: DocTemplateEntity) extends tools.nsc.doc.html.page.Template(
/** Render discussion block. */
private def discussion: NodeSeq =
<div id="discussion">
<h3 id="discussion_header">Discussion ({discussionCommentsCount})</h3>
<h3 id="discussion_header">Discussion ({ Discussion.count(tpl.qualifiedName) })</h3>
<div id="discussion_wrapper">
<ul id="discussion_thread">
{discussionComments map (d => discussionToHtmlWithActions(d, 0))}
{
Discussion.topLevelComments(tpl.qualifiedName) map {
d => discussionToHtmlWithActions(d, 0) }
}
</ul>
{ if (!User.banned_?) discussionCommentAddButton }
</div>
</div>

/** Get discussion comments for current template. */
private def discussionComments = Discussion.findAll(
By(Discussion.qualifiedName, tpl.qualifiedName),
NullRef(Discussion.parent),
OrderBy(Discussion.dateTime, Ascending))

/** Get discussion comments count for current template. */
private def discussionCommentsCount = Discussion.count(
By(Discussion.qualifiedName, tpl.qualifiedName),
By(Discussion.valid, true))

/** Render discussion comment. */
def discussionToHtml(d: Discussion, level: Int = 0) = {
val replies: List[Discussion] = Discussion.findAll(
By(Discussion.qualifiedName, tpl.qualifiedName),
NotNullRef(Discussion.parent),
By(Discussion.parent, d),
OrderBy(Discussion.dateTime, Ascending))
val replies = Discussion.replies(d)

<xml:group>
{
Expand Down

0 comments on commit d1bf74d

Please sign in to comment.