diff --git a/core/forms.py b/core/forms.py
index c572c04..d7ff16c 100644
--- a/core/forms.py
+++ b/core/forms.py
@@ -57,7 +57,7 @@ class UserSettingsForm(forms.ModelForm):
class UserPreferenceForm(forms.ModelForm):
class Meta:
model = UserPreference
- fields = ['language', 'show_notes', 'show_open_todos', 'show_done_todos', 'show_links', 'due_first', 'overview_lines']
+ fields = ['language', 'show_notes', 'show_open_todos', 'show_done_todos', 'show_links', 'due_first', 'overview_lines', 'due_time_suggestions']
labels = {
'language': _('Language'),
'show_notes': _('Show notes'),
@@ -66,10 +66,12 @@ class UserPreferenceForm(forms.ModelForm):
'show_links': _('Show links'),
'due_first': _('Always show due items first'),
'overview_lines': _('Lines in overview'),
+ 'due_time_suggestions': _('Time suggestions for tasks'),
}
widgets = {
'language': forms.Select(attrs={'class': 'form-select'}),
'overview_lines': forms.NumberInput(attrs={'class': 'form-control', 'min': 1, 'max': 50}),
+ 'due_time_suggestions': forms.Textarea(attrs={'class': 'form-control', 'rows': 3, 'placeholder': '08:00 Morgen\n12:00 Mittag\n17:00 Abend'}),
}
diff --git a/core/migrations/0024_userpreference_due_time_suggestions.py b/core/migrations/0024_userpreference_due_time_suggestions.py
new file mode 100644
index 0000000..b416628
--- /dev/null
+++ b/core/migrations/0024_userpreference_due_time_suggestions.py
@@ -0,0 +1,18 @@
+# Generated by Pi coding agent
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('core', '0023_item_assignee'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='userpreference',
+ name='due_time_suggestions',
+ field=models.TextField(blank=True, default=''),
+ ),
+ ]
diff --git a/core/models.py b/core/models.py
index 45a1738..a23c0ca 100644
--- a/core/models.py
+++ b/core/models.py
@@ -355,6 +355,7 @@ class UserPreference(models.Model):
show_journal = models.BooleanField(default=False)
due_first = models.BooleanField(default=True)
overview_lines = models.PositiveSmallIntegerField(default=4)
+ due_time_suggestions = models.TextField(blank=True, default='')
def __str__(self):
return f'Einstellungen {self.user}'
diff --git a/core/templates/core/_edit_form.html b/core/templates/core/_edit_form.html
index 354591f..6aa2bc9 100644
--- a/core/templates/core/_edit_form.html
+++ b/core/templates/core/_edit_form.html
@@ -22,7 +22,7 @@
{% if item.visibility == 'team' %}{% endif %}
- {% if item.kind == 'todo' %}
{% trans "Show in overview" %}
diff --git a/core/tests.py b/core/tests.py
index 5ce3a19..93ad187 100644
--- a/core/tests.py
+++ b/core/tests.py
@@ -392,8 +392,42 @@ class NavigationAndLayoutTests(TestCase):
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('