Don't declare a connection scheme - let the application's default connection decide.
Models, Managers and relevant migrations for confidential objects.
Confidential reason editing access via admin.
Confidential reason in Issue and Proposal forms.
IssueMixin and ProposalMixin use the new object_access_control method on their model managers.
A set of tests to prove the basic model relations logic for confidential objects.
Small improvement in referencing the model.
Settings required for the new confidential access feature. This list bootstraps each new community with a set of reasons for confidentiality.
New run of locale strings for the new code additions.
Basic background style for confidential objects.
Example of confidential object styled for UI
Changes to query strategy related to items and menus. Had to deprecate a method, and remove some logic out of templates and into view, all so we can use the object_access_control method to filter query sets based on the user.
Color for confidential in UI areas where background is not appropriate.
Custom SearchQuerySet that works on the same pattern as the new Confidential object manager. Prevents confidential objects appearing in search results for the wrong users.
Fix bug in membership lookup.
Changes to various class methods so that we can get the user and community at runtime from request, and apply access filtering for confidential objects.
Changes so we can chain custom methods on managers. This should be applied across the board, but this demonstrates the concept. We need to be able to do things like chain `open`, `active`, and `object_access_control`, and this enables that.
Changes for the new user and community objects that need to be passed around for object access control
Update form object.
Changes to templates to support object access control on related objects - basically - moved the logic down to the view layer.