Django

Code

Changeset 8240

Show
Ignore:
Timestamp:
08/08/08 14:54:34 (4 months ago)
Author:
brosner
Message:

Fixed #8163 -- Restore oldforms admin styling on input fields. Also cleaned up some styles for both tabular and stacked inlines. Thanks Nathan Borror for the patch.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • django/trunk/django/contrib/admin/media/css/forms.css

    r7967 r8240  
    5959.flatpages-flatpage #id_content { height:40.2em; } 
    6060.module table .vPositiveSmallIntegerField { width:2.2em; } 
     61.vTextField { width:20em; } 
     62.vIntegerField { width:5em; } 
    6163 
    6264/* x unsorted */ 
    63 .inline-group {padding:10px; padding-bottom:5px; background:#eee; margin:10px 0;} 
    64 .inline-group h3.header {margin:-5px -10px 5px -10px; background:#bbb; color:#fff; padding:2px 5px 3px 5px; font-size:11px} 
    65 .inline-related {margin-bottom:15px; position:relative;} 
    66 .last-related {margin-bottom:0px;} 
    67 .inline-related h2 { margin:0; padding:2px 5px 3px 5px; font-size:11px; text-align:left; font-weight:bold;  color:#888; } 
    68 .inline-related h2 b {font-weight:normal; color:#aaa;} 
    69 .inline-related h2 span.delete {padding-left:20px; position:absolute; top:0px; right:5px;} 
    70 .inline-related h2 span.delete label {margin-left:2px; padding-top:1px;} 
    71 .inline-related fieldset {background:#fbfbfb;} 
    72 .inline-related fieldset.module h2 { margin:0; padding:2px 5px 3px 5px; font-size:11px; text-align:left; font-weight:bold; background:#bcd; color:#fff; } 
     65.inline-group {padding:0; border:1px solid #ccc; margin:10px 0;} 
     66.inline-group .aligned label { width: 7em; } 
     67 
     68.inline-related {position:relative;} 
     69.inline-related h3 {margin: 0; color:#666; padding:3px 5px; font-size:11px; background:#e1e1e1 url(../img/admin/nav-bg.gif) top left repeat-x; border-bottom:1px solid #ddd;} 
     70.inline-related h3 span.delete {padding-left:20px; position:absolute; top:2px; right:10px;} 
     71.inline-related h3 span.delete label {margin-left:2px; font-size: 11px;} 
     72.inline-related fieldset {margin: 0; background:#fff; border: none; } 
     73.inline-related fieldset.module h3 { margin:0; padding:2px 5px 3px 5px; font-size:11px; text-align:left; font-weight:bold; background:#bcd; color:#fff; } 
    7374.inline-related.tabular fieldset.module table {width:100%;} 
     75.last-related fieldset {border: none;} 
    7476 
    7577.inline-group .tabular tr.has_original td {padding-top:2em;} 
  • django/trunk/django/contrib/admin/media/css/global.css

    r3644 r8240  
    9898.module ul, .module ol { margin-left:1.5em; } 
    9999.module h3 { margin-top:.6em; } 
    100 .module h2, .module caption { margin:0; padding:2px 5px 3px 5px; font-size:11px; text-align:left; font-weight:bold; background:#7CA0C7 url(../img/admin/default-bg.gif) top left repeat-x; color:white; } 
     100.module h2, .module caption, .inline-group h2 { margin:0; padding:2px 5px 3px 5px; font-size:11px; text-align:left; font-weight:bold; background:#7CA0C7 url(../img/admin/default-bg.gif) top left repeat-x; color:white; } 
    101101.module table { border-collapse: collapse; } 
    102102 
  • django/trunk/django/contrib/admin/options.py

    r8236 r8240  
    146146                    } 
    147147                ) 
     148                return db_field.formfield(**kwargs) 
    148149            else: 
    149150                # Otherwise, use the default select widget. 
     
    165166            kwargs['widget'] = widgets.AdminTimeWidget 
    166167            return db_field.formfield(**kwargs) 
    167  
     168         
     169        # For TextFields, add a custom CSS class. 
     170        if isinstance(db_field, models.TextField): 
     171            kwargs['widget'] = widgets.AdminTextareaWidget 
     172            return db_field.formfield(**kwargs) 
     173         
     174        # For URLFields, add a custom CSS class. 
     175        if isinstance(db_field, models.URLField): 
     176            kwargs['widget'] = widgets.AdminURLFieldWidget 
     177            return db_field.formfield(**kwargs) 
     178         
     179        # For IntegerFields, add a custom CSS class. 
     180        if isinstance(db_field, models.IntegerField): 
     181            kwargs['widget'] = widgets.AdminIntegerFieldWidget 
     182            return db_field.formfield(**kwargs) 
     183 
     184        # For TextInputs, add a custom CSS class. 
     185        if isinstance(db_field, models.CharField): 
     186            kwargs['widget'] = widgets.AdminTextInputWidget 
     187            return db_field.formfield(**kwargs) 
     188     
    168189        # For FileFields and ImageFields add a link to the current file. 
    169190        if isinstance(db_field, models.ImageField) or isinstance(db_field, models.FileField): 
  • django/trunk/django/contrib/admin/templates/admin/edit_inline/stacked.html

    r7967 r8240  
    11{% load i18n %} 
    22<div class="inline-group"> 
     3  <h2>{{ inline_admin_formset.opts.verbose_name_plural|title }}</h2> 
    34{{ inline_admin_formset.formset.management_form }} 
    4 {# <h3 class="header">{{ inline_admin_formset.opts.verbose_name_plural|title }}</h3> #} 
    55{{ inline_admin_formset.formset.non_form_errors }} 
    66 
    77{% for inline_admin_form in inline_admin_formset %} 
    88<div class="inline-related {% if forloop.last %}last-related{% endif %}"> 
    9   <h2><b>{{ inline_admin_formset.opts.verbose_name|title }}:</b>&nbsp;{% if inline_admin_form.original %}{{ inline_admin_form.original }}{% else %} #{{ forloop.counter }}{% endif %} 
     9  <h3><b>{{ inline_admin_formset.opts.verbose_name|title }}:</b>&nbsp;{% if inline_admin_form.original %}{{ inline_admin_form.original }}{% else %} #{{ forloop.counter }}{% endif %} 
    1010    {% if inline_admin_formset.formset.can_delete and inline_admin_form.original %}<span class="delete">{{ inline_admin_form.deletion_field.field }} {{ inline_admin_form.deletion_field.label_tag }}</span>{% endif %} 
    11     </h2
     11  </h3
    1212  {% if inline_admin_form.show_url %} 
    1313  <p><a href="/r/{{ inline_admin_form.original.content_type_id }}/{{ inline_admin_form.original.id }}/">View on site</a></p> 
  • django/trunk/django/contrib/admin/templates/admin/edit_inline/tabular.html

    r7967 r8240  
    2020        <tr class="{% cycle row1,row2 %} {% if inline_admin_form.original or inline_admin_form.show_url %}has_original{% endif %}"> 
    2121 
    22         <td class="original">{% if inline_admin_form.original or inline_admin_form.show_url %}<p> 
     22        <td class="original"> 
     23          {% if inline_admin_form.original or inline_admin_form.show_url %}<p> 
    2324          {% if inline_admin_form.original %} {{ inline_admin_form.original }}{% endif %} 
    2425          {% if inline_admin_form.show_url %}<a href="/r/{{ inline_admin_form.original.content_type_id }}/{{ inline_admin_form.original.id }}/">View on site</a>{% endif %} 
     
    4748        {% endfor %} 
    4849                 
    49         {% if inline_admin_formset.formset.can_delete %}<td class="delete">{% if inline_admin_form.original %}{{ inline_admin_form.deletion_field.field }}{% endif %}</td>{% endif %} 
     50        {% if inline_admin_formset.formset.can_delete %} 
     51          <td class="delete">{% if inline_admin_form.original %}{{ inline_admin_form.deletion_field.field }}{% endif %}</td> 
     52        {% endif %} 
    5053         
    5154        </tr> 
  • django/trunk/django/contrib/admin/widgets.py

    r8046 r8240  
    209209    def id_for_label(self, id_): 
    210210        return self.widget.id_for_label(id_) 
     211 
     212class AdminTextareaWidget(forms.Textarea): 
     213    def __init__(self, attrs={}): 
     214        super(AdminTextareaWidget, self).__init__(attrs={'class': 'vLargeTextField'}) 
     215 
     216class AdminTextInputWidget(forms.TextInput): 
     217    def __init__(self, attrs={}): 
     218        super(AdminTextInputWidget, self).__init__(attrs={'class': 'vTextField'}) 
     219 
     220class AdminURLFieldWidget(forms.TextInput): 
     221    def __init__(self, attrs={}): 
     222        super(AdminURLFieldWidget, self).__init__(attrs={'class': 'vURLField'}) 
     223 
     224class AdminIntegerFieldWidget(forms.TextInput): 
     225    def __init__(self, attrs={}): 
     226        super(AdminIntegerFieldWidget, self).__init__(attrs={'class': 'vIntegerField'})