Opened 15 years ago
Closed 15 years ago
#11174 closed (invalid)
CommentModerator's moderate_after does not accept 0.
Reported by: | Owned by: | nobody | |
---|---|---|---|
Component: | Uncategorized | Version: | dev |
Severity: | Keywords: | ||
Cc: | Triage Stage: | Unreviewed | |
Has patch: | no | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description
the CommentModerator has two fields which together allow you to make comments default to non-public X-days after the related object is posted. however, it doesn't allow for that X to be zero.
from django/contrib/comments/moderation.py:223
if self.auto_moderate_field and self.moderate_after:
should probably read:
if self.auto_moderate_field and self.moderate_after is not None:
this would allow for comments to always be moderated. (perhaps I'm missing the "correct" way to have all comments non-public by default. but none the less, the principle of least surprise says that this should work with a zero.
The correct solution is to write a subclass of
CommentModerator
which overrides themoderate()
method to always returnTrue
(see the documentation for details). Supporting a zero-length period in which comments can be posted unmoderated really isn't something that should work here.