Ticket #29036: 29036.diff

File 29036.diff, 10.4 KB (added by Tim Graham, 6 years ago)
  • django/forms/widgets.py

    diff --git a/django/forms/widgets.py b/django/forms/widgets.py
    index 76c12e2..ded6538 100644
    a b class SelectDateWidget(Widget):  
    911911    This also serves as an example of a Widget that has more than one HTML
    912912    element and hence implements value_from_datadict.
    913913    """
    914     none_value = (0, '---')
     914    none_value = ('', '---')
    915915    month_field = '%s_month'
    916916    day_field = '%s_day'
    917917    year_field = '%s_year'
    class SelectDateWidget(Widget):  
    941941            if not len(empty_label) == 3:
    942942                raise ValueError('empty_label list/tuple must have 3 elements.')
    943943
    944             self.year_none_value = (0, empty_label[0])
    945             self.month_none_value = (0, empty_label[1])
    946             self.day_none_value = (0, empty_label[2])
     944            self.year_none_value = ('', empty_label[0])
     945            self.month_none_value = ('', empty_label[1])
     946            self.day_none_value = ('', empty_label[2])
    947947        else:
    948948            if empty_label is not None:
    949                 self.none_value = (0, empty_label)
     949                self.none_value = ('', empty_label)
    950950
    951951            self.year_none_value = self.none_value
    952952            self.month_none_value = self.none_value
  • tests/forms_tests/widget_tests/test_selectdatewidget.py

    diff --git a/tests/forms_tests/widget_tests/test_selectdatewidget.py b/tests/forms_tests/widget_tests/test_selectdatewidget.py
    index 83e7606..3b99e9e 100644
    a b class SelectDateWidgetTest(WidgetTest):  
    1818        self.check_html(self.widget, 'mydate', '', html=(
    1919            """
    2020            <select name="mydate_month" id="id_mydate_month">
    21                 <option value="0">---</option>
     21                <option selected value="">---</option>
    2222                <option value="1">January</option>
    2323                <option value="2">February</option>
    2424                <option value="3">March</option>
    class SelectDateWidgetTest(WidgetTest):  
    3434            </select>
    3535
    3636            <select name="mydate_day" id="id_mydate_day">
    37                 <option value="0">---</option>
     37                <option selected value="">---</option>
    3838                <option value="1">1</option>
    3939                <option value="2">2</option>
    4040                <option value="3">3</option>
    class SelectDateWidgetTest(WidgetTest):  
    6969            </select>
    7070
    7171            <select name="mydate_year" id="id_mydate_year">
    72                 <option value="0">---</option>
     72                <option selected value="">---</option>
    7373                <option value="2007">2007</option>
    7474                <option value="2008">2008</option>
    7575                <option value="2009">2009</option>
    class SelectDateWidgetTest(WidgetTest):  
    9797        self.check_html(self.widget, 'mydate', '2010-04-15', html=(
    9898            """
    9999            <select name="mydate_month" id="id_mydate_month">
    100                 <option value="0">---</option>
     100                <option value="">---</option>
    101101                <option value="1">January</option>
    102102                <option value="2">February</option>
    103103                <option value="3">March</option>
    class SelectDateWidgetTest(WidgetTest):  
    113113            </select>
    114114
    115115            <select name="mydate_day" id="id_mydate_day">
    116                 <option value="0">---</option>
     116                <option value="">---</option>
    117117                <option value="1">1</option>
    118118                <option value="2">2</option>
    119119                <option value="3">3</option>
    class SelectDateWidgetTest(WidgetTest):  
    148148            </select>
    149149
    150150            <select name="mydate_year" id="id_mydate_year">
    151                 <option value="0">---</option>
     151                <option value="">---</option>
    152152                <option value="2007">2007</option>
    153153                <option value="2008">2008</option>
    154154                <option value="2009">2009</option>
    class SelectDateWidgetTest(WidgetTest):  
    176176        self.check_html(self.widget, 'mydate', '2010-02-31', html=(
    177177            """
    178178            <select name="mydate_month" id="id_mydate_month">
    179                 <option value="0">---</option>
     179                <option value="">---</option>
    180180                <option value="1">January</option>
    181181                <option value="2" selected>February</option>
    182182                <option value="3">March</option>
    class SelectDateWidgetTest(WidgetTest):  
    192192            </select>
    193193
    194194            <select name="mydate_day" id="id_mydate_day">
    195                 <option value="0">---</option>
     195                <option value="">---</option>
    196196                <option value="1">1</option>
    197197                <option value="2">2</option>
    198198                <option value="3">3</option>
    class SelectDateWidgetTest(WidgetTest):  
    227227            </select>
    228228
    229229            <select name="mydate_year" id="id_mydate_year">
    230                 <option value="0">---</option>
     230                <option value="">---</option>
    231231                <option value="2007">2007</option>
    232232                <option value="2008">2008</option>
    233233                <option value="2009">2009</option>
    class SelectDateWidgetTest(WidgetTest):  
    247247        self.check_html(widget, 'mydate', '', html=(
    248248            """
    249249            <select name="mydate_month" id="id_mydate_month">
    250                 <option value="0">---</option>
     250                <option selected value="">---</option>
    251251                <option value="1">Jan.</option>
    252252                <option value="2">Feb.</option>
    253253                <option value="3">March</option>
    class SelectDateWidgetTest(WidgetTest):  
    263263            </select>
    264264
    265265            <select name="mydate_day" id="id_mydate_day">
    266                 <option value="0">---</option>
     266                <option selected value="">---</option>
    267267                <option value="1">1</option>
    268268                <option value="2">2</option>
    269269                <option value="3">3</option>
    class SelectDateWidgetTest(WidgetTest):  
    298298            </select>
    299299
    300300            <select name="mydate_year" id="id_mydate_year">
    301                 <option value="0">---</option>
     301                <option selected value="">---</option>
    302302                <option value="2013">2013</option>
    303303            </select>
    304304            """
    class SelectDateWidgetTest(WidgetTest):  
    318318        w = SelectDateWidget(years=('2014',), empty_label='empty_label')
    319319
    320320        # Rendering the default state with empty_label setted as string.
    321         self.assertInHTML('<option value="0">empty_label</option>', w.render('mydate', ''), count=3)
     321        self.assertInHTML('<option selected value="">empty_label</option>', w.render('mydate', ''), count=3)
    322322
    323323        w = SelectDateWidget(years=('2014',), empty_label=('empty_year', 'empty_month', 'empty_day'))
    324324
    class SelectDateWidgetTest(WidgetTest):  
    327327            w.render('mydate', ''),
    328328            """
    329329            <select name="mydate_month" id="id_mydate_month">
    330                 <option value="0">empty_month</option>
     330                <option selected value="">empty_month</option>
    331331                <option value="1">January</option>
    332332                <option value="2">February</option>
    333333                <option value="3">March</option>
    class SelectDateWidgetTest(WidgetTest):  
    343343            </select>
    344344
    345345            <select name="mydate_day" id="id_mydate_day">
    346                 <option value="0">empty_day</option>
     346                <option selected value="">empty_day</option>
    347347                <option value="1">1</option>
    348348                <option value="2">2</option>
    349349                <option value="3">3</option>
    class SelectDateWidgetTest(WidgetTest):  
    378378            </select>
    379379
    380380            <select name="mydate_year" id="id_mydate_year">
    381                 <option value="0">empty_year</option>
     381                <option selected value="">empty_year</option>
    382382                <option value="2014">2014</option>
    383383            </select>
    384384            """,
    class SelectDateWidgetTest(WidgetTest):  
    402402            w.render('date', '13-08-2010'),
    403403            """
    404404            <select name="date_day" id="id_date_day">
    405                 <option value="0">---</option>
     405                <option value="">---</option>
    406406                <option value="1">1</option>
    407407                <option value="2">2</option>
    408408                <option value="3">3</option>
    class SelectDateWidgetTest(WidgetTest):  
    437437            </select>
    438438
    439439            <select name="date_month" id="id_date_month">
    440                 <option value="0">---</option>
     440                <option value="">---</option>
    441441                <option value="1">januari</option>
    442442                <option value="2">februari</option>
    443443                <option value="3">maart</option>
    class SelectDateWidgetTest(WidgetTest):  
    453453            </select>
    454454
    455455            <select name="date_year" id="id_date_year">
    456                 <option value="0">---</option>
     456                <option value="">---</option>
    457457                <option value="2007">2007</option>
    458458                <option value="2008">2008</option>
    459459                <option value="2009">2009</option>
    class SelectDateWidgetTest(WidgetTest):  
    511511        self.check_html(widget, 'mydate', '', html=(
    512512            """
    513513            <select name="mydate_month" id="id_mydate_month">
    514                 <option value="0">---</option>
     514                <option selected value="">---</option>
    515515                <option value="1">January</option>
    516516                <option value="2">February</option>
    517517                <option value="3">March</option>
    class SelectDateWidgetTest(WidgetTest):  
    526526                <option value="12">December</option>
    527527            </select>
    528528            <select name="mydate_day" id="id_mydate_day">
    529                 <option value="0">---</option>
     529                <option selected value="">---</option>
    530530                <option value="1">1</option>
    531531                <option value="2">2</option>
    532532                <option value="3">3</option>
    class SelectDateWidgetTest(WidgetTest):  
    560560                <option value="31">31</option>
    561561            </select>
    562562            <select name="mydate_year" id="id_mydate_year">
    563                 <option value="0">---</option>
     563                <option selected value="">---</option>
    564564                <option value="2007">2007</option>
    565565            </select>
    566566            """
Back to Top