Django

Code

Changeset 741

Show
Ignore:
Timestamp:
09/30/05 08:39:24 (3 years ago)
Author:
rjwittams
Message:

Merged trunk changes, and converted submit lines to use a template

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • django/branches/new-admin/django/conf/admin_media/css/changelists.css

    r154 r741  
    1919#changelist {position:relative; width:100%;} 
    2020#changelist table {width:100%;} 
    21 .change-list .filtered table { border-right:1px solid #ddd; } 
     21.change-list .filtered table { border-right:1px solid #ddd, width:100%; } 
    2222.change-list .filtered {min-height:400px; _height:400px;} 
    2323.change-list .filtered {background:white url(../img/admin/changelist-bg.gif) top right repeat-y !important;} 
    24 .change-list .filtered table, .filtered .paginator, .filtered #toolbar, .filtered div.xfull {margin-right:160px !important; width:auto !important; } 
     24.change-list .filtered .paginator, .filtered #toolbar, .filtered div.xfull {margin-right:160px !important; width:auto !important; } 
    2525.change-list .filtered table tbody th {padding-right:10px;} 
    2626#changelist .toplinks {border-bottom:1px solid #ccc !important;} 
  • django/branches/new-admin/django/core/defaulttags.py

    r740 r741  
    9999                'counter0': i, 
    100100                'counter': i+1, 
     101                # reverse counter iteration numbers 
     102                'revcounter': len_values - i, 
     103                'revcounter0': len_values - i - 1, 
    101104                # boolean values designating first and last times through loop 
    102105                'first': (i == 0), 
     
    446449        ``forloop.counter``         The current iteration of the loop (1-indexed) 
    447450        ``forloop.counter0``        The current iteration of the loop (0-indexed) 
     451        ``forloop.revcounter``      The number of iterations from the end of the  
     452                                    loop (1-indexed) 
     453        ``forloop.revcounter0``     The number of iterations from the end of the  
     454                                    loop (0-indexed) 
    448455        ``forloop.first``           True if this is the first time through the loop 
    449456        ``forloop.last``            True if this is the last time through the loop 
  • django/branches/new-admin/django/core/management.py

    r713 r741  
    157157def get_sql_initial_data(mod): 
    158158    "Returns a list of the initial INSERT SQL statements for the given module." 
     159    from django.core import db 
    159160    output = [] 
    160161    app_label = mod._MODELS[0]._meta.app_label 
     
    163164    for klass in mod._MODELS: 
    164165        opts = klass._meta 
     166 
    165167        # Add custom SQL, if it's available. 
    166         sql_file_name = os.path.join(app_dir, opts.module_name + '.sql') 
    167         if os.path.exists(sql_file_name): 
    168             fp = open(sql_file_name, 'r') 
    169             output.append(fp.read()) 
    170             fp.close() 
     168        sql_files = [os.path.join(app_dir, opts.module_name + '.' + db.DATABASE_ENGINE +  '.sql'), 
     169                     os.path.join(app_dir, opts.module_name + '.sql')] 
     170        for sql_file in sql_files: 
     171            if os.path.exists(sql_file): 
     172                fp = open(sql_file) 
     173                output.append(fp.read()) 
     174                fp.close() 
     175 
    171176        # Content types. 
    172177        output.append(_get_contenttype_insert(opts)) 
  • django/branches/new-admin/django/templatetags/admin_modify.py

    r740 r741  
    11from django.core import template, template_loader, meta 
     2from django.core.template_loader import render_to_string 
    23from django.conf.settings import ADMIN_MEDIA_PREFIX 
    34from django.utils.text import capfirst 
     
    910 
    1011class IncludeAdminScriptNode(template.Node): 
    11       def __init__(self, var): 
    12       self.var = var 
     12    def __init__(self, var): 
     13      self.var = var 
    1314  
    14       def render(self, context): 
     15    def render(self, context): 
    1516        resolved = template.resolve_variable(self.var, context) 
    16        return '<script type="text/javascript" src="%s%s"></script>' % \ 
    17                (ADMIN_MEDIA_PREFIX, resolved) 
     17        return '<script type="text/javascript" src="%s%s"></script>' % \ 
     18            (ADMIN_MEDIA_PREFIX, resolved) 
    1819           
    1920class SubmitRowNode(template.Node): 
    20       def __init__(self): 
    21           pass 
    22  
    23       def render(self, context): 
    24           change = context['change'] 
    25           add = context['add'] 
    26           show_delete = context['show_delete'] 
    27           ordered_objects = context['ordered_objects'] 
    28           save_as = context['save_as'] 
    29           has_delete_permission = context['has_delete_permission'] 
    30           is_popup = context['is_popup'] 
    31            
    32           t = ['<div class="submit-row">'] 
    33           onclick_attrib = ordered_objects and change and 'onclick="submitOrderForm();"' or ''  
    34            
    35           if not is_popup: 
    36                 if has_delete_permission and (change or show_delete): 
    37                    t.append('<p class="float-left"><a href="delete/" class="deletelink">Delete</a></p>') 
    38                 if change and save_as: 
    39                    t.append('<input type="submit" value="Save as new" name="_saveasnew" %s/>' %  onclick_attrib) 
    40                 if (not save_as or add): 
    41                    t.append('<input type="submit" value="Save and add another" name="_addanother" %s/>' %  onclick_attrib) 
    42           t.append('<input type="submit" value="Save and continue editing" name="_continue" %s/>' %  onclick_attrib ) 
    43           t.append('<input type="submit" value="Save" class="default" %s/>' %  onclick_attrib) 
    44           t.append('</div>\n') 
     21    def __init__(self): 
     22        pass 
     23 
     24    def render(self, context):         
     25        change = context['change'] 
     26        add = context['add'] 
     27        show_delete = context['show_delete'] 
     28        ordered_objects = context['ordered_objects'] 
     29        save_as = context['save_as'] 
     30        has_delete_permission = context['has_delete_permission'] 
     31        is_popup = context['is_popup'] 
     32           
     33         
     34        output = render_to_string('admin_submit_line', { 
     35            'onclick_attrib' : (ordered_objects and change  
     36                                and 'onclick="submitOrderForm();"' or ''),  
     37            'show_delete_link' : (not is_popup and has_delete_permission  
     38                                  and (change or show_delete)),  
     39            'show_save_as_new' : not is_popup and change and save_as, 
     40            'show_save_and_add_another': not is_popup and (not save_as or add), 
     41            'show_save_and_continue': not is_popup, 
     42            'show_save': True 
     43          }, context); 
     44        context.pop()  
     45        return output; 
     46#         t = ['<div class="submit-row">'] 
     47           
     48#         if not is_popup: 
     49#               if has_delete_permission and (change or show_delete): 
     50#                  t.append('<p class="float-left"><a href="delete/" class="deletelink">Delete</a></p>') 
     51#               if change and save_as: 
     52#                  t.append('<input type="submit" value="Save as new" name="_saveasnew" %s/>' %  onclick_attrib) 
     53#                if (not save_as or add): 
     54#                  t.append('<input type="submit" value="Save and add another" name="_addanother" %s/>' %  onclick_attrib) 
     55#               t.append('<input type="submit" value="Save and continue editing" name="_continue" %s/>' %  onclick_attrib ) 
     56#         t.append('<input type="submit" value="Save" class="default" %s/>' %  onclick_attrib) 
     57#         t.append('</div>\n') 
    4558          
    46         return ''.join(t) 
     59#       return ''.join(t) 
    4760 
    4861 
  • django/branches/new-admin/django/views/admin/main.py

    r740 r741  
    507507        t.append('{%% if not is_popup %%}<input type="submit" value="Save and add another" name="_addanother" %s/>{%% endif %%}' % \ 
    508508            (ordered_objects and change and 'onclick="submitOrderForm();"' or '')) 
    509     t.append('<input type="submit" value="Save and continue editing" name="_continue" %s/>' % \ 
     509    t.append('{%% if not is_popup %%}<input type="submit" value="Save and continue editing" name="_continue" %s/>{%% endif %%}' % \ 
    510510        (ordered_objects and change and 'onclick="submitOrderForm();"' or '')) 
    511511    t.append('<input type="submit" value="Save" class="default" %s/>' % \ 
  • django/branches/new-admin/django/views/generic/create_update.py

    r492 r741  
    99 
    1010def create_object(request, app_label, module_name, template_name=None,  
    11                  extra_context={}, post_save_redirect=None, login_required=False): 
     11                 template_loader=template_loader, extra_context={},  
     12                 post_save_redirect=None, login_required=False): 
    1213    """ 
    1314    Generic object-creation function. 
     
    6667 
    6768def update_object(request, app_label, module_name, object_id=None, slug=None,  
    68                   slug_field=None, template_name=None, extra_lookup_kwargs={},  
    69                   extra_context={}, post_save_redirect=None, login_required=False): 
     69                  slug_field=None, template_name=None, template_loader=template_loader, 
     70                  extra_lookup_kwargs={}, extra_context={}, post_save_redirect=None,  
     71                  login_required=False): 
    7072    """ 
    7173    Generic object-update function. 
     
    140142def delete_object(request, app_label, module_name, post_delete_redirect,  
    141143                  object_id=None, slug=None, slug_field=None, template_name=None,  
    142                   extra_lookup_kwargs={}, extra_context={}, login_required=False): 
     144                  template_loader=template_loader, extra_lookup_kwargs={},  
     145                  extra_context={}, login_required=False): 
    143146    """ 
    144147    Generic object-delete function. 
  • django/branches/new-admin/django/views/generic/date_based.py

    r312 r741  
    88 
    99def archive_index(request, app_label, module_name, date_field, num_latest=15, 
    10                   template_name=None, extra_lookup_kwargs={}, extra_context={}): 
     10                  template_name=None, template_loader=template_loader, 
     11                  extra_lookup_kwargs={}, extra_context={}): 
    1112    """ 
    1213    Generic top-level archive of date-based objects. 
     
    5051 
    5152def archive_year(request, year, app_label, module_name, date_field, 
    52                  template_name=None, extra_lookup_kwargs={}, extra_context={}): 
     53                 template_name=None, template_loader=template_loader, 
     54                 extra_lookup_kwargs={}, extra_context={}): 
    5355    """ 
    5456    Generic yearly archive view. 
     
    8688 
    8789def archive_month(request, year, month, app_label, module_name, date_field, 
    88                   month_format='%b', template_name=None, extra_lookup_kwargs={}
    89                   extra_context={}): 
     90                  month_format='%b', template_name=None, template_loader=template_loader
     91                  extra_lookup_kwargs={}, extra_context={}): 
    9092    """ 
    9193    Generic monthly archive view. 
     
    139141def archive_day(request, year, month, day, app_label, module_name, date_field, 
    140142                month_format='%b', day_format='%d', template_name=None, 
    141                 extra_lookup_kwargs={}, extra_context={}, allow_empty=False): 
     143                template_loader=template_loader, extra_lookup_kwargs={},  
     144                extra_context={}, allow_empty=False): 
    142145    """ 
    143146    Generic daily archive view. 
     
    202205                  month_format='%b', day_format='%d', object_id=None, slug=None, 
    203206                  slug_field=None, template_name=None, template_name_field=None, 
    204                   extra_lookup_kwargs={}, extra_context={}): 
     207                  template_loader=template_loader, extra_lookup_kwargs={},  
     208                  extra_context={}): 
    205209    """ 
    206210    Generic detail view from year/month/day/slug or year/month/day/id structure. 
  • django/branches/new-admin/django/views/generic/list_detail.py

    r618 r741  
    88 
    99def object_list(request, app_label, module_name, paginate_by=None, allow_empty=False, 
    10                 template_name=None, extra_lookup_kwargs={}, extra_context={}): 
     10                template_name=None, template_loader=template_loader,  
     11                extra_lookup_kwargs={}, extra_context={}): 
    1112    """ 
    1213    Generic list of objects. 
     
    7778def object_detail(request, app_label, module_name, object_id=None, slug=None, 
    7879                  slug_field=None, template_name=None, template_name_field=None, 
    79                   extra_lookup_kwargs={}, extra_context={}): 
     80                  template_loader=template_loader, extra_lookup_kwargs={},  
     81                  extra_context={}): 
    8082    """ 
    8183    Generic list of objects. 
  • django/branches/new-admin/docs/templates.txt

    r681 r741  
    377377        ``forloop.counter``         The current iteration of the loop (1-indexed) 
    378378        ``forloop.counter0``        The current iteration of the loop (0-indexed) 
     379        ``forloop.revcounter``      The number of iterations from the end of the  
     380                                    loop (1-indexed) 
     381        ``forloop.revcounter0``     The number of iterations from the end of the  
     382                                    loop (0-indexed) 
    379383        ``forloop.first``           True if this is the first time through the loop 
    380384        ``forloop.last``            True if this is the last time through the loop 
  • django/branches/new-admin/tests/othertests/templates.py

    r715 r741  
    108108    'for-tag01': ("{% for val in values %}{{ val }}{% endfor %}", {"values": [1, 2, 3]}, "123"), 
    109109    'for-tag02': ("{% for val in values reversed %}{{ val }}{% endfor %}", {"values": [1, 2, 3]}, "321"), 
     110    'for-tag-vars01': ("{% for val in values %}{{ forloop.counter }}{% endfor %}", {"values": [6, 6, 6]}, "123"), 
     111    'for-tag-vars02': ("{% for val in values %}{{ forloop.counter0 }}{% endfor %}", {"values": [6, 6, 6]}, "012"), 
     112    'for-tag-vars03': ("{% for val in values %}{{ forloop.revcounter }}{% endfor %}", {"values": [6, 6, 6]}, "321"), 
     113    'for-tag-vars04': ("{% for val in values %}{{ forloop.revcounter0 }}{% endfor %}", {"values": [6, 6, 6]}, "210"), 
    110114 
    111115    ### IFEQUAL TAG ###########################################################