agateblue / agateblue/django-dynamic-preferences

Add optional "ordering" parameter to Section() and BasePreferenceType() for easier

Open
#90 2 comments 3 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
359
Forks
86
PR merge metrics
No merged PRs in 30d

Description

Right now, both sections and preferences are listed in the order in which they are discovered and loaded into the dynamic preferences registry. However, in a project with multiple apps, it is not always possible to order the apps in `INSTALLED_APPS` so that the sections and individual preferences show up in a sensible order. It is not necessarily desirable to build a form that explicitly orders these preferences, either, since that creates dependencies between otherwise independent apps. Having some more direct control over the display order of both sections and individual preferences would be particularly helpful in these instances.

Default behavior should probably be that preferences without an explicit order value are either displayed last, or (perhaps preferably) are assigned a specific value, so that preferences can be easily ordered to show up either first or last without requiring the ordering to be explicitly defined for each preference. Ties can be broken in the order of discovery, so the existing ordering is preserved in the default situation of no order parameters specified.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.