diff options
| author | Andy Freeland | 2013-07-04 01:51:24 -0400 | 
|---|---|---|
| committer | Andy Freeland | 2013-07-04 01:51:24 -0400 | 
| commit | 7d43f41e4aa50c4258ec1d7b63dd62a01440fa9d (patch) | |
| tree | 32000eb5d76544a1a6323b5d0d62b514724d772a /rest_framework/fields.py | |
| parent | 7c0019854bd0ed18f4b189f14232f7406977d897 (diff) | |
| download | django-rest-framework-7d43f41e4aa50c4258ec1d7b63dd62a01440fa9d.tar.bz2 | |
Remove 'Hold down "Control" ...' message from help_text
When getting the help_text from a field where `many=True`, Django
appends 'Hold down "Control", or "Command" on a Mac, to select more than
one.' to the help_text. This makes some sense in Django's ModelForms,
but no sense in the API.
Diffstat (limited to 'rest_framework/fields.py')
| -rw-r--r-- | rest_framework/fields.py | 15 | 
1 files changed, 14 insertions, 1 deletions
| diff --git a/rest_framework/fields.py b/rest_framework/fields.py index 35848b4c..1a0ad3b9 100644 --- a/rest_framework/fields.py +++ b/rest_framework/fields.py @@ -100,6 +100,19 @@ def humanize_strptime(format_string):      return format_string +def strip_multiple_choice_msg(help_text): +    """ +    Remove the 'Hold down "control" ...' message that is enforced in select +    multiple fields. + +    See https://code.djangoproject.com/ticket/9321 +    """ +    multiple_choice_msg = _(' Hold down "Control", or "Command" on a Mac, to select more than one.') +    multiple_choice_msg = unicode(multiple_choice_msg) + +    return help_text.replace(multiple_choice_msg, '') + +  class Field(object):      read_only = True      creation_counter = 0 @@ -122,7 +135,7 @@ class Field(object):              self.label = smart_text(label)          if help_text is not None: -            self.help_text = smart_text(help_text) +            self.help_text = strip_multiple_choice_msg(smart_text(help_text))      def initialize(self, parent, field_name):          """ | 
