mirror of
https://github.com/django/django.git
synced 2025-08-03 10:34:04 +00:00
Refactor the choices for localflavor's USStateField, and add new US postal code support. Fixes #14937 and #9022, refs #10308 and #8425.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@15029 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
f117b91b41
commit
5ed6e7a4d5
7 changed files with 312 additions and 15 deletions
|
@ -1,5 +1,6 @@
|
|||
from django.db import models
|
||||
from django.contrib.localflavor.us.models import USStateField
|
||||
from django.contrib.localflavor.us.models import USPostalCodeField
|
||||
|
||||
# When creating models you need to remember to add a app_label as
|
||||
# 'localflavor', so your model can be found
|
||||
|
@ -8,6 +9,7 @@ class USPlace(models.Model):
|
|||
state = USStateField(blank=True)
|
||||
state_req = USStateField()
|
||||
state_default = USStateField(default="CA", blank=True)
|
||||
postal_code = USPostalCodeField(blank=True)
|
||||
name = models.CharField(max_length=20)
|
||||
class Meta:
|
||||
app_label = 'localflavor'
|
||||
|
|
|
@ -3,7 +3,7 @@ from forms import USPlaceForm
|
|||
|
||||
class USLocalflavorTests(TestCase):
|
||||
def setUp(self):
|
||||
self.form = USPlaceForm({'state':'GA', 'state_req':'NC', 'name':'impossible'})
|
||||
self.form = USPlaceForm({'state':'GA', 'state_req':'NC', 'postal_code': 'GA', 'name':'impossible'})
|
||||
|
||||
def test_get_display_methods(self):
|
||||
"""Test that the get_*_display() methods are added to the model instances."""
|
||||
|
@ -24,7 +24,6 @@ class USLocalflavorTests(TestCase):
|
|||
<option value="">---------</option>
|
||||
<option value="AL">Alabama</option>
|
||||
<option value="AK">Alaska</option>
|
||||
<option value="AS">American Samoa</option>
|
||||
<option value="AZ">Arizona</option>
|
||||
<option value="AR">Arkansas</option>
|
||||
<option value="CA">California</option>
|
||||
|
@ -34,7 +33,6 @@ class USLocalflavorTests(TestCase):
|
|||
<option value="DC">District of Columbia</option>
|
||||
<option value="FL">Florida</option>
|
||||
<option value="GA" selected="selected">Georgia</option>
|
||||
<option value="GU">Guam</option>
|
||||
<option value="HI">Hawaii</option>
|
||||
<option value="ID">Idaho</option>
|
||||
<option value="IL">Illinois</option>
|
||||
|
@ -59,12 +57,10 @@ class USLocalflavorTests(TestCase):
|
|||
<option value="NY">New York</option>
|
||||
<option value="NC">North Carolina</option>
|
||||
<option value="ND">North Dakota</option>
|
||||
<option value="MP">Northern Mariana Islands</option>
|
||||
<option value="OH">Ohio</option>
|
||||
<option value="OK">Oklahoma</option>
|
||||
<option value="OR">Oregon</option>
|
||||
<option value="PA">Pennsylvania</option>
|
||||
<option value="PR">Puerto Rico</option>
|
||||
<option value="RI">Rhode Island</option>
|
||||
<option value="SC">South Carolina</option>
|
||||
<option value="SD">South Dakota</option>
|
||||
|
@ -72,11 +68,88 @@ class USLocalflavorTests(TestCase):
|
|||
<option value="TX">Texas</option>
|
||||
<option value="UT">Utah</option>
|
||||
<option value="VT">Vermont</option>
|
||||
<option value="VI">Virgin Islands</option>
|
||||
<option value="VA">Virginia</option>
|
||||
<option value="WA">Washington</option>
|
||||
<option value="WV">West Virginia</option>
|
||||
<option value="WI">Wisconsin</option>
|
||||
<option value="WY">Wyoming</option>
|
||||
<option value="AS">American Samoa</option>
|
||||
<option value="GU">Guam</option>
|
||||
<option value="MP">Northern Mariana Islands</option>
|
||||
<option value="PR">Puerto Rico</option>
|
||||
<option value="VI">Virgin Islands</option>
|
||||
<option value="AA">Armed Forces Americas</option>
|
||||
<option value="AE">Armed Forces Europe</option>
|
||||
<option value="AP">Armed Forces Pacific</option>
|
||||
</select>"""
|
||||
self.assertEqual(str(self.form['state']), state_select_html)
|
||||
|
||||
def test_full_postal_code_list(self):
|
||||
"""Test that the full USPS code field is really the full list."""
|
||||
usps_select_html = """\
|
||||
<select name="postal_code" id="id_postal_code">
|
||||
<option value="">---------</option>
|
||||
<option value="AL">Alabama</option>
|
||||
<option value="AK">Alaska</option>
|
||||
<option value="AZ">Arizona</option>
|
||||
<option value="AR">Arkansas</option>
|
||||
<option value="CA">California</option>
|
||||
<option value="CO">Colorado</option>
|
||||
<option value="CT">Connecticut</option>
|
||||
<option value="DE">Delaware</option>
|
||||
<option value="DC">District of Columbia</option>
|
||||
<option value="FL">Florida</option>
|
||||
<option value="GA" selected="selected">Georgia</option>
|
||||
<option value="HI">Hawaii</option>
|
||||
<option value="ID">Idaho</option>
|
||||
<option value="IL">Illinois</option>
|
||||
<option value="IN">Indiana</option>
|
||||
<option value="IA">Iowa</option>
|
||||
<option value="KS">Kansas</option>
|
||||
<option value="KY">Kentucky</option>
|
||||
<option value="LA">Louisiana</option>
|
||||
<option value="ME">Maine</option>
|
||||
<option value="MD">Maryland</option>
|
||||
<option value="MA">Massachusetts</option>
|
||||
<option value="MI">Michigan</option>
|
||||
<option value="MN">Minnesota</option>
|
||||
<option value="MS">Mississippi</option>
|
||||
<option value="MO">Missouri</option>
|
||||
<option value="MT">Montana</option>
|
||||
<option value="NE">Nebraska</option>
|
||||
<option value="NV">Nevada</option>
|
||||
<option value="NH">New Hampshire</option>
|
||||
<option value="NJ">New Jersey</option>
|
||||
<option value="NM">New Mexico</option>
|
||||
<option value="NY">New York</option>
|
||||
<option value="NC">North Carolina</option>
|
||||
<option value="ND">North Dakota</option>
|
||||
<option value="OH">Ohio</option>
|
||||
<option value="OK">Oklahoma</option>
|
||||
<option value="OR">Oregon</option>
|
||||
<option value="PA">Pennsylvania</option>
|
||||
<option value="RI">Rhode Island</option>
|
||||
<option value="SC">South Carolina</option>
|
||||
<option value="SD">South Dakota</option>
|
||||
<option value="TN">Tennessee</option>
|
||||
<option value="TX">Texas</option>
|
||||
<option value="UT">Utah</option>
|
||||
<option value="VT">Vermont</option>
|
||||
<option value="VA">Virginia</option>
|
||||
<option value="WA">Washington</option>
|
||||
<option value="WV">West Virginia</option>
|
||||
<option value="WI">Wisconsin</option>
|
||||
<option value="WY">Wyoming</option>
|
||||
<option value="AS">American Samoa</option>
|
||||
<option value="GU">Guam</option>
|
||||
<option value="MP">Northern Mariana Islands</option>
|
||||
<option value="PR">Puerto Rico</option>
|
||||
<option value="VI">Virgin Islands</option>
|
||||
<option value="AA">Armed Forces Americas</option>
|
||||
<option value="AE">Armed Forces Europe</option>
|
||||
<option value="AP">Armed Forces Pacific</option>
|
||||
<option value="FM">Federated States of Micronesia</option>
|
||||
<option value="MH">Marshall Islands</option>
|
||||
<option value="PW">Palau</option>
|
||||
</select>"""
|
||||
self.assertEqual(str(self.form['postal_code']), usps_select_html)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue