forms.py 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. '''
  2. @author: olivier.massot, 2018
  3. '''
  4. from django import forms
  5. from django.contrib.auth.forms import UserCreationForm
  6. from django.contrib.auth.models import User
  7. from martor.fields import MartorFormField
  8. from main.models import Story, Epic
  9. class RegisterForm(UserCreationForm):
  10. class Meta:
  11. model = User
  12. fields = ('username', 'first_name', 'last_name', 'email')
  13. def save(self, commit=True):
  14. user = super(RegisterForm, self).save(commit=False)
  15. user.first_name = self.cleaned_data["first_name"]
  16. user.last_name = self.cleaned_data["last_name"]
  17. user.email = self.cleaned_data["email"]
  18. if commit:
  19. user.save()
  20. class ProfileForm(forms.ModelForm):
  21. class Meta:
  22. model = User
  23. fields = ('username', 'first_name', 'last_name', 'email')
  24. class EpicForm(forms.ModelForm):
  25. description = MartorFormField(label="Description")
  26. class Meta:
  27. model = Epic
  28. fields = ('project', 'name', 'size', 'value', 'description')
  29. class StoryForm(forms.ModelForm):
  30. description = MartorFormField(label="Description")
  31. class Meta:
  32. model = Story
  33. widgets = {'epic': forms.HiddenInput()}
  34. fields = ('epic', 'name', 'description', 'assignees', 'sprints')
  35. def __init__(self, *args, **kwargs):
  36. super(StoryForm, self).__init__(*args, **kwargs)
  37. self.fields['assignees'].required = False
  38. self.fields['sprints'].required = False