Fixed #15623 -- Corrected province codes for Canadian localflavor. Thanks to shelldweller for the report.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@15864 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Russell Keith-Magee 2011-03-17 00:59:30 +00:00
parent c2ae6b2af7
commit 1af33427cb
3 changed files with 35 additions and 9 deletions

View File

@ -8,13 +8,18 @@ Source: http://www.canada.gc.ca/othergov/prov_e.html
This exists in this standalone file so that it's only imported into memory
when explicitly needed.
"""
import warnings
warnings.warn(
'There have been recent changes to the CA localflavor. See the release notes for details',
RuntimeWarning
)
PROVINCE_CHOICES = (
('AB', 'Alberta'),
('BC', 'British Columbia'),
('MB', 'Manitoba'),
('NB', 'New Brunswick'),
('NF', 'Newfoundland and Labrador'),
('NL', 'Newfoundland and Labrador'),
('NT', 'Northwest Territories'),
('NS', 'Nova Scotia'),
('NU', 'Nunavut'),
@ -22,7 +27,7 @@ PROVINCE_CHOICES = (
('PE', 'Prince Edward Island'),
('QC', 'Quebec'),
('SK', 'Saskatchewan'),
('YK', 'Yukon')
('YT', 'Yukon')
)
PROVINCES_NORMALIZED = {
@ -35,9 +40,10 @@ PROVINCES_NORMALIZED = {
'manitoba': 'MB',
'nb': 'NB',
'new brunswick': 'NB',
'nf': 'NF',
'newfoundland': 'NF',
'newfoundland and labrador': 'NF',
'nf': 'NL',
'nl': 'NL',
'newfoundland': 'NL',
'newfoundland and labrador': 'NL',
'nt': 'NT',
'northwest territories': 'NT',
'ns': 'NS',
@ -54,6 +60,8 @@ PROVINCES_NORMALIZED = {
'quebec': 'QC',
'sk': 'SK',
'saskatchewan': 'SK',
'yk': 'YK',
'yukon': 'YK',
'yk': 'YT',
'yt': 'YT',
'yukon': 'YT',
'yukon territory': 'YT',
}

View File

@ -475,6 +475,11 @@ local flavors:
has been removed from the province list in favor of the new
official designation "Aceh (ACE)".
* Canada (ca) -- The province "Newfoundland and Labrador" has
had its province code updated to "NL", rather than the
older "NF". In addition, the Yukon Territory has had its
province code corrected to "YT", instead of "YK".
FormSet updates
~~~~~~~~~~~~~~~

View File

@ -1,3 +1,5 @@
import warnings
from django.contrib.localflavor.ca.forms import (CAPostalCodeField,
CAPhoneNumberField, CAProvinceField, CAProvinceSelect,
CASocialInsuranceNumberField)
@ -6,6 +8,17 @@ from utils import LocalFlavorTestCase
class CALocalFlavorTests(LocalFlavorTestCase):
def setUp(self):
self.save_warnings_state()
warnings.filterwarnings(
"ignore",
category=RuntimeWarning,
module='django.contrib.localflavor.ca.ca_provinces'
)
def tearDown(self):
self.restore_warnings_state()
def test_CAProvinceSelect(self):
f = CAProvinceSelect()
out = u'''<select name="province">
@ -13,7 +26,7 @@ class CALocalFlavorTests(LocalFlavorTestCase):
<option value="BC">British Columbia</option>
<option value="MB">Manitoba</option>
<option value="NB">New Brunswick</option>
<option value="NF">Newfoundland and Labrador</option>
<option value="NL">Newfoundland and Labrador</option>
<option value="NT">Northwest Territories</option>
<option value="NS">Nova Scotia</option>
<option value="NU">Nunavut</option>
@ -21,7 +34,7 @@ class CALocalFlavorTests(LocalFlavorTestCase):
<option value="PE">Prince Edward Island</option>
<option value="QC">Quebec</option>
<option value="SK">Saskatchewan</option>
<option value="YK">Yukon</option>
<option value="YT">Yukon</option>
</select>'''
self.assertEqual(f.render('province', 'AB'), out)