Add journal, editor, and overview improvements
This commit is contained in:
+30
-3
@@ -1,10 +1,22 @@
|
||||
from django import forms
|
||||
from django.contrib.auth.models import User
|
||||
from .models import ApiKey, Attachment, Item
|
||||
from .models import ApiKey, Attachment, Item, UserPreference
|
||||
|
||||
|
||||
class MultipleFileInput(forms.ClearableFileInput):
|
||||
allow_multiple_selected = True
|
||||
|
||||
|
||||
class MultipleFileField(forms.FileField):
|
||||
def clean(self, data, initial=None):
|
||||
if not data:
|
||||
return []
|
||||
files = data if isinstance(data, (list, tuple)) else [data]
|
||||
return [super(MultipleFileField, self).clean(file, initial) for file in files]
|
||||
|
||||
|
||||
class QuickItemForm(forms.ModelForm):
|
||||
files = forms.FileField(required=False, widget=forms.ClearableFileInput(attrs={'multiple': False}))
|
||||
files = MultipleFileField(required=False, widget=MultipleFileInput(attrs={'multiple': True}))
|
||||
|
||||
class Meta:
|
||||
model = Item
|
||||
@@ -21,7 +33,7 @@ class QuickItemForm(forms.ModelForm):
|
||||
|
||||
|
||||
class EditItemForm(forms.ModelForm):
|
||||
files = forms.FileField(required=False, widget=forms.ClearableFileInput())
|
||||
files = MultipleFileField(required=False, widget=MultipleFileInput(attrs={'multiple': True}))
|
||||
|
||||
class Meta:
|
||||
model = Item
|
||||
@@ -44,6 +56,21 @@ class UserSettingsForm(forms.ModelForm):
|
||||
widgets = {field: forms.TextInput(attrs={'class': 'form-control'}) for field in ['first_name', 'last_name', 'email']}
|
||||
|
||||
|
||||
class UserPreferenceForm(forms.ModelForm):
|
||||
class Meta:
|
||||
model = UserPreference
|
||||
fields = ['show_notes', 'show_open_todos', 'show_done_todos', 'show_links', 'show_journal', 'overview_lines']
|
||||
labels = {
|
||||
'show_notes': 'Notizen anzeigen',
|
||||
'show_open_todos': 'Offene Aufgaben anzeigen',
|
||||
'show_done_todos': 'Erledigte Aufgaben anzeigen',
|
||||
'show_links': 'Links anzeigen',
|
||||
'show_journal': 'Journal anzeigen',
|
||||
'overview_lines': 'Zeilen in der Übersicht',
|
||||
}
|
||||
widgets = {'overview_lines': forms.NumberInput(attrs={'class': 'form-control', 'min': 1, 'max': 50})}
|
||||
|
||||
|
||||
class ApiKeyForm(forms.ModelForm):
|
||||
class Meta:
|
||||
model = ApiKey
|
||||
|
||||
Reference in New Issue
Block a user