form improvements
This commit is contained in:
@@ -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)
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user