mirror of
https://github.com/django/django.git
synced 2025-07-04 17:59:13 +00:00
Templatised date_hierarchy.
git-svn-id: http://code.djangoproject.com/svn/django/branches/new-admin@1129 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
24cdaa77fa
commit
29cce749fa
8
django/contrib/admin/templates/admin/date_hierarchy.html
Normal file
8
django/contrib/admin/templates/admin/date_hierarchy.html
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
<div class="xfull">
|
||||||
|
<ul class="toplinks">
|
||||||
|
{% if back %}<li class="date-back"><a href="{{back.link}}">‹ {{back.title}}</a></li>{% endif %}
|
||||||
|
{% for choice in choices %}
|
||||||
|
<li> {% if choice.link%}<a href="{{choice.link}}">{%endif%}{{choice.title}}{%if choice.link%}</a>{%endif%}</li>
|
||||||
|
{% endfor %}
|
||||||
|
</ul><br class="clear" />
|
||||||
|
</div>
|
@ -222,12 +222,11 @@ def result_list(cl):
|
|||||||
result_list = inclusion_tag("admin/change_list_results")(result_list)
|
result_list = inclusion_tag("admin/change_list_results")(result_list)
|
||||||
|
|
||||||
|
|
||||||
#@simple_tag
|
#@inclusion_tag("admin/date_hierarchy")
|
||||||
def date_hierarchy(cl):
|
def date_hierarchy(cl):
|
||||||
lookup_opts, params, lookup_params, lookup_mod = \
|
lookup_opts, params, lookup_params, lookup_mod = \
|
||||||
cl.lookup_opts, cl.params, cl.lookup_params, cl.lookup_mod
|
cl.lookup_opts, cl.params, cl.lookup_params, cl.lookup_mod
|
||||||
|
|
||||||
raw_template = []
|
|
||||||
if lookup_opts.admin.date_hierarchy:
|
if lookup_opts.admin.date_hierarchy:
|
||||||
field_name = lookup_opts.admin.date_hierarchy
|
field_name = lookup_opts.admin.date_hierarchy
|
||||||
|
|
||||||
@ -238,35 +237,52 @@ def date_hierarchy(cl):
|
|||||||
year_lookup = params.get(year_field)
|
year_lookup = params.get(year_field)
|
||||||
month_lookup = params.get(month_field)
|
month_lookup = params.get(month_field)
|
||||||
day_lookup = params.get(day_field)
|
day_lookup = params.get(day_field)
|
||||||
|
|
||||||
raw_template.append('<div class="xfull">\n<ul class="toplinks">\n')
|
def link(d):
|
||||||
|
return cl.get_query_string(d, [field_generic])
|
||||||
|
|
||||||
|
def get_dates(unit, params):
|
||||||
|
return getattr(lookup_mod, 'get_%s_list' % field_name)(unit, **params)
|
||||||
|
|
||||||
if year_lookup and month_lookup and day_lookup:
|
if year_lookup and month_lookup and day_lookup:
|
||||||
raw_template.append('<li class="date-back"><a href="%s">‹ %s %s </a></li>' % \
|
month_name = MONTHS[int(month_lookup)]
|
||||||
(cl.get_query_string( {year_field: year_lookup, month_field: month_lookup}, [field_generic]), MONTHS[int(month_lookup)], year_lookup))
|
return { 'back':
|
||||||
raw_template.append('<li>%s %s</li>' % (MONTHS[int(month_lookup)], day_lookup))
|
{ 'link' : link({year_field: year_lookup, month_field: month_lookup}),
|
||||||
|
'title': "%s %s" % ( month_name, year_lookup),
|
||||||
|
},
|
||||||
|
'choices': [ {'title': "%s %s" % ( month_name, day_lookup)} ]
|
||||||
|
}
|
||||||
elif year_lookup and month_lookup:
|
elif year_lookup and month_lookup:
|
||||||
raw_template.append('<li class="date-back"><a href="%s">‹ %s</a></li>' % \
|
|
||||||
(cl.get_query_string( {year_field: year_lookup}, [field_generic]), year_lookup))
|
|
||||||
date_lookup_params = lookup_params.copy()
|
date_lookup_params = lookup_params.copy()
|
||||||
date_lookup_params.update({year_field: year_lookup, month_field: month_lookup})
|
date_lookup_params.update({year_field: year_lookup, month_field: month_lookup})
|
||||||
for day in getattr(lookup_mod, 'get_%s_list' % field_name)('day', **date_lookup_params):
|
days = get_dates('day', date_lookup_params)
|
||||||
raw_template.append('<li><a href="%s">%s</a></li>' % \
|
return { 'back':
|
||||||
(cl.get_query_string({year_field: year_lookup, month_field: month_lookup, day_field: day.day}, [field_generic]), day.strftime('%B %d')))
|
{ 'link' : link({year_field: year_lookup}),
|
||||||
|
'title' : year_lookup
|
||||||
|
},
|
||||||
|
'choices':
|
||||||
|
[ { 'link' : link({year_field: year_lookup, month_field: month_lookup, day_field: day.day}),
|
||||||
|
'title': day.strftime('%B %d') } for day in days ]
|
||||||
|
}
|
||||||
elif year_lookup:
|
elif year_lookup:
|
||||||
raw_template.append('<li class="date-back"><a href="%s">‹ %s</a></li>' % \
|
|
||||||
cl.get_query_string( {}, [year_field]), _('All dates'))
|
|
||||||
date_lookup_params = lookup_params.copy()
|
date_lookup_params = lookup_params.copy()
|
||||||
date_lookup_params.update({year_field: year_lookup})
|
date_lookup_params.update({year_field: year_lookup})
|
||||||
for month in getattr(lookup_mod, 'get_%s_list' % field_name)('month', **date_lookup_params):
|
months = get_dates('month', date_lookup_params)
|
||||||
raw_template.append('<li><a href="%s">%s %s</a></li>' % \
|
return { 'back':
|
||||||
(cl.get_query_string( {year_field: year_lookup, month_field: month.month}, [field_generic]), month.strftime('%B'), month.year))
|
{ 'link' : link({}),
|
||||||
|
'title': _('All dates')
|
||||||
|
},
|
||||||
|
'choices':
|
||||||
|
[ { 'link': link( {year_field: year_lookup, month_field: month.month}),
|
||||||
|
'title': "%s %s" % (month.strftime('%B') , month.year) } for month in months ]
|
||||||
|
}
|
||||||
else:
|
else:
|
||||||
for year in getattr(lookup_mod, 'get_%s_list' % field_name)('year', **lookup_params):
|
years = get_dates('year', lookup_params)
|
||||||
raw_template.append('<li><a href="%s">%s</a></li>\n' % \
|
return { 'choices':
|
||||||
(cl.get_query_string( {year_field: year.year}, [field_generic]), year.year))
|
[ { 'link': link( {year_field: year.year}),
|
||||||
raw_template.append('</ul><br class="clear" />\n</div>\n')
|
'title': year.year } for year in years ]
|
||||||
return ''.join(raw_template)
|
}
|
||||||
date_hierarchy = simple_tag(date_hierarchy)
|
date_hierarchy = inclusion_tag('admin/date_hierarchy')(date_hierarchy)
|
||||||
|
|
||||||
#@inclusion_tag('admin/search_form')
|
#@inclusion_tag('admin/search_form')
|
||||||
def search_form(cl):
|
def search_form(cl):
|
||||||
|
@ -120,7 +120,6 @@ class RelatedFilterSpec(FilterSpec):
|
|||||||
FilterSpec.register(lambda f: bool(f.rel), RelatedFilterSpec)
|
FilterSpec.register(lambda f: bool(f.rel), RelatedFilterSpec)
|
||||||
|
|
||||||
class ChoicesFilterSpec(FilterSpec):
|
class ChoicesFilterSpec(FilterSpec):
|
||||||
|
|
||||||
def __init__(self, f, request, params):
|
def __init__(self, f, request, params):
|
||||||
super(ChoicesFilterSpec, self).__init__(f, request, params)
|
super(ChoicesFilterSpec, self).__init__(f, request, params)
|
||||||
self.lookup_kwarg = '%s__exact' % f.name
|
self.lookup_kwarg = '%s__exact' % f.name
|
||||||
@ -173,7 +172,6 @@ class DateFieldFilterSpec(FilterSpec):
|
|||||||
FilterSpec.register(lambda f: isinstance(f, meta.DateField), DateFieldFilterSpec)
|
FilterSpec.register(lambda f: isinstance(f, meta.DateField), DateFieldFilterSpec)
|
||||||
|
|
||||||
class BooleanFieldFilterSpec(FilterSpec):
|
class BooleanFieldFilterSpec(FilterSpec):
|
||||||
|
|
||||||
def __init__(self, f, request, params):
|
def __init__(self, f, request, params):
|
||||||
super(BooleanFieldFilterSpec, self).__init__(f, request, params)
|
super(BooleanFieldFilterSpec, self).__init__(f, request, params)
|
||||||
self.lookup_kwarg = '%s__exact' % f.name
|
self.lookup_kwarg = '%s__exact' % f.name
|
||||||
|
Loading…
x
Reference in New Issue
Block a user