Ticket #195: date_based_callable_context.patch

File date_based_callable_context.patch, 2.2 KB (added by Moof <moof@…>, 10 years ago)

Patch against r304 of date_based.py

  • date_based.py

     
    4141        'date_list' : date_list,
    4242        'latest' : latest,
    4343    })
    44     if extra_context:
    45         c.update(extra_context)
     44    if extra_context:
     45        for key, value in extra_context.items():
     46            if callable(value):
     47                c[key] = value()
     48            else:
     49                c[key] = value
    4650    return HttpResponse(t.render(c))
    4751
    4852def archive_year(request, year, app_label, module_name, date_field,
     
    7579        'year': year,
    7680    })
    7781    if extra_context:
    78         c.update(extra_context)
     82        for key, value in extra_context.items():
     83            if callable(value):
     84                c[key] = value()
     85            else:
     86                c[key] = value
    7987    return HttpResponse(t.render(c))
    8088
    8189def archive_month(request, year, month, app_label, module_name, date_field,
     
    122130        'month': date,
    123131    })
    124132    if extra_context:
    125         c.update(extra_context)
     133        for key, value in extra_context.items():
     134            if callable(value):
     135                c[key] = value()
     136            else:
     137                c[key] = value
    126138    return HttpResponse(t.render(c))
    127139
    128140def archive_day(request, year, month, day, app_label, module_name, date_field,
     
    168180        'next_day': (date < datetime.date.today()) and (date + datetime.timedelta(days=1)) or None,
    169181    })
    170182    if extra_context:
    171         c.update(extra_context)
     183        for key, value in extra_context.items():
     184            if callable(value):
     185                c[key] = value()
     186            else:
     187                c[key] = value
    172188    return HttpResponse(t.render(c))
    173189
    174190def archive_today(request, **kwargs):
     
    228244        'object': object,
    229245    })
    230246    if extra_context:
    231         c.update(extra_context)
     247        for key, value in extra_context.items():
     248            if callable(value):
     249                c[key] = value()
     250            else:
     251                c[key] = value
    232252    response = HttpResponse(t.render(c))
    233253    populate_xheaders(request, response, app_label, module_name, getattr(object, object._meta.pk.name))
    234254    return response
Back to Top