Changeset 741
- Timestamp:
- 09/30/05 08:39:24 (3 years ago)
- Files:
-
- django/branches/new-admin/django/conf/admin_media/css/changelists.css (modified) (1 diff)
- django/branches/new-admin/django/conf/admin_templates/admin_submit_line.html (added)
- django/branches/new-admin/django/core/defaulttags.py (modified) (2 diffs)
- django/branches/new-admin/django/core/management.py (modified) (2 diffs)
- django/branches/new-admin/django/templatetags/admin_modify.py (modified) (2 diffs)
- django/branches/new-admin/django/views/admin/main.py (modified) (1 diff)
- django/branches/new-admin/django/views/generic/create_update.py (modified) (3 diffs)
- django/branches/new-admin/django/views/generic/date_based.py (modified) (5 diffs)
- django/branches/new-admin/django/views/generic/list_detail.py (modified) (2 diffs)
- django/branches/new-admin/docs/templates.txt (modified) (1 diff)
- django/branches/new-admin/tests/othertests/templates.py (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
django/branches/new-admin/django/conf/admin_media/css/changelists.css
r154 r741 19 19 #changelist {position:relative; width:100%;} 20 20 #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%; } 22 22 .change-list .filtered {min-height:400px; _height:400px;} 23 23 .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; } 25 25 .change-list .filtered table tbody th {padding-right:10px;} 26 26 #changelist .toplinks {border-bottom:1px solid #ccc !important;} django/branches/new-admin/django/core/defaulttags.py
r740 r741 99 99 'counter0': i, 100 100 'counter': i+1, 101 # reverse counter iteration numbers 102 'revcounter': len_values - i, 103 'revcounter0': len_values - i - 1, 101 104 # boolean values designating first and last times through loop 102 105 'first': (i == 0), … … 446 449 ``forloop.counter`` The current iteration of the loop (1-indexed) 447 450 ``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) 448 455 ``forloop.first`` True if this is the first time through the loop 449 456 ``forloop.last`` True if this is the last time through the loop django/branches/new-admin/django/core/management.py
r713 r741 157 157 def get_sql_initial_data(mod): 158 158 "Returns a list of the initial INSERT SQL statements for the given module." 159 from django.core import db 159 160 output = [] 160 161 app_label = mod._MODELS[0]._meta.app_label … … 163 164 for klass in mod._MODELS: 164 165 opts = klass._meta 166 165 167 # 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 171 176 # Content types. 172 177 output.append(_get_contenttype_insert(opts)) django/branches/new-admin/django/templatetags/admin_modify.py
r740 r741 1 1 from django.core import template, template_loader, meta 2 from django.core.template_loader import render_to_string 2 3 from django.conf.settings import ADMIN_MEDIA_PREFIX 3 4 from django.utils.text import capfirst … … 9 10 10 11 class IncludeAdminScriptNode(template.Node): 11 def __init__(self, var):12 self.var = var12 def __init__(self, var): 13 self.var = var 13 14 14 def render(self, context):15 def render(self, context): 15 16 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) 18 19 19 20 class 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') 45 58 46 return ''.join(t)59 # return ''.join(t) 47 60 48 61 django/branches/new-admin/django/views/admin/main.py
r740 r741 507 507 t.append('{%% if not is_popup %%}<input type="submit" value="Save and add another" name="_addanother" %s/>{%% endif %%}' % \ 508 508 (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 %%}' % \ 510 510 (ordered_objects and change and 'onclick="submitOrderForm();"' or '')) 511 511 t.append('<input type="submit" value="Save" class="default" %s/>' % \ django/branches/new-admin/django/views/generic/create_update.py
r492 r741 9 9 10 10 def 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): 12 13 """ 13 14 Generic object-creation function. … … 66 67 67 68 def 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): 70 72 """ 71 73 Generic object-update function. … … 140 142 def delete_object(request, app_label, module_name, post_delete_redirect, 141 143 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): 143 146 """ 144 147 Generic object-delete function. django/branches/new-admin/django/views/generic/date_based.py
r312 r741 8 8 9 9 def 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={}): 11 12 """ 12 13 Generic top-level archive of date-based objects. … … 50 51 51 52 def 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={}): 53 55 """ 54 56 Generic yearly archive view. … … 86 88 87 89 def 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={}): 90 92 """ 91 93 Generic monthly archive view. … … 139 141 def archive_day(request, year, month, day, app_label, module_name, date_field, 140 142 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): 142 145 """ 143 146 Generic daily archive view. … … 202 205 month_format='%b', day_format='%d', object_id=None, slug=None, 203 206 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={}): 205 209 """ 206 210 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 8 8 9 9 def 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={}): 11 12 """ 12 13 Generic list of objects. … … 77 78 def object_detail(request, app_label, module_name, object_id=None, slug=None, 78 79 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={}): 80 82 """ 81 83 Generic list of objects. django/branches/new-admin/docs/templates.txt
r681 r741 377 377 ``forloop.counter`` The current iteration of the loop (1-indexed) 378 378 ``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) 379 383 ``forloop.first`` True if this is the first time through the loop 380 384 ``forloop.last`` True if this is the last time through the loop django/branches/new-admin/tests/othertests/templates.py
r715 r741 108 108 'for-tag01': ("{% for val in values %}{{ val }}{% endfor %}", {"values": [1, 2, 3]}, "123"), 109 109 '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"), 110 114 111 115 ### IFEQUAL TAG ###########################################################
