class Meta: model = Poll fields = ['name', 'start', 'end', 'valid_groups', 'description'] widgets = { 'start': SplitSelectDateTimeWidget(), 'end': SplitSelectDateTimeWidget() }
class Meta: model = Event fields = ['name', 'start', 'end', 'venue', 'region', 'owner', 'country', 'city', 'lat', 'lon', 'external_link', 'planning_pad_url', 'timezone', 'estimated_attendance', 'description', 'extra_content', 'hashtag', 'mozilla_event', 'swag_bug', 'budget_bug', 'categories', 'goals'] widgets = {'lat': forms.HiddenInput(attrs={'id': 'lat'}), 'lon': forms.HiddenInput(attrs={'id': 'lon'}), 'start': SplitSelectDateTimeWidget(), 'end': SplitSelectDateTimeWidget()}
def __init__(self, *args, **kwargs): """Initialize form. Dynamically set some fields of the form. """ super(PollEditForm, self).__init__(*args, **kwargs) instance = self.instance # Set the year portion of the widget end_year = getattr(self.instance.end, 'year', now().year) self.fields['end_form'] = forms.DateTimeField( widget=SplitSelectDateTimeWidget(years=range( end_year, now().year + 10), minute_step=5), validators=[validate_datetime]) if self.instance.end: self.fields['end_form'].initial = instance.end
def __init__(self, *args, **kwargs): """Initialize form. Dynamically set some fields of the form. """ self.range_poll_formset = kwargs.pop('range_poll_formset') self.radio_poll_formset = kwargs.pop('radio_poll_formset') super(PollAddForm, self).__init__(*args, **kwargs) instance = self.instance # Set the year portion of the widget start_year = getattr(self.instance.start, 'year', now().year) self.fields['start_form'] = forms.DateTimeField( widget=SplitSelectDateTimeWidget(years=range( start_year, now().year + 10), minute_step=5), validators=[validate_datetime]) if self.instance.start: self.fields['start_form'].initial = instance.start
def __init__(self, *args, **kwargs): """Initialize form. Dynamically set some fields of the form. """ super(PollEditForm, self).__init__(*args, **kwargs) instance = self.instance # Set the year portion of the widget now = datetime.utcnow() end_year = min(getattr(self.instance.end, 'year', now.year), now.year - 1) self.fields['end_form'] = forms.DateTimeField( widget=SplitSelectDateTimeWidget(years=range( end_year, now.year + 10), minute_step=5), validators=[validate_datetime]) if self.instance.end: # Convert to server timezone naive_time = make_naive(instance.end, pytz.UTC) server_time = datetime2pdt(naive_time) self.fields['end_form'].initial = server_time
def __init__(self, *args, **kwargs): """Initialize form. Dynamically set some fields of the form. """ self.range_poll_formset = kwargs.pop('range_poll_formset') self.radio_poll_formset = kwargs.pop('radio_poll_formset') super(PollAddForm, self).__init__(*args, **kwargs) instance = self.instance # Set the year portion of the widget now = datetime.utcnow() start_year = min(getattr(self.instance.start, 'year', now.year), now.year - 1) self.fields['start_form'] = forms.DateTimeField( widget=SplitSelectDateTimeWidget(years=range( start_year, now.year + 10), minute_step=5), validators=[validate_datetime]) if self.instance.start: naive_time = make_naive(instance.start, pytz.UTC) server_time = datetime2pdt(naive_time) self.fields['start_form'].initial = server_time
class Meta: model = Poll fields = ['name', 'end', 'description', 'comments_allowed'] widgets = {'end': SplitSelectDateTimeWidget()}
def __init__(self, *args, **kwargs): """Initialize form. Dynamically set choices for country field. """ if 'editable_owner' in kwargs: self.editable_owner = kwargs['editable_owner'] del (kwargs['editable_owner']) super(EventForm, self).__init__(*args, **kwargs) # Dynamic countries field. countries = product_details.get_regions('en').values() countries.sort() country_choices = ([('', "Country")] + [(country, country) for country in countries]) self.fields['country'].choices = country_choices # Dynamic owner field. if self.editable_owner: self.fields['owner_form'] = forms.ModelChoiceField( queryset=User.objects.filter( userprofile__registration_complete=True, groups__name='Rep'), empty_label='Owner', initial=self.instance.owner.pk) else: self.fields['owner_form'] = forms.CharField( required=False, initial=get_full_name(self.instance.owner), widget=forms.TextInput(attrs={ 'readonly': 'readonly', 'class': 'input-text big' })) instance = self.instance # Dynamically set the year portion of the datetime widget now = datetime.now() start_year = min(getattr(self.instance.start, 'year', now.year), now.year - 1) end_year = min(getattr(self.instance.end, 'year', now.year), now.year - 1) self.fields['start_form'] = forms.DateTimeField( widget=SplitSelectDateTimeWidget(years=range( start_year, start_year + 10), minute_step=5), validators=[validate_datetime]) self.fields['end_form'] = forms.DateTimeField( widget=SplitSelectDateTimeWidget(years=range( end_year, end_year + 10), minute_step=5), validators=[validate_datetime]) # Make times local to venue if self.instance.start: start = make_naive(instance.local_start, timezone(instance.timezone)) self.fields['start_form'].initial = start if self.instance.end: end = make_naive(instance.local_end, timezone(instance.timezone)) self.fields['end_form'].initial = end # Use of intermediate fields to translate between bug.id and # bug.bug_id if instance.budget_bug: self.fields['budget_bug_form'].initial = instance.budget_bug.bug_id if instance.swag_bug: self.fields['swag_bug_form'].initial = instance.swag_bug.bug_id