36 lines
1.4 KiB
Python
36 lines
1.4 KiB
Python
from django import forms
|
|
from django.contrib.auth.forms import UserCreationForm
|
|
from django.contrib.auth.models import User
|
|
from .models import MoodEntry, Activity
|
|
|
|
class DateRangeFilterForm(forms.Form):
|
|
start_date = forms.DateField(widget=forms.DateInput(attrs={'type': 'date', 'class': 'form-control'}))
|
|
end_date = forms.DateField(widget=forms.DateInput(attrs={'type': 'date', 'class': 'form-control'}))
|
|
|
|
class SignUpForm(UserCreationForm):
|
|
email = forms.EmailField(max_length=254, help_text='Required. Inform a valid email address.')
|
|
|
|
class Meta:
|
|
model = User
|
|
fields = ('username', 'email')
|
|
|
|
class MoodEntryForm(forms.ModelForm):
|
|
activities = forms.ModelMultipleChoiceField(
|
|
queryset=Activity.objects.all(),
|
|
widget=forms.CheckboxSelectMultiple,
|
|
required=False
|
|
)
|
|
|
|
class Meta:
|
|
model = MoodEntry
|
|
fields = ['mood_score', 'note', 'activities']
|
|
widgets = {
|
|
'mood_score': forms.NumberInput(attrs={'class': 'form-control', 'min': 1, 'max': 10}),
|
|
'note': forms.Textarea(attrs={'class': 'form-control', 'rows': 4}),
|
|
}
|
|
|
|
class ContactForm(forms.Form):
|
|
name = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'class': 'form-control'}))
|
|
email = forms.EmailField(widget=forms.EmailInput(attrs={'class': 'form-control'}))
|
|
message = forms.CharField(widget=forms.Textarea(attrs={'class': 'form-control', 'rows': 5}))
|