class DataqueryForm(forms.Form): FORMAT="%Y-%m-%d %H:%M:%S" td=datetime.datetime.utcnow() NOW=td.strftime(FORMAT) yd = datetime.datetime.utcnow() - datetime.timedelta(1) YESTERDAY=yd.strftime(FORMAT) starttime = forms.DateTimeField( initial=YESTERDAY) endtime = forms.DateTimeField( initial=NOW) sitename = forms.ChoiceField(choices=SITE_CHOICES) datatype = forms.ChoiceField(choices=DTYPE_CHOICES, initial="counts")
class MapParametersForm(forms.Form): "Класс формы для указания параметров карты" # device = forms.ModelChoiceField(Device.objects.all()) interval_begin = forms.DateTimeField(label="Начало периода", widget=forms.TextInput(attrs={"class" : "vDateField"}), help_text="гггг-мм-дд чч:мм:сс") interval_end = forms.DateTimeField(label="Конец периода", widget=forms.TextInput(attrs={"class" : "vDateField"}), help_text="гггг-мм-дд чч:мм:сс") def __init__(self, account, *args, **kwargs): """ Конструктор переопределен для создания поля "device", список значений для которого фильтруется в соответствии с текущим Аккаунтом """ super(MapParametersForm, self).__init__(*args, **kwargs) self.fields["device"] = forms.ModelChoiceField(Device.objects.filter(account__exact=account), label="Устройство")
#------------------------------------------------------------------------------ class ReportsForm(forms.Form): "Класс формы для отчета" report_kind = forms.ChoiceField(label="Вид отчета", choices=REPORT_KINDS, help_text="Выберите вид отчета") # device = forms.ModelChoiceField(queryset=Device.objects.filter()) interval_begin = forms.DateTimeField(label="Начало периода", widget=forms.TextInput(attrs={"class" : "vDateField"}), help_text="гггг-мм-дд чч:мм:сс") interval_end = forms.DateTimeField(label="Конец периода", widget=forms.TextInput(attrs={"class" : "vDateField"}), help_text="гггг-мм-дд чч:мм:сс") speed_limit = forms.IntegerField(label="Ограничение скорости", initial=72, help_text="скорость в км/ч") def __init__(self, account, *args, **kwargs): """ Конструктор переопределен для создания поля "device", список значений для которого фильтруется в соответствии с текущим Аккаунтом """ super(ReportsForm, self).__init__(*args, **kwargs)
class AnalysisForm(forms.Form): FORMAT="%Y-%m-%d %H:%M:%S" td=datetime.datetime.utcnow() NOW=td.strftime(FORMAT) yd = datetime.datetime.utcnow() - datetime.timedelta(1) YESTERDAY=yd.strftime(FORMAT) starttime = forms.DateTimeField( label="Start Time", initial=YESTERDAY) endtime = forms.DateTimeField( label="End Time", initial=NOW) sitename = forms.ChoiceField(label="Site Name", choices=SITE_CHOICES) format = forms.ChoiceField(label="Output Format", choices=FORMAT_CHOICES, initial="txt") datatype = forms.ChoiceField(label="Data Type" , choices=ATYPE_CHOICES, initial="counts") filtertype = forms.ChoiceField(label="Processing Type", choices=FILTER_CHOICES, initial="avg") interval = forms.IntegerField(label="Averaging Interval (minutes)", initial=30)
def formfield(self, **kwargs): defaults = { 'required': not self.blank, 'label': capfirst(self.verbose_name), 'help_text': self.help_text } defaults.update(kwargs) return forms.DateTimeField(**defaults)