@@ -135,7 +135,13 @@
- {% for item in items %}{% include 'core/_item.html' %}{% empty %}
{% trans "Nothing here yet." %}
{% endfor %}
+ {% if active_status == 'due' %}
+ {% for item in due_now_items %}{% include 'core/_item.html' %}{% empty %}
{% trans "No due tasks." %}
{% endfor %}
+ {% if upcoming_due_items %}
{% trans "Due in the next 7 days" %}
{% endif %}
+ {% for item in upcoming_due_items %}{% include 'core/_item.html' %}{% endfor %}
+ {% else %}
+ {% for item in items %}{% include 'core/_item.html' %}{% empty %}
{% trans "Nothing here yet." %}
{% endfor %}
+ {% endif %}
diff --git a/core/templates/core/settings.html b/core/templates/core/settings.html
index 50660ec..d09094c 100644
--- a/core/templates/core/settings.html
+++ b/core/templates/core/settings.html
@@ -35,7 +35,7 @@
{% csrf_token %}
{% for field in preference_form %}
- {% if field.name == 'language' or field.name == 'default_item_kind' or field.name == 'overview_lines' %}
+ {% if field.name == 'language' or field.name == 'overview_lines' %}
{{ field }}
{% endif %}
{% endfor %}
diff --git a/core/tests.py b/core/tests.py
index dff5391..da94510 100644
--- a/core/tests.py
+++ b/core/tests.py
@@ -1,11 +1,13 @@
import shutil
import tempfile
+from datetime import datetime, time, timedelta
from unittest.mock import patch
from django.contrib.auth import get_user_model
from django.core.files.uploadedfile import SimpleUploadedFile
from django.test import TestCase, override_settings
from django.urls import reverse
+from django.utils import timezone
from .models import ApiKey, Attachment, Collection, CollectionSection, Item, Tag, Team, TeamMembership, UserPreference
from .templatetags.markdown_extras import markdown, markdown_title
@@ -49,6 +51,11 @@ class DefaultItemKindTests(TestCase):
self.assertRedirects(response, reverse('index'))
self.assertEqual(Item.objects.get().kind, Item.Kind.TODO)
+ def test_quick_create_can_override_default_from_composer(self):
+ response = self.client.post(reverse('index'), {'content': 'Composer note', 'default_item_kind': Item.Kind.NOTE})
+ self.assertRedirects(response, reverse('index'))
+ self.assertEqual(Item.objects.get().kind, Item.Kind.NOTE)
+
def test_explicit_command_overrides_default(self):
kind, _, content, _ = parse_quick_content('/note Explicit note', Item.Kind.TODO)
self.assertEqual(kind, Item.Kind.NOTE)
@@ -203,7 +210,8 @@ class NavigationAndLayoutTests(TestCase):
def test_preference_selects_are_stacked(self):
response = self.client.get(reverse('settings'))
preferences = response.content.decode().split('id="preferences"', 1)[1].split('name="due_first"', 1)[0]
- self.assertEqual(preferences.count('