class AbsenceForm(ModelForm): person = ModelChoiceField(queryset=User.objects.filter(is_active=True)) start = DateField() end = DateField(widget=SelectDateWidget) class Meta: model = Absence
class ProjectForm(ModelForm): client = ModelChoiceField(queryset=Client.objects.filter(is_active=True)) start = DateField(widget=SelectDateWidget) end = DateField(widget=SelectDateWidget) class Meta: model = Project
class PoolStatForm(Form): start_date = DateField(input_formats=['%Y-%m-%dT%H:%M'], widget=DateTimeInput( format='%Y-%m-%dT%H:%M', attrs={'type': 'datetime-local'})) end_date = DateField(input_formats=['%Y-%m-%dT%H:%M'], widget=DateTimeInput(format='%Y-%m-%dT%H:%M', attrs={'type': 'datetime-local'}))
class FuelStatForm(Form): start_date = DateField(input_formats=['%Y-%m-%dT%H:%M'], widget=DateTimeInput( format='%Y-%m-%dT%H:%M', attrs={'type': 'datetime-local'})) end_date = DateField(input_formats=['%Y-%m-%dT%H:%M'], widget=DateTimeInput(format='%Y-%m-%dT%H:%M', attrs={'type': 'datetime-local'})) auto = ModelChoiceField(queryset=models.Auto.objects.all())
class AllocationForm(ModelForm): project = ModelChoiceField(queryset=Project.objects.all()) person = ModelChoiceField(queryset=User.objects.filter(is_active=True)) start = DateField(widget=SelectDateWidget) end = DateField(widget=SelectDateWidget) weekly_hours = DateField(widget=SelectDateWidget) class Meta: model = Allocation exclude = ('person', )
class TimeEntryForm(ModelForm): project = ModelChoiceField(queryset=Project.objects.all()) # ovo mora biti aktivnost koju je upravo unio activity = ModelChoiceField(queryset=Activity.objects.all()) # ovo mora biti trenutno logirani user person = ModelChoiceField(queryset=User.objects.filter(is_active=True)) # ovo moraju biti sati i minute start = DateField(widget=SelectDateWidget) end = DateField(widget=SelectDateWidget) class Meta: model = Project
class AddHolidayForm(forms.Form): '''A form having from_date, to_date and purpose field. This will be used to ass holiday ''' from_date = DateField(widget=SelectDateWidget(years=YEAR_CHOICE), initial=datetime.now()) to_date = DateField(widget=SelectDateWidget(years=YEAR_CHOICE), initial=datetime.now()) purpose = CharField(max_length=200, required=True, widget=forms.Textarea, help_text="Maximum 200 character")
class PresentationForm(ModelForm): birthdate = DateField(widget=AdminDateWidget) #birthdate = forms.DateTimeField( # input_formats=['%Y-%m-%d'], # label='Дата рождения', # widget=AdminDateWidget, # # widget=forms.CalendarInput, #) class Meta: model = Presentation fields = ( 'name', 'surname', 'birthdate', 'bio', 'phone', 'skype', 'photo', ) widgets = {'birthdate': DateWidget} def __init__(self, *args, **kwargs): super(PresentationForm, self).__init__(*args, **kwargs) self.fields['name'].widget.attrs['class'] = 'form-control input-md' self.fields['surname'].widget.attrs['class'] = 'form-control input-md' self.fields['phone'].widget.attrs['class'] = 'form-control input-md' self.fields['skype'].widget.attrs['class'] = 'form-control input-md' #self.fields['birthdate'].widget.attrs['class'] = 'form-control' self.fields['photo'].widget.attrs['class'] = 'input-file' self.fields['bio'].widget.attrs['class'] = 'form-control'
class LancamentoFormFilter(Form): """ Form apenas para validar os dados enviados para filtrar lancamentos. """ cadastro = DateField(('%d/%m/%Y', ), required=False, widget=DateTimeInput(format='%d/%m/%Y')) vencimento = DateField(('%d/%m/%Y', ), required=False, widget=DateTimeInput(format='%d/%m/%Y')) credor = CharField(required=False) caixa = CharField(required=False) tipo = ChoiceField(choices=Lancamento.TIPO_CHOICES, required=False) pago = BooleanField(required=False) tags = TagField(max_length=50, required=False)
class LancamentoForm(ModelForm): """ Form para cadastro de lancamentos. """ tags = TagField(max_length=50, label='Tags', required=False, widget=AutoCompleteTagInput()) vencimento = DateField(('%d/%m/%Y', ), label='Vencimento', widget=DateTimeInput(format='%d/%m/%Y')) tipo = ChoiceField(choices=Lancamento.TIPO_CHOICES) valor = PositiveDecimalField() class Meta: model = Lancamento fields = [ 'desc', 'vencimento', 'valor', 'tipo', 'forma_pagamento', 'credor', 'caixa', 'tags', 'pago' ] def __init__(self, *args, **kwargs): super(LancamentoForm, self).__init__(*args, **kwargs) if self.instance.id: self.initial['tags'] = ' '.join([ item.name for item in Tag.objects.get_for_object(self.instance) ]) #() def as_ext(self): # Converte os campos para o formato ExtJS return mark_safe(simplejson.dumps(self, cls=ExtJSONEncoder))
class ResetPasswordSecondForm(FormFieldConfigMixin, Form): question = CharField(widget=TextInput(attrs={'readonly': 'readonly'})) security_answer = CharField(label='Answer') date_of_birth = DateField(widget=DateInput()) def __init__(self, user, *args, **kwargs): super(ResetPasswordSecondForm, self).__init__(*args, **kwargs) self.fields['question'].initial = user.security_question self.user = user def clean_security_answer(self): try: return validators.validate_security_answer(self) except ValidationError: self.add_error(None, 'Invalid details') return self.cleaned_data['security_answer'] def clean_date_of_birth(self): try: return validators.validate_date_of_birth(self) except ValidationError: self.add_error(None, 'Invalid details') class Meta: config = ResetPasswordForm.Meta.config
class WorkoutForm(forms.ModelForm): title = forms.CharField(widget=EmojiPickerTextInput) creation_date = DateField(widget=AdminDateWidget()) class Meta: model = Workout fields = ['user', 'day', 'title', 'creation_date']
class StaffSearchForm(forms.ModelForm): hire_after = DateField(label='在此之后就职:',required=False, widget=MyDateInput()) bank = ModelChoiceField(SubBank.objects.all(),label='所属支行',required=False) name = CharField(label='职工姓名',max_length=Staff._meta.get_field('name').max_length,required=False) class Meta: model = Staff fields = ['name','bank']
class PostMovieForm(forms.ModelForm): """ Create movie form excluding user in form """ release_date = DateField(widget=forms.SelectDateWidget( years=range(datetime.date.today().year, 1800, -1))) class Meta: model = Movie exclude = ('author', )
class PostActorForm(forms.ModelForm): """ Create actor form excluding user in form """ birthdate = DateField(widget=forms.SelectDateWidget( years=range(datetime.date.today().year, 1800, -1))) class Meta: model = Actor exclude = ('author', )
class AppointmentForm(forms.ModelForm): date = DateField(widget = AdminDateWidget()) time = forms.TimeField(widget= AdminTimeWidget) class Meta: model = Appointment fields = ['user', 'task', 'date', 'time']
class PostAwardForm(forms.ModelForm): """ Create award form excluding user, content type and object id in form """ date = DateField(widget=forms.SelectDateWidget( years=range(datetime.date.today().year, 1800, -1))) class Meta: model = Award exclude = ('author', 'content_type', 'object_id')
class DayForm(forms.ModelForm): """ Form for Day. """ day = DateField(widget=HiddenInput(), ) father = CharField(required=False, ) brother = CharField(required=False, ) class Meta: model = Day fields = '__all__'
class MyModelForm(ModelForm): #on definit les formats de date acceptes my_date = DateField( input_formats=['%d/%m/%Y', '%Y-%m-%d'], # et on affecte le widget de date du site d'administration widget=AdminDateWidget(format='%d/%m/%Y')) class Meta: model = Shopping fields = ['my_date', 'date', 'supplier', 'meals']
class EventForm(forms.ModelForm): start_date = DateField() end_date = DateField() def __init__(self, *args, **kwargs): super(EventForm, self).__init__(*args, **kwargs) self.fields['start_date'].label = 'Start Date' self.fields['end_date'].label = 'End Date' self.fields['title'].label = 'Title' self.fields['place'].label = 'Place' self.fields['description'].label = 'Description' self.fields['title'].widget.attrs.update({'class': 'uk-input'}) self.fields['place'].widget.attrs.update({'class': 'uk-input'}) self.fields['description'].widget.attrs.update({'class': 'uk-input'}) def clean(self): cleaned_data = super(EventForm, self).clean() start_date = cleaned_data.get('start_date') end_date = cleaned_data.get('end_date') if start_date and end_date: if start_date > end_date: msg = u"Start date must be before the end date" self._errors['start_date'] = self.error_class([msg]) return self.cleaned_data def save(self): instance = super(EventForm, self).save(commit=False) if not instance.slug: instance.slug = orig = slugify(instance.title) for x in itertools.count(1): if not Event.objects.filter(slug=instance.slug).exists(): break instance.slug = '%s-%d' % (orig, x) instance.save() return instance class Meta: model = Event fields = {'title', 'description', 'place'}
def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) if self.instance.pk: self.fields['file'].disabled = True self.fields['file'].widget = LinkWidget( link='file/{}/'.format(self.instance.pk), text=str(self.instance), ) self.fields['last_changed'] = DateField( widget=ConstantTextWidget(), required=False, disabled=True, label='Ostatnia zmiana', initial=self.instance.last_changed) else: self.fields['last_changed'] = DateField( widget=ConstantTextWidget(), required=False, disabled=True, label='Ostatnia zmiana')
class AppointmentForm(forms.ModelForm): """ create Appointment form """ user = forms.ModelChoiceField(queryset=User.objects.all(), widget=autocomplete.ModelSelect2(url='/appointments/country-autocomplete')) date = DateField(widget = AdminDateWidget()) time = forms.TimeField(widget= AdminTimeWidget) class Meta: model = Appointment fields = ['user', 'task', 'date', 'time']
class UsersJournalAccessForm(forms.Form): """ Form to give access for a journal to multiple users. """ expiration_date = DateField( required=True, widget=AdminDateWidget, ) bulk_upload_csv = forms.FileField( required=True, label=_("Users' CSV file"), help_text=_(".csv file with single column consists of only usernames"), )
class DeclaratieCotizatieSocialaForm(CrispyBaseModelForm, DocumentRegistraturaMixin): class Meta(object): model = DocumentCotizatieSociala fields = ['nume_parinte', 'motiv', 'este_valabil', 'fisier', 'registru', 'numar_inregistrare', 'data_inregistrare', 'valabilitate_start', 'valabilitate_end'] data_inregistrare = DateField(widget=BootstrapDateInput, label=u"Data înregistrare", required=False, help_text=u"Lasă gol pentru data de azi") valabilitate_start = DateField(widget=BootstrapDateInput, label=u"Valabiliă de la", required=True) valabilitate_end = DateField(widget=BootstrapDateInput, label=u"Valabilă până la", required=False) def __init__(self, *args, **kwargs): super(DeclaratieCotizatieSocialaForm, self).__init__(*args, **kwargs) self.fields['registru'].queryset = Registru.objects.filter(tip_registru__in=DocumentCotizatieSociala.registre_compatibile) def clean(self): self.check_inregistrare() if self.cleaned_data.get("valabilitate_end", None) is not None: if self.cleaned_data.get("valabilitate_end") <= self.cleaned_data.get("valabilitate_start"): raise ValidationError(u"Valabilitatea declarației nu poate să se termine înainte să înceapă!") return self.cleaned_data
class MarkForm(Form): id = CharField(label='ID', disabled=True) due_back = DateField(label='Renew_due_back', help_text='Input date between today and three weeks later.') def save(self, id): bookinstance = BookInstance.objects.get(id=id) bookinstance.due_back = self.data['due_back'] bookinstance.save() def clean_due_back(self): due_back = self.cleaned_data['due_back'] if date.fromisoformat(self.data['due_back']) < date.today() or date.fromisoformat(self.data['due_back']) > (date.today()+timedelta(days=21)): raise ValidationError('The date must be between today and three weeks later.') return due_back
def __init__(self, input_date_formats=None, input_time_formats=None, *args, **kwargs): errors = self.default_error_messages.copy() if 'error_messages' in kwargs: errors.update(kwargs['error_messages']) localize = kwargs.get('localize', False) fields = ( DateField(input_formats=input_date_formats, error_messages={'invalid': errors['invalid_date']}, localize=localize), TimeField(input_formats=input_time_formats, error_messages={'invalid': errors['invalid_time']}, localize=localize), TimeZoneFormField(error_messages={'invalid': errors['invalid_time']}, localize=localize, initial="Australia/Sydney"), ) super(SplitDateTimeTimeZoneField, self).__init__(fields, *args, **kwargs)
def add_fields(self, form, index): super(BillExpenseInlineFormset, self).add_fields(form, index) qs = Expense.objects.filter(lead=self.instance.lead, chargeable=True) qs_widget = qs.filter(billexpense__isnull=True ) # Don't propose an expense already billed form.fields["expense"] = ModelChoiceField( label=_("Expense"), required=False, widget=ExpenseChoices(queryset=qs_widget), queryset=qs) form.fields["expense_date"] = DateField( label=_("Expense date"), required=False, widget=DateInput(format="%d/%m/%Y"), input_formats=[ "%d/%m/%Y", ])
def __init__(self, input_date_formats=None, input_time_formats=None, *args, **kwargs): errors = self.default_error_messages.copy() if 'error_messages' in kwargs: errors.update(kwargs['error_messages']) localize = kwargs.get('localize', False) field = DateField(input_formats=input_date_formats, error_messages={'invalid': errors['invalid_date']}, localize=localize) fields = ( field, field, ) super(DateRangeField, self).__init__(fields, *args, **kwargs)
class EditProfileForm(ModelForm): birth_year = DateField(label='Дата рождения', widget=SelectDateWidget(years=BIRTH_YEAR_CHOICES)) sex = ChoiceField(label='Пол', widget=RadioSelect, choices=GENDER_CHOICES) class Meta: model = Profile exclude = ('user',) # то что не выводить #http://www.askdev.ru/django/8213/Django-%D0%B7%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0-%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9-%D0%B8-%D0%B8%D1%85-%D0%B2%D0%B0%D0%BB%D0%B8%D0%B4%D0%B0%D1%86%D0%B8%D1%8F/ # img = forms. #captcha = CaptchaField(label='Enter symbols on image') #https://docs.djangoproject.com/en/dev/topics/forms/ #https://docs.djangoproject.com/en/dev/ref/forms/widgets/ #http://www.askdev.ru/django/8213/Django-%D0%B7%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0-%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9-%D0%B8-%D0%B8%D1%85-%D0%B2%D0%B0%D0%BB%D0%B8%D0%B4%D0%B0%D1%86%D0%B8%D1%8F/ #http://groups.google.com/group/django-russian/browse_thread/thread/9eab86984140bf96
class DonorRegForm(forms.ModelForm): birth_date = DateField(widget=DateInput( attrs={'class': 'dateinput form-control'})) class Meta: model = models.Donor fields = ('name', 'phone', 'email', 'blood_group', 'birth_date', 'present_address', 'permanent_address') labels = { 'name': _('আপনার নাম'), 'phone': _('মোবাইল'), 'email': _('ইমেইল'), 'blood_group': _('রক্তের গ্রুপ'), 'birth_date': _('জন্ম তারিখ'), 'present_address': _('বর্তমান ঠিকানা'), 'permanent_address': _('স্থায়ী ঠিকানা'), }