Django

Code

Changeset 7177

Show
Ignore:
Timestamp:
02/28/08 23:41:32 (6 months ago)
Author:
brosner
Message:

newforms-admin: Fixed #4641. ForeignKeyRawIdWidget? now properly displays the related object value. Thanks, Matthew Flanagan for the original patch.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • django/branches/newforms-admin/django/contrib/admin/tests/widgets.py

    r6898 r7177  
    88>>> from django.contrib.admin.widgets import RelatedFieldWidgetWrapper 
    99>>> from django.contrib.admin.models import LogEntry 
     10>>> from django.contrib.auth.models import User 
    1011 
    1112Calling conditional_escape on the output of widget.render will simulate what 
     
    3031Currently: <a target="_blank" href="%(MEDIA_URL)stest">test</a> <br>Change: <input type="file" name="test" /> 
    3132 
     33To test ForeignKeyRawIdWidget a user object must be created. Its pk is 
     34explicitly set to 100 to avoid having to potentially overmatch in the test. 
     35 
     36>>> user = User.objects.create(pk=100, username='jdoe') 
     37>>> entry = LogEntry(action_flag=1, user=user) 
     38>>> entry.save() 
    3239>>> rel = LogEntry._meta.get_field('user').rel 
    3340>>> w = ForeignKeyRawIdWidget(rel) 
    34 >>> print conditional_escape(w.render('test', 'test', attrs={})) 
    35 <input type="text" name="test" value="test" class="vForeignKeyRawIdAdminField" /><a href="../../../auth/user/" class="related-lookup" id="lookup_id_test" onclick="return showRelatedObjectLookupPopup(this);"> <img src="%(ADMIN_MEDIA_PREFIX)simg/admin/selector-search.gif" width="16" height="16" alt="Lookup"></a
     41>>> print conditional_escape(w.render('test', entry.user.pk, attrs={})) 
     42<input type="text" name="test" value="100" class="vForeignKeyRawIdAdminField" /><a href="../../../auth/user/" class="related-lookup" id="lookup_id_test" onclick="return showRelatedObjectLookupPopup(this);"> <img src="%(ADMIN_MEDIA_PREFIX)simg/admin/selector-search.gif" width="16" height="16" alt="Lookup"></a>&nbsp;<strong>jdoe</strong
    3643 
    3744""" % { 
  • django/branches/newforms-admin/django/contrib/admin/widgets.py

    r6782 r7177  
    55from django import newforms as forms 
    66from django.utils.datastructures import MultiValueDict 
    7 from django.utils.text import capfirst 
     7from django.utils.text import capfirst, truncate_words 
    88from django.utils.translation import ugettext as _ 
    99from django.utils.safestring import mark_safe 
     
    101101            (related_url, url, name)) 
    102102        output.append('<img src="%simg/admin/selector-search.gif" width="16" height="16" alt="Lookup"></a>' % settings.ADMIN_MEDIA_PREFIX) 
     103        if value: 
     104            output.append('&nbsp;<strong>%s</strong>' % \ 
     105                truncate_words(self.rel.to.objects.get(pk=value), 14)) 
    103106        return mark_safe(u''.join(output)) 
    104         #if self.change: # TODO 
    105             #output.append('&nbsp;<strong>TODO</strong>') 
    106107             
    107108class ManyToManyRawIdWidget(ForeignKeyRawIdWidget):