The logic to determine whether a Node is displayed or
visible is scattered in both the model and the template.
We should refactor this logic into a function or a method (maybe on
the Namespace class). This change should make it easier to
reason if or how to present a Node given the current
User while supporting Namespace options to
control behavior.
List of things that can effect how a Node is
presented:
disabled? (a disabled node should be set as
a placeholder)verified? (by default a
Namespace will display unverified Nodes)approved? (this matters if the
Namespace owner wants to approve all comments)Namespace?Namespace?By default a Namespace will display a Node
regardless of the state of its verified or
approved attributes: A Namespace owner may set
any of the following to True:
hide_until_approvedhide_unverifiedThis changes the behavior to hide nodes by default.