Advertisement
Guest User

Untitled

a guest
Apr 7th, 2019
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.90 KB | None | 0 0
  1. from django import forms
  2. from .models import *
  3. from datetime import datetime as dt
  4.  
  5. class ProjectForm(forms.ModelForm):
  6. class Meta:
  7. model = Project
  8. fields = ['colour', 'name']
  9. widgets = {
  10. 'colour': forms.TextInput(attrs={'class': 'form-control', 'type': 'color'}),
  11. 'name': forms.TextInput(attrs={'class': 'form-control', 'placeholder': 'project name', 'autofocus': 'autofocus'})
  12. }
  13.  
  14.  
  15. class TaskForm(forms.ModelForm):
  16. date_until = forms.DateTimeField(
  17. widget=forms.DateTimeInput(attrs={
  18. 'class': 'form-control',
  19. 'type': 'datetime-local',
  20. 'min': dt.now().strftime('%Y-%m-%dT%H:%M'), # realize jQuery
  21. 'max': dt.now().replace(year=dt.now().year+2).strftime('%Y-%m-%dT%H:%M') # realize jQuery
  22. }),
  23. initial=dt.now().strftime('%Y-%m-%dT%H:%M')
  24. )
  25.  
  26. def __init__(self, user=None, *args, **kwargs):
  27. super().__init__(*args, **kwargs)
  28. if user and Project.objects.filter(user=user).exists():
  29. self.fields['project'] = forms.ModelChoiceField(
  30. empty_label='Choose the project',
  31. queryset=Project.objects.filter(user=user),
  32. widget=forms.Select(attrs={
  33. 'class': 'form-control'
  34. })
  35. )
  36. else:
  37. del self.fields['project']
  38.  
  39. class Meta:
  40. model = Task
  41. fields = ['name', 'priority', 'date_until', 'project']
  42. widgets = {
  43. 'name': forms.TextInput(attrs={'class': 'form-control', 'placeholder': 'task description', 'autofocus': 'autofocus'}),
  44. 'priority': forms.Select(attrs={'class': 'form-control'}),
  45. # 'date_until': forms.DateTimeInput(attrs={'class': 'form-control', 'type': 'datetime-local'}),
  46. # 'project': forms.Select(attrs={'class': 'form-control'}),
  47. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement