-
Piotr Gawron authoredPiotr Gawron authored
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
contact_attempt_forms.py 1.46 KiB
from django import forms
from django.forms import ModelForm
from web.forms.forms import DATETIMEPICKER_DATE_ATTRS
from web.models import ContactAttempt, Worker
class ContactAttemptForm(ModelForm):
datetime_when = forms.DateTimeField(label='When? (YYYY-MM-DD HH:MM)',
widget=forms.DateTimeInput(DATETIMEPICKER_DATE_ATTRS)
)
def __init__(self, *args, **kwargs):
user = kwargs.pop('user', None)
if user is None:
raise TypeError("User not defined")
self.user = Worker.get_by_user(user)
if self.user is None:
raise TypeError("Worker not defined for: " + user.username)
super(ContactAttemptForm, self).__init__(*args, **kwargs)
class ContactAttemptAddForm(ContactAttemptForm):
class Meta:
model = ContactAttempt
fields = '__all__'
def __init__(self, *args, **kwargs):
subject = kwargs.pop('subject', None)
super(ContactAttemptAddForm, self).__init__(*args, **kwargs)
self.fields['subject'].initial = subject.id
self.fields['subject'].disabled = True
self.fields['worker'].initial = self.user
class ContactAttemptEditForm(ContactAttemptForm):
class Meta:
model = ContactAttempt
fields = '__all__'
def __init__(self, *args, **kwargs):
super(ContactAttemptEditForm, self).__init__(*args, **kwargs)
self.fields['subject'].disabled = True