Private
Public Access
1
0

form improvements

This commit is contained in:
Sander Roosendaal
2021-03-26 02:44:39 +01:00
parent 3bdcac6963
commit cf4dd9e128
3 changed files with 24 additions and 10 deletions

View File

@@ -60,35 +60,45 @@ class FlexibleDecimalField(forms.DecimalField):
class InstantPlanSelectForm(forms.Form):
datechoices = (
('start date','startdate'),
('end date', 'enddate'),
('startdate','start date'),
('enddate', 'end date'),
('target','target')
)
name = forms.CharField(max_length=255,label='Plan Name',required=False)
startdate = forms.DateField(
initial=timezone.now()-datetime.timedelta(days=15),
initial=timezone.now(),
# widget=SelectDateWidget(years=range(1990,2050)),
widget=AdminDateWidget(), #format='%Y-%m-%d'),
label='Start Date')
enddate = forms.DateField(
initial=timezone.now(),
initial=timezone.now()+datetime.timedelta(days=21),
widget=AdminDateWidget(), #format='%Y-%m-%d'),
label='End Date')
target = forms.ChoiceField(required=False)
datechoice = forms.ChoiceField(choices=datechoices,initial='enddate',label='Plan by target, start or end date')
datechoice = forms.ChoiceField(choices=datechoices,initial='enddate',label='Plan by target, start or end date',
widget=forms.RadioSelect)
notes = forms.CharField(required=False,
max_length=200,label='Course Notes',
widget=forms.Textarea)
def __init__(self, *args, **kwargs):
targets = kwargs.pop('targets',None)
instantplan = kwargs.pop('instantplan',None)
super(InstantPlanSelectForm, self).__init__(*args, **kwargs)
if targets:
targetchoices = [(x.id,x) for x in targets]
targetchoices.append((None,'---'))
self.fields['target'].choices = targetchoices
else:
datechoices = (
('startdate','start date'),
('enddate', 'end date'),
)
self.fields['datechoice'].choices = datechoices
self.fields['datechoice'].label = 'Plan by start or end date'
self.fields.pop('target')
if instantplan:
self.fields['enddate'].initial = timezone.now()+datetime.timedelta(days=instantplan.duration)