Author: adrian
Date: 2007-02-20 23:59:46 -0600 (Tue, 20 Feb 2007)
New Revision: 4556

Modified:
   django/trunk/django/db/models/fields/__init__.py
   django/trunk/tests/modeltests/model_forms/models.py
Log:
Changed database PhoneNumberField to use USPhoneNumberField as its newforms 
form field (instead of IntegerField)

Modified: django/trunk/django/db/models/fields/__init__.py
===================================================================
--- django/trunk/django/db/models/fields/__init__.py    2007-02-21 05:55:12 UTC 
(rev 4555)
+++ django/trunk/django/db/models/fields/__init__.py    2007-02-21 05:59:46 UTC 
(rev 4556)
@@ -748,6 +748,12 @@
     def validate(self, field_data, all_data):
         validators.isValidPhone(field_data, all_data)
 
+    def formfield(self, **kwargs):
+        from django.contrib.localflavor.usa.forms import USPhoneNumberField
+        defaults = {'required': not self.blank, 'label': 
capfirst(self.verbose_name), 'help_text': self.help_text}
+        defaults.update(kwargs)
+        return USPhoneNumberField(**defaults)
+
 class PositiveIntegerField(IntegerField):
     def get_manipulator_field_objs(self):
         return [oldforms.PositiveIntegerField]

Modified: django/trunk/tests/modeltests/model_forms/models.py
===================================================================
--- django/trunk/tests/modeltests/model_forms/models.py 2007-02-21 05:55:12 UTC 
(rev 4555)
+++ django/trunk/tests/modeltests/model_forms/models.py 2007-02-21 05:59:46 UTC 
(rev 4556)
@@ -54,6 +54,13 @@
     def __str__(self):
         return self.headline
 
+class PhoneNumber(models.Model):
+    phone = models.PhoneNumberField()
+    description = models.CharField(maxlength=20)
+
+    def __str__(self):
+        return self.phone
+
 __test__ = {'API_TESTS': """
 >>> from django.newforms import form_for_model, form_for_instance, 
 >>> save_instance, BaseForm, Form, CharField
 >>> import datetime
@@ -445,4 +452,13 @@
 Traceback (most recent call last):
 ...
 ValidationError: [u'Select a valid choice. 10 is not one of the available 
choices.']
+
+# PhoneNumberField ############################################################
+
+>>> PhoneNumberForm = form_for_model(PhoneNumber)
+>>> f = PhoneNumberForm({'phone': '(312) 555-1212', 'description': 
'Assistance'})
+>>> f.is_valid()
+True
+>>> f.clean_data
+{'phone': u'312-555-1212', 'description': u'Assistance'}
 """}


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to