Internal
Public Access
Default task sort to due date instead of raw model order
The "Default" option cleared the sort param and fell back to the model's Meta.ordering (sort_order, -priority, due_date, created_at), which read as broken/unsorted to users. Default is now due date (earliest first), matching the existing due_date sort option. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
289b5f3856
commit
a2bc5de205
+1
-1
@@ -232,7 +232,7 @@ class DashboardView(View):
|
|||||||
current_filter = request.GET.get('filter', 'all')
|
current_filter = request.GET.get('filter', 'all')
|
||||||
current_tag_id = request.GET.get('tag')
|
current_tag_id = request.GET.get('tag')
|
||||||
selected_task_id = request.GET.get('selected')
|
selected_task_id = request.GET.get('selected')
|
||||||
current_sort = request.GET.get('sort', 'default')
|
current_sort = request.GET.get('sort', 'due_date')
|
||||||
|
|
||||||
# Base query
|
# Base query
|
||||||
tasks = Task.objects.filter(
|
tasks = Task.objects.filter(
|
||||||
|
|||||||
@@ -9,7 +9,6 @@
|
|||||||
<div style="display: flex; align-items: center; gap: var(--space-md);">
|
<div style="display: flex; align-items: center; gap: var(--space-md);">
|
||||||
<span class="task-count">{{ tasks|length }} task{{ tasks|length|pluralize }}</span>
|
<span class="task-count">{{ tasks|length }} task{{ tasks|length|pluralize }}</span>
|
||||||
<select id="sort-select" onchange="updateSort()" style="padding: 4px 8px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface); color: var(--text);">
|
<select id="sort-select" onchange="updateSort()" style="padding: 4px 8px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface); color: var(--text);">
|
||||||
<option value="default" {% if current_sort == 'default' %}selected{% endif %}>Default</option>
|
|
||||||
<option value="due_date" {% if current_sort == 'due_date' %}selected{% endif %}>Due Date (Earliest)</option>
|
<option value="due_date" {% if current_sort == 'due_date' %}selected{% endif %}>Due Date (Earliest)</option>
|
||||||
<option value="due_date_desc" {% if current_sort == 'due_date_desc' %}selected{% endif %}>Due Date (Latest)</option>
|
<option value="due_date_desc" {% if current_sort == 'due_date_desc' %}selected{% endif %}>Due Date (Latest)</option>
|
||||||
<option value="priority" {% if current_sort == 'priority' %}selected{% endif %}>Priority (High to Low)</option>
|
<option value="priority" {% if current_sort == 'priority' %}selected{% endif %}>Priority (High to Low)</option>
|
||||||
@@ -76,7 +75,7 @@ if (timerDisplay) {
|
|||||||
function updateSort() {
|
function updateSort() {
|
||||||
const sortValue = document.getElementById('sort-select').value;
|
const sortValue = document.getElementById('sort-select').value;
|
||||||
const url = new URL(window.location.href);
|
const url = new URL(window.location.href);
|
||||||
if (sortValue === 'default') {
|
if (sortValue === 'due_date') {
|
||||||
url.searchParams.delete('sort');
|
url.searchParams.delete('sort');
|
||||||
} else {
|
} else {
|
||||||
url.searchParams.set('sort', sortValue);
|
url.searchParams.set('sort', sortValue);
|
||||||
|
|||||||
Reference in New Issue
Block a user