class Meta: model = DateQueryRange fields = '__all__' widgets = { 'start_date' : SelectDateWidget(), 'end_date' : SelectDateWidget(), }
class Meta: model = EssayQuestion fields = ['question_num', 'title', 'description', 'marks'] labels = { 'question_num': 'Question #', } widgets = { 'question_num': NumberInput(attrs={ 'class': u'form-control', 'placeholder': u'Enter Question Number' }), 'title': TextInput(attrs={ 'class': u'form-control', 'placeholder': u'Enter Title' }), 'description': Textarea(attrs={ 'class': u'form-control', 'placeholder': u'Enter Description' }), 'start_date': SelectDateWidget(), 'due_date': SelectDateWidget(), 'marks': NumberInput(attrs={ 'class': u'form-control', 'placeholder': u'Enter Marks' }), }
class NewTaskForm(forms.Form): title = forms.CharField(label="Titre", max_length=100) description = forms.CharField(label="Description", widget=forms.Textarea) start_date = forms.DateField(label="Date de début", widget=SelectDateWidget()) due_date = forms.DateField(label="Date de fin", widget=SelectDateWidget()) priority = forms.IntegerField(label="priorité") status = forms.ChoiceField(label="Status", choices=STATUS_CHOICES) project = forms.ModelChoiceField(label="Projet", queryset=Project.objects.all()) assigned_to = forms.ModelChoiceField(label="Personne en charge", queryset=User.objects.all()) # Fonction pour valider correctement le formulaire def clean(self): # data from the form is fetched using super function cleaned_data = super(NewTaskForm, self).clean() # extract the username and text field from the data priority = self.cleaned_data['priority'] start = self.cleaned_data['start_date'] due = self.cleaned_data['due_date'] # conditions to be met for the username length if (priority < 0) or (priority > 10): self.add_error("priority", "Priorité entre 0 et 10!") if due < start: self.add_error("due_date", "Date de début devrait etre avant celle de fin!") # return any errors if found return cleaned_data
class Meta: model = L2VPN fields = ( 'channelid', 'customer', 'coreA', 'coreB', 'pointA', 'pointB', 'deviceA', 'deviceB', 'portA', 'portB', 'vlan', 'speed', 'comments', 'on_date', 'off_date', ) widgets = { 'customer': Select(attrs={'class': 'js-example-basic-single'}), 'coreA': Select(attrs={'class': 'js-example-basic-single'}), 'coreB': Select(attrs={'class': 'js-example-basic-single'}), 'pointA': Select(attrs={'class': 'js-example-basic-single'}), 'pointB': Select(attrs={'class': 'js-example-basic-single'}), 'deviceA': Select(attrs={'class': 'js-example-basic-single'}), 'deviceB': Select(attrs={'class': 'js-example-basic-single'}), 'on_date': SelectDateWidget(years=range(2006, 2031)), 'off_date': SelectDateWidget(years=range(2006, 2031)) }
class Meta: model = Guest fields = '__all__' widgets = { 'arrival_date': SelectDateWidget(), 'departure_date': SelectDateWidget() }
class Meta: model = Quiz fields = [ 'quiz_num', 'title', 'description', 'start_date', 'due_date', 'worth' ] labels = { 'quiz_num': 'Quiz #', 'worth': 'Worth % of Final Mark', } widgets = { 'quiz_num': NumberInput(attrs={ 'class': u'form-control', 'placeholder': u'Enter Quiz Number' }), 'title': TextInput(attrs={ 'class': u'form-control', 'placeholder': u'Enter Title' }), 'description': Textarea(attrs={ 'class': u'form-control', 'placeholder': u'Enter Description' }), 'start_date': SelectDateWidget(), 'due_date': SelectDateWidget(), 'worth': Select(attrs={'class': u'form-control'}), }
class Meta: model = Education fields = ['school_name', 'description' ,'start_date', 'end_date'] widgets = { 'start_date' :SelectDateWidget(years = range(1950 ,datetime.date.today().year + 1)), 'end_date': SelectDateWidget(years = range(1950 ,datetime.date.today().year + 1)) }
class Meta: model = Experience fields = ['job_name', 'start_date', 'end_date', 'description'] widgets = { 'start_date' :SelectDateWidget(years = range(1950 ,datetime.date.today().year + 1)), 'end_date': SelectDateWidget(years = range(1950 ,datetime.date.today().year + 1)) }
class WeekRptForm(forms.Form): platformname = forms.ChoiceField( required=True, label=u"平台", error_messages={'required': u'请选择平台'}, widget=forms.RadioSelect, choices=PLAT_CHOICES, ) wRptstartdate = forms.DateField( required=True, label=u"开始查询日期", error_messages={'required': u'请选择日期'}, widget=SelectDateWidget(years=YEAR_CHOICES), ) wRptenddate = forms.DateField( required=True, label=u"截止查询日期", error_messages={'required': u'请选择日期'}, widget=SelectDateWidget(years=YEAR_CHOICES, ), ) def clean(self): if not self.is_valid(): raise forms.ValidationError(u"必填") else: cleaned_data = super(WeekRptForm, self).clean() return cleaned_data
class BuscarOrdenForm(forms.Form): fecha1 = forms.DateField(widget=SelectDateWidget(), initial=datetime.date.today() + datetime.timedelta(days=-15)) fecha2 = forms.DateField(widget=SelectDateWidget(), initial=datetime.date.today()) invertir = forms.BooleanField(label='invertir orden', required=False)
class ResidDocForm(ModelForm): START_DATE = 2000 doc_date_start = DateField( widget=SelectDateWidget(years=[i for i in range(START_DATE, int(datetime.today().year) + 1)]), label='Дата заселения', ) doc_date_end = DateField( widget=SelectDateWidget(years=[i for i in range(START_DATE, int(datetime.today().year) + 1)]), label='Дата выселения', initial=datetime.today() ) id_customer = ModelChoiceField(queryset=Customer.objects.all(), empty_label=None, label='Клиент') id_apartment = ModelChoiceField(queryset=Apartment.objects.all(), empty_label=None, label='Апартаменты') id_admin_worker = ModelChoiceField(queryset=AdminWorker.objects.all(), empty_label=None, label='Администратор') class Meta: model = ResidDoc fields = ['doc_date_start', 'doc_date_end', 'id_customer', 'id_apartment', 'doc_price', 'id_admin_worker'] labels = {'doc_date_start': 'Дата заселения', 'doc_date_end': 'Дата выселения', 'id_customer': 'Клиент', 'id_apartment': 'Апартаменты', 'doc_price': 'Цена', 'id_admin_worker': 'Администратор'}
class CreateANoNRevocableContractForm(forms.ModelForm): class Meta: model = BankPersonalContract fields = [ 'period_in_months', 'date_of_creating', 'date_of_ending', 'type', 'currency', 'capitalization' ] years = [year for year in range(1900, 2050)] contract_number = forms.CharField(max_length=20, disabled=True) second_name = forms.CharField(max_length=50, required=True, disabled=True) first_name = forms.CharField(max_length=50, required=True, disabled=True) father_name = forms.CharField(max_length=50, required=True, disabled=True) date_of_birth = forms.CharField(required=True, disabled=True) passport_uuid = forms.CharField(max_length=13, required=True, disabled=True) date_of_creating = forms.DateField(widget=SelectDateWidget(years=years), required=True) date_of_ending = forms.DateField(widget=SelectDateWidget(years=years), required=True) period_in_months = forms.ChoiceField(widget=Select(), choices=NON_REVOCABLE) currency = forms.ChoiceField(widget=Select(), choices=CURRENCY_CHOICES) total_amount = forms.CharField(max_length=20)
class Meta: model = Exam fields = [ 'exam_num', 'title', 'description', 'start_date', 'due_date', 'worth', 'is_final' ] labels = { 'exam_num': 'Exam #', 'worth': 'Worth % of Final Mark', 'is_final': 'Is Final Exam', } widgets = { 'exam_num': NumberInput(attrs={ 'class': u'form-control', 'placeholder': u'Enter Exam Number' }), 'title': TextInput(attrs={ 'class': u'form-control', 'placeholder': u'Enter Title' }), 'description': Textarea(attrs={ 'class': u'form-control', 'placeholder': u'Enter Description' }), 'start_date': SelectDateWidget(), 'due_date': SelectDateWidget(), 'worth': Select(attrs={'class': u'form-control'}), }
class DateForm(forms.Form): start_date = forms.DateField( label='OT', widget=SelectDateWidget(years=range(year, year - 2, -1))) end_date = forms.DateField( label='ДО', initial=datetime.date.today, widget=SelectDateWidget(years=range(year, year - 2, -1)))
class Meta: model = Patients fields = '__all__' widgets = { 'start_date': SelectDateWidget(years=YEARS_CHOICES), 'end_date': SelectDateWidget(years=YEARS_CHOICES) }
class HireSkillForm(ModelForm): to_date = forms.DateField(widget=SelectDateWidget( empty_label=("Choose Year", "Choose Month", "Choose Day"), ), ) from_date = forms.DateField(widget=SelectDateWidget( empty_label=("Choose Year", "Choose Month", "Choose Day"), ), ) class Meta: model = HireWorker fields = ('from_date', 'to_date')
class Meta: model = InstructorClass exclude = ('UserProfile',) widgets = { 'Description': forms.Textarea(attrs={'placeholder': 'Enter description here'}), 'StartDate': SelectDateWidget(years=past_years(10),), 'StartTime': forms.TextInput(attrs={'placeholder': 'HH:MM:SS'}), 'EndDate' : SelectDateWidget(years=past_years(10),), 'EndTime': forms.TextInput(attrs={'placeholder': 'HH:MM:SS'}), }
class Meta(): model = Batch fields = '__all__' widgets = { 'date_delivery': SelectDateWidget(), 'date_expiry': SelectDateWidget(), 'date_finished': SelectDateWidget(), }
class Meta: model = Documents fields = '__all__' widgets = { 'begin_date': SelectDateWidget(years=range(date.today().year - 10, date.today().year + 11)), 'end_date': SelectDateWidget(years=range(date.today().year - 10, date.today().year + 11)), }
class Meta: model = Event exclude = ('UserProfile','ScheduledStartTime','ScheduledEndTime','Completed','CreatorType','CreatorId') widgets = { 'Description': forms.Textarea(attrs={'placeholder': 'Enter description here'}), 'StartDate': SelectDateWidget(years=past_years(10),), 'EndDate' : SelectDateWidget(years=past_years(10),), 'DeadLineDate' : SelectDateWidget(years=past_years(10),), 'StartTime': forms.TextInput(attrs={'placeholder': 'HH:MM:SS'}), 'EndTime': forms.TextInput(attrs={'placeholder': 'HH:MM:SS'}), 'DeadLineTime': forms.TextInput(attrs={'placeholder': 'HH:MM:SS'}), }
def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) this_year = datetime.now().year years = range(this_year, this_year + 15) yearsf = range(this_year + 1, this_year + 15) for field in self.Meta.fields: self.fields[field].widget.attrs.update({'class': 'form-control'}) self.fields["periodo_inicio"].widget = SelectDateWidget( years=years, attrs={'class': 'selectpicker'}) self.fields["periodo_fin"].widget = SelectDateWidget( years=yearsf, attrs={'class': 'selectpicker'})
class AdPostForm(forms.ModelForm): subject = forms.CharField(label='Ad Title') start_date = forms.DateField(widget=SelectDateWidget( empty_label="Nothing")) end_date = forms.DateField(widget=SelectDateWidget(empty_label="Nothing")) ad_price = forms.DecimalField(label="Price: (in GBP)") class Meta: model = Ad fields = [ 'subject', 'ad_summary', 'description', 'start_date', 'end_date', 'ad_price' ]
class Meta: model = ContractedService fields = '__all__' widgets = { 'client': Select(attrs={'class': 'form-control'}), 'service': Select(attrs={'class': 'form-control'}), 'value': NumberInput(attrs={ 'class': 'form-control', 'step': 0.25 }), 'start': SelectDateWidget(attrs={'class': 'form-control'}), 'end': SelectDateWidget(attrs={'class': 'form-control'}), }
def test_custom_input_format(self): w = SelectDateWidget(years=('0001', '1899', '2009', '2010')) for values, expected in ( (('0001', '8', '13'), '13.08.0001'), (('1899', '7', '11'), '11.07.1899'), (('2009', '3', '7'), '07.03.2009'), ): with self.subTest(values=values): data = { 'field_%s' % field: value for field, value in zip(('year', 'month', 'day'), values) } self.assertEqual(w.value_from_datadict(data, {}, 'field'), expected)
class Meta: model = Comment fields = ('rating','tourist_kind','vacation_start','vacation_end','text') widgets = { 'vacation_start': SelectDateWidget(years=range(2018, 2021)), 'vacation_end': SelectDateWidget(years=range(2018, 2021)), 'rating': Select, 'tourist_kind': Select, } labels = { 'vacation_start': _('Stayed from'), 'vacation_end': _('Stayed till'), 'text': _(''), 'tourist_kind': _('Came as a') }
class RstForm(forms.ModelForm): subject = forms.CharField( max_length=20, widget=forms.TextInput(attrs={ "class": "form-control", "placeholder": "Your Name" })) summary = forms.CharField(widget=forms.Textarea( attrs={ "class": "form-control", "placeholder": "Leave a comment!", "cols": 10, "rows": 10 })) upload_date = forms.DateField(widget=SelectDateWidget( empty_label="NOTING")) image = forms.ImageField() METHOD = ( ('C', 'cash'), ('B', 'card'), ('P', 'point'), ) acount = forms.CharField(label='What is your bill', widget=forms.Select(choices=METHOD)) class Meta: model = Test fields = ('subject', 'image', 'summary', 'upload_date', 'acount')
class Meta: model = Request fields = '__all__' widgets = { 'tour_date': SelectDateWidget(), 'Special_Accommodations': Textarea(), }
class Meta: model = Log fields = '__all__' widgets = { 'fecha': SelectDateWidget(), 'cantidad_vendida': NumberInput(attrs={'value': 0}) }
def test_years_rendered_without_separator(self): widget = SelectDateWidget(years=(2007, )) self.check_html(widget, 'mydate', '', html=(""" <select name="mydate_month" id="id_mydate_month"> <option selected value="">---</option> <option value="1">January</option> <option value="2">February</option> <option value="3">March</option> <option value="4">April</option> <option value="5">May</option> <option value="6">June</option> <option value="7">July</option> <option value="8">August</option> <option value="9">September</option> <option value="10">October</option> <option value="11">November</option> <option value="12">December</option> </select> <select name="mydate_day" id="id_mydate_day"> <option selected value="">---</option> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> <option value="6">6</option> <option value="7">7</option> <option value="8">8</option> <option value="9">9</option> <option value="10">10</option> <option value="11">11</option> <option value="12">12</option> <option value="13">13</option> <option value="14">14</option> <option value="15">15</option> <option value="16">16</option> <option value="17">17</option> <option value="18">18</option> <option value="19">19</option> <option value="20">20</option> <option value="21">21</option> <option value="22">22</option> <option value="23">23</option> <option value="24">24</option> <option value="25">25</option> <option value="26">26</option> <option value="27">27</option> <option value="28">28</option> <option value="29">29</option> <option value="30">30</option> <option value="31">31</option> </select> <select name="mydate_year" id="id_mydate_year"> <option selected value="">---</option> <option value="2007">2007</option> </select> """))
class Meta: model = Referee fields = '__all__' widgets = { 'dob': SelectDateWidget(years=[x for x in range(1930, 2005)]), } labels = settings.LABELS
def test_l10n(self): w = SelectDateWidget(years=("2007", "2008", "2009", "2010", "2011", "2012", "2013", "2014", "2015", "2016")) self.assertEqual( w.value_from_datadict({"date_year": "2010", "date_month": "8", "date_day": "13"}, {}, "date"), "13-08-2010" ) self.assertHTMLEqual( w.render("date", "13-08-2010"), """ <select name="date_day" id="id_date_day"> <option value="0">---</option> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> <option value="6">6</option> <option value="7">7</option> <option value="8">8</option> <option value="9">9</option> <option value="10">10</option> <option value="11">11</option> <option value="12">12</option> <option value="13" selected>13</option> <option value="14">14</option> <option value="15">15</option> <option value="16">16</option> <option value="17">17</option> <option value="18">18</option> <option value="19">19</option> <option value="20">20</option> <option value="21">21</option> <option value="22">22</option> <option value="23">23</option> <option value="24">24</option> <option value="25">25</option> <option value="26">26</option> <option value="27">27</option> <option value="28">28</option> <option value="29">29</option> <option value="30">30</option> <option value="31">31</option> </select> <select name="date_month" id="id_date_month"> <option value="0">---</option> <option value="1">januari</option> <option value="2">februari</option> <option value="3">maart</option> <option value="4">april</option> <option value="5">mei</option> <option value="6">juni</option> <option value="7">juli</option> <option value="8" selected>augustus</option> <option value="9">september</option> <option value="10">oktober</option> <option value="11">november</option> <option value="12">december</option> </select> <select name="date_year" id="id_date_year"> <option value="0">---</option> <option value="2007">2007</option> <option value="2008">2008</option> <option value="2009">2009</option> <option value="2010" selected>2010</option> <option value="2011">2011</option> <option value="2012">2012</option> <option value="2013">2013</option> <option value="2014">2014</option> <option value="2015">2015</option> <option value="2016">2016</option> </select> """, ) # Even with an invalid date, the widget should reflect the entered value (#17401). self.assertEqual(w.render("mydate", "2010-02-30").count("selected"), 3) # Years before 1900 should work. w = SelectDateWidget(years=("1899",)) self.assertEqual( w.value_from_datadict({"date_year": "1899", "date_month": "8", "date_day": "13"}, {}, "date"), "13-08-1899" )
def test_l10n(self): w = SelectDateWidget( years=('2007', '2008', '2009', '2010', '2011', '2012', '2013', '2014', '2015', '2016') ) self.assertEqual( w.value_from_datadict({'date_year': '2010', 'date_month': '8', 'date_day': '13'}, {}, 'date'), '13-08-2010', ) self.assertHTMLEqual( w.render('date', '13-08-2010'), """ <select name="date_day" id="id_date_day"> <option value="">---</option> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> <option value="6">6</option> <option value="7">7</option> <option value="8">8</option> <option value="9">9</option> <option value="10">10</option> <option value="11">11</option> <option value="12">12</option> <option value="13" selected>13</option> <option value="14">14</option> <option value="15">15</option> <option value="16">16</option> <option value="17">17</option> <option value="18">18</option> <option value="19">19</option> <option value="20">20</option> <option value="21">21</option> <option value="22">22</option> <option value="23">23</option> <option value="24">24</option> <option value="25">25</option> <option value="26">26</option> <option value="27">27</option> <option value="28">28</option> <option value="29">29</option> <option value="30">30</option> <option value="31">31</option> </select> <select name="date_month" id="id_date_month"> <option value="">---</option> <option value="1">januari</option> <option value="2">februari</option> <option value="3">maart</option> <option value="4">april</option> <option value="5">mei</option> <option value="6">juni</option> <option value="7">juli</option> <option value="8" selected>augustus</option> <option value="9">september</option> <option value="10">oktober</option> <option value="11">november</option> <option value="12">december</option> </select> <select name="date_year" id="id_date_year"> <option value="">---</option> <option value="2007">2007</option> <option value="2008">2008</option> <option value="2009">2009</option> <option value="2010" selected>2010</option> <option value="2011">2011</option> <option value="2012">2012</option> <option value="2013">2013</option> <option value="2014">2014</option> <option value="2015">2015</option> <option value="2016">2016</option> </select> """, ) # Even with an invalid date, the widget should reflect the entered value (#17401). self.assertEqual(w.render('mydate', '2010-02-30').count('selected'), 3) # Years before 1900 should work. w = SelectDateWidget(years=('1899',)) self.assertEqual( w.value_from_datadict({'date_year': '1899', 'date_month': '8', 'date_day': '13'}, {}, 'date'), '13-08-1899', ) # And years before 1000 (demonstrating the need for datetime_safe). w = SelectDateWidget(years=('0001',)) self.assertEqual( w.value_from_datadict({'date_year': '0001', 'date_month': '8', 'date_day': '13'}, {}, 'date'), '13-08-0001', )
def test_selectdate_empty_label(self): w = SelectDateWidget(years=('2014',), empty_label='empty_label') # Rendering the default state with empty_label set as string. self.assertInHTML('<option selected value="">empty_label</option>', w.render('mydate', ''), count=3) w = SelectDateWidget(years=('2014',), empty_label=('empty_year', 'empty_month', 'empty_day')) # Rendering the default state with empty_label tuple. self.assertHTMLEqual( w.render('mydate', ''), """ <select name="mydate_month" id="id_mydate_month"> <option selected value="">empty_month</option> <option value="1">January</option> <option value="2">February</option> <option value="3">March</option> <option value="4">April</option> <option value="5">May</option> <option value="6">June</option> <option value="7">July</option> <option value="8">August</option> <option value="9">September</option> <option value="10">October</option> <option value="11">November</option> <option value="12">December</option> </select> <select name="mydate_day" id="id_mydate_day"> <option selected value="">empty_day</option> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> <option value="6">6</option> <option value="7">7</option> <option value="8">8</option> <option value="9">9</option> <option value="10">10</option> <option value="11">11</option> <option value="12">12</option> <option value="13">13</option> <option value="14">14</option> <option value="15">15</option> <option value="16">16</option> <option value="17">17</option> <option value="18">18</option> <option value="19">19</option> <option value="20">20</option> <option value="21">21</option> <option value="22">22</option> <option value="23">23</option> <option value="24">24</option> <option value="25">25</option> <option value="26">26</option> <option value="27">27</option> <option value="28">28</option> <option value="29">29</option> <option value="30">30</option> <option value="31">31</option> </select> <select name="mydate_year" id="id_mydate_year"> <option selected value="">empty_year</option> <option value="2014">2014</option> </select> """, ) with self.assertRaisesMessage(ValueError, 'empty_label list/tuple must have 3 elements.'): SelectDateWidget(years=('2014',), empty_label=('not enough', 'values'))