summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--journal-content.lisp24
-rwxr-xr-xjournal.lisp3
2 files changed, 19 insertions, 8 deletions
diff --git a/journal-content.lisp b/journal-content.lisp
index 92c5d6c..630599e 100644
--- a/journal-content.lisp
+++ b/journal-content.lisp
@@ -154,15 +154,25 @@
(defgeneric comments-about (thing &key ordered-p))
(defgeneric (setf comments-about) (new-value thing &key ordered-p))
-(defmethod comments-about ((journal-entry journal-entry) &key ordered-p)
+(defmethod comments-about ((journal-entry journal-entry) &key ordered-p ham-p)
#.(locally-enable-sql-reader-syntax)
(prog1 (if ordered-p
- (select 'journal-comment
- :where [= [slot-value 'journal-comment 'entry-id]
- (id-of journal-entry)]
- :order-by '([date])
- :flatp t)
- (%comments-about journal-entry))
+ (if ham-p
+ (select 'journal-comment
+ :where [and [= [slot-value 'journal-comment 'entry-id]
+ (id-of journal-entry)]
+ [not [= [slot-value 'journal-comment 'spam-p]
+ "t"]]]
+ :order-by '([date])
+ :flatp t)
+ (select 'journal-comment
+ :where [= [slot-value 'journal-comment 'entry-id]
+ (id-of journal-entry)]
+ :order-by '([date])
+ :flatp t))
+ (if ham-p
+ (remove-if #'spamp (%comments-about journal-entry))
+ (%comments-about journal-entry)))
#.(restore-sql-reader-syntax-state)))
diff --git a/journal.lisp b/journal.lisp
index 8e612e5..1d9aa43 100755
--- a/journal.lisp
+++ b/journal.lisp
@@ -126,7 +126,8 @@
(with-slots (id title body categories date) journal-entry
(show-journal-entry-with-components id title body categories date
(comments-about journal-entry
- :ordered-p t)
+ :ordered-p t
+ :ham-p t)
comments-p)))