Author: mtredinnick
Date: 2007-08-19 12:01:54 -0500 (Sun, 19 Aug 2007)
New Revision: 5947
Added:
django/trunk/django/contrib/databrowse/templates/databrowse/base_site.html
Modified:
django/trunk/django/contrib/databrowse/datastructures.py
django/trunk/django/contrib/databrowse/plugins/calendars.py
django/trunk/django/contrib/databrowse/templates/databrowse/base.html
django/trunk/django/contrib/databrowse/templates/databrowse/calendar_day.html
django/trunk/django/contrib/databrowse/templates/databrowse/calendar_homepage.html
django/trunk/django/contrib/databrowse/templates/databrowse/calendar_main.html
django/trunk/django/contrib/databrowse/templates/databrowse/calendar_month.html
django/trunk/django/contrib/databrowse/templates/databrowse/calendar_year.html
django/trunk/django/contrib/databrowse/templates/databrowse/choice_detail.html
django/trunk/django/contrib/databrowse/templates/databrowse/choice_list.html
django/trunk/django/contrib/databrowse/templates/databrowse/fieldchoice_detail.html
django/trunk/django/contrib/databrowse/templates/databrowse/fieldchoice_homepage.html
django/trunk/django/contrib/databrowse/templates/databrowse/fieldchoice_list.html
django/trunk/django/contrib/databrowse/templates/databrowse/homepage.html
django/trunk/django/contrib/databrowse/templates/databrowse/model_detail.html
django/trunk/django/contrib/databrowse/templates/databrowse/object_detail.html
Log:
Fixed #4125 -- Added some small fixes to contrib.databrowse: fixed calendar
views, added a summary of the number of objects in each list, and added a
template entry point for the customisation enthusiasts. Nice work, SmileyChris.
Modified: django/trunk/django/contrib/databrowse/datastructures.py
===================================================================
--- django/trunk/django/contrib/databrowse/datastructures.py 2007-08-19
15:08:48 UTC (rev 5946)
+++ django/trunk/django/contrib/databrowse/datastructures.py 2007-08-19
17:01:54 UTC (rev 5947)
@@ -8,6 +8,7 @@
from django.utils.text import capfirst
from django.utils.translation import get_date_formats
from django.utils.encoding import smart_unicode, smart_str, iri_to_uri
+from django.db.models.query import QuerySet
EMPTY_VALUE = '(None)'
@@ -30,9 +31,13 @@
return '%s%s/%s/' % (self.site.root_url, self.model._meta.app_label,
self.model._meta.module_name)
def objects(self, **kwargs):
- for obj in self.model._default_manager.filter(**kwargs):
- yield EasyInstance(self, obj)
+ return self.get_query_set().filter(**kwargs)
+ def get_query_set(self):
+ easy_qs =
self.model._default_manager.get_query_set()._clone(klass=EasyQuerySet)
+ easy_qs._easymodel = self
+ return easy_qs
+
def object_by_pk(self, pk):
return EasyInstance(self, self.model._default_manager.get(pk=pk))
@@ -194,3 +199,17 @@
else:
lst = [(self.values()[0], None)]
return lst
+
+class EasyQuerySet(QuerySet):
+ """
+ When creating (or cloning to) an `EasyQuerySet`, make sure to set the
+ `_easymodel` variable to the related `EasyModel`.
+ """
+ def iterator(self, *args, **kwargs):
+ for obj in super(EasyQuerySet, self).iterator(*args, **kwargs):
+ yield EasyInstance(self._easymodel, obj)
+
+ def _clone(self, *args, **kwargs):
+ c = super(EasyQuerySet, self)._clone(*args, **kwargs)
+ c._easymodel = self._easymodel
+ return c
Modified: django/trunk/django/contrib/databrowse/plugins/calendars.py
===================================================================
--- django/trunk/django/contrib/databrowse/plugins/calendars.py 2007-08-19
15:08:48 UTC (rev 5946)
+++ django/trunk/django/contrib/databrowse/plugins/calendars.py 2007-08-19
17:01:54 UTC (rev 5947)
@@ -64,22 +64,22 @@
def calendar_view(self, request, field, year=None, month=None, day=None):
easy_model = EasyModel(self.site, self.model)
+ queryset = easy_model.get_query_set()
extra_context = {'root_url': self.site.root_url, 'model': easy_model,
'field': field}
if day is not None:
- # TODO: The objects in this template should be EasyInstances
- return date_based.archive_day(request, year, month, day,
self.model.objects.all(), field.name,
+ return date_based.archive_day(request, year, month, day, queryset,
field.name,
template_name='databrowse/calendar_day.html',
allow_empty=False, allow_future=True,
extra_context=extra_context)
elif month is not None:
- return date_based.archive_month(request, year, month,
self.model.objects.all(), field.name,
+ return date_based.archive_month(request, year, month, queryset,
field.name,
template_name='databrowse/calendar_month.html',
allow_empty=False, allow_future=True,
extra_context=extra_context)
elif year is not None:
- return date_based.archive_year(request, year,
self.model.objects.all(), field.name,
+ return date_based.archive_year(request, year, queryset, field.name,
template_name='databrowse/calendar_year.html',
allow_empty=False, allow_future=True,
extra_context=extra_context)
else:
- return date_based.archive_index(request, self.model.objects.all(),
field.name,
+ return date_based.archive_index(request, queryset, field.name,
template_name='databrowse/calendar_main.html',
allow_empty=True, allow_future=True,
extra_context=extra_context)
assert False, ('%s, %s, %s, %s' % (field, year, month, day))
Modified: django/trunk/django/contrib/databrowse/templates/databrowse/base.html
===================================================================
--- django/trunk/django/contrib/databrowse/templates/databrowse/base.html
2007-08-19 15:08:48 UTC (rev 5946)
+++ django/trunk/django/contrib/databrowse/templates/databrowse/base.html
2007-08-19 17:01:54 UTC (rev 5947)
@@ -2,6 +2,7 @@
<html xmlns="http://www.w3.org/1999/xhtml" lang="{{ LANGUAGE_CODE }}"
xml:lang="{{ LANGUAGE_CODE }}" {% if LANGUAGE_BIDI %}dir="rtl"{% endif %}>
<head>
<title>{% block title %}{% endblock %}</title>
+{% block style %}
<style type="text/css">
* { margin:0; padding:0; }
body { background:#eee; color:#333; font:76%/1.6 "Lucida Grande","Bitstream
Vera Sans",Verdana,sans-serif; }
@@ -48,9 +49,11 @@
/* CONTENT */
#content { background:#fff; border-bottom:1px solid #ddd; padding:0 20px; }
</style>
+{% endblock %}
+{% block extrahead %}{% endblock %}
</head>
<body id="{% block bodyid %}page{% endblock %}">
-<div id="header"><a href="{{ root_url }}">Databrowse</a></div>
+<div id="header"><a href="{{ root_url }}">{% block databrowse_title
%}Databrowse{% endblock %}</a></div>
<div id="content">
{% block content %}{% endblock %}
</div>
Added:
django/trunk/django/contrib/databrowse/templates/databrowse/base_site.html
===================================================================
--- django/trunk/django/contrib/databrowse/templates/databrowse/base_site.html
(rev 0)
+++ django/trunk/django/contrib/databrowse/templates/databrowse/base_site.html
2007-08-19 17:01:54 UTC (rev 5947)
@@ -0,0 +1 @@
+{% extends "databrowse/base.html" %}
Modified:
django/trunk/django/contrib/databrowse/templates/databrowse/calendar_day.html
===================================================================
---
django/trunk/django/contrib/databrowse/templates/databrowse/calendar_day.html
2007-08-19 15:08:48 UTC (rev 5946)
+++
django/trunk/django/contrib/databrowse/templates/databrowse/calendar_day.html
2007-08-19 17:01:54 UTC (rev 5947)
@@ -1,4 +1,4 @@
-{% extends "databrowse/base.html" %}
+{% extends "databrowse/base_site.html" %}
{% block title %}{{ model.verbose_name_plural|capfirst }} with {{
field.verbose_name }} {{ day|date:"F j, Y" }}{% endblock %}
@@ -6,7 +6,7 @@
<div id="breadcrumbs"><a href="{{ root_url }}">Home</a> / <a href="{{
model.url }}">{{ model.verbose_name_plural|capfirst }}</a> / <a
href="../../../../">Calendars</a> / <a href="../../../">By {{
field.verbose_name }}</a> / <a href="../../">{{ day.year }}</a> / <a
href="../">{{ day|date:"F" }}</a> / {{ day.day }}</div>
-<h1>{{ model.verbose_name_plural|capfirst }} with {{ field.verbose_name }} on
{{ day|date:"F j, Y" }}</h1>
+<h1>{{ object_list.count }} {% if object_list.count|pluralize %}{{
model.verbose_name_plural|escape }}{% else %}{{ model.verbose_name|escape }}{%
endif %} with {{ field.verbose_name }} on {{ day|date:"F j, Y" }}</h1>
<ul class="objectlist">
{% for object in object_list %}
Modified:
django/trunk/django/contrib/databrowse/templates/databrowse/calendar_homepage.html
===================================================================
---
django/trunk/django/contrib/databrowse/templates/databrowse/calendar_homepage.html
2007-08-19 15:08:48 UTC (rev 5946)
+++
django/trunk/django/contrib/databrowse/templates/databrowse/calendar_homepage.html
2007-08-19 17:01:54 UTC (rev 5947)
@@ -1,4 +1,4 @@
-{% extends "databrowse/base.html" %}
+{% extends "databrowse/base_site.html" %}
{% block title %}Calendars{% endblock %}
Modified:
django/trunk/django/contrib/databrowse/templates/databrowse/calendar_main.html
===================================================================
---
django/trunk/django/contrib/databrowse/templates/databrowse/calendar_main.html
2007-08-19 15:08:48 UTC (rev 5946)
+++
django/trunk/django/contrib/databrowse/templates/databrowse/calendar_main.html
2007-08-19 17:01:54 UTC (rev 5947)
@@ -1,4 +1,4 @@
-{% extends "databrowse/base.html" %}
+{% extends "databrowse/base_site.html" %}
{% block title %}{{ field.verbose_name|capfirst }} calendar{% endblock %}
Modified:
django/trunk/django/contrib/databrowse/templates/databrowse/calendar_month.html
===================================================================
---
django/trunk/django/contrib/databrowse/templates/databrowse/calendar_month.html
2007-08-19 15:08:48 UTC (rev 5946)
+++
django/trunk/django/contrib/databrowse/templates/databrowse/calendar_month.html
2007-08-19 17:01:54 UTC (rev 5947)
@@ -1,4 +1,4 @@
-{% extends "databrowse/base.html" %}
+{% extends "databrowse/base_site.html" %}
{% block title %}{{ model.verbose_name_plural|capfirst }} with {{
field.verbose_name }} in {{ month|date:"F Y" }}{% endblock %}
@@ -6,7 +6,7 @@
<div id="breadcrumbs"><a href="{{ root_url }}">Home</a> / <a href="{{
model.url }}">{{ model.verbose_name_plural|capfirst }}</a> / <a
href="../../../">Calendars</a> / <a href="../../">By {{ field.verbose_name
}}</a> / <a href="../">{{ month.year }}</a> / {{ month|date:"F" }}</div>
-<h1>{{ model.verbose_name_plural|capfirst }} with {{ field.verbose_name }} in
{{ month|date:"F Y" }}</h1>
+<h1>{{ object_list.count }} {% if object_list.count|pluralize %}{{
model.verbose_name_plural|escape }}{% else %}{{ model.verbose_name|escape }}{%
endif %} with {{ field.verbose_name }} on {{ day|date:"F Y" }}</h1>
<ul class="objectlist">
{% for object in object_list %}
Modified:
django/trunk/django/contrib/databrowse/templates/databrowse/calendar_year.html
===================================================================
---
django/trunk/django/contrib/databrowse/templates/databrowse/calendar_year.html
2007-08-19 15:08:48 UTC (rev 5946)
+++
django/trunk/django/contrib/databrowse/templates/databrowse/calendar_year.html
2007-08-19 17:01:54 UTC (rev 5947)
@@ -1,4 +1,4 @@
-{% extends "databrowse/base.html" %}
+{% extends "databrowse/base_site.html" %}
{% block title %}{{ model.verbose_name_plural|capfirst }} with {{
field.verbose_name }} in {{ year }}{% endblock %}
Modified:
django/trunk/django/contrib/databrowse/templates/databrowse/choice_detail.html
===================================================================
---
django/trunk/django/contrib/databrowse/templates/databrowse/choice_detail.html
2007-08-19 15:08:48 UTC (rev 5946)
+++
django/trunk/django/contrib/databrowse/templates/databrowse/choice_detail.html
2007-08-19 17:01:54 UTC (rev 5947)
@@ -1,4 +1,4 @@
-{% extends "databrowse/base.html" %}
+{% extends "databrowse/base_site.html" %}
{% block title %}{{ model.verbose_name_plural|capfirst }} by {{
field.field.verbose_name }}: {{ value|escape }}{% endblock %}
Modified:
django/trunk/django/contrib/databrowse/templates/databrowse/choice_list.html
===================================================================
---
django/trunk/django/contrib/databrowse/templates/databrowse/choice_list.html
2007-08-19 15:08:48 UTC (rev 5946)
+++
django/trunk/django/contrib/databrowse/templates/databrowse/choice_list.html
2007-08-19 17:01:54 UTC (rev 5947)
@@ -1,4 +1,4 @@
-{% extends "databrowse/base.html" %}
+{% extends "databrowse/base_site.html" %}
{% block title %}{{ model.verbose_name_plural|capfirst }} by {{
field.field.verbose_name }}{% endblock %}
Modified:
django/trunk/django/contrib/databrowse/templates/databrowse/fieldchoice_detail.html
===================================================================
---
django/trunk/django/contrib/databrowse/templates/databrowse/fieldchoice_detail.html
2007-08-19 15:08:48 UTC (rev 5946)
+++
django/trunk/django/contrib/databrowse/templates/databrowse/fieldchoice_detail.html
2007-08-19 17:01:54 UTC (rev 5947)
@@ -1,4 +1,4 @@
-{% extends "databrowse/base.html" %}
+{% extends "databrowse/base_site.html" %}
{% block title %}{{ model.verbose_name_plural|capfirst|escape }} with {{
field.field.verbose_name|escape }} {{ value|escape }}{% endblock %}
@@ -6,7 +6,7 @@
<div id="breadcrumbs"><a href="{{ root_url }}">Home</a> / <a href="{{
model.url }}">{{ model.verbose_name_plural|capfirst }}</a> / <a
href="../../">Fields</a> / <a href="../">By {{ field.field.verbose_name|escape
}}</a> / {{ value|escape }}</div>
-<h1>{{ model.verbose_name_plural|capfirst|escape }} with {{
field.field.verbose_name|escape }} {{ value|escape }}</h1>
+<h1>{{ object_list.count }} {% if object_list.count|pluralize %}{{
model.verbose_name_plural|escape }}{% else %}{{ model.verbose_name|escape }}{%
endif %} with {{ field.field.verbose_name|escape }} {{ value|escape }}</h1>
<ul class="objectlist">
{% for object in object_list %}
Modified:
django/trunk/django/contrib/databrowse/templates/databrowse/fieldchoice_homepage.html
===================================================================
---
django/trunk/django/contrib/databrowse/templates/databrowse/fieldchoice_homepage.html
2007-08-19 15:08:48 UTC (rev 5946)
+++
django/trunk/django/contrib/databrowse/templates/databrowse/fieldchoice_homepage.html
2007-08-19 17:01:54 UTC (rev 5947)
@@ -1,4 +1,4 @@
-{% extends "databrowse/base.html" %}
+{% extends "databrowse/base_site.html" %}
{% block title %}Browsable fields in {{ model.verbose_name_plural|escape }}{%
endblock %}
Modified:
django/trunk/django/contrib/databrowse/templates/databrowse/fieldchoice_list.html
===================================================================
---
django/trunk/django/contrib/databrowse/templates/databrowse/fieldchoice_list.html
2007-08-19 15:08:48 UTC (rev 5946)
+++
django/trunk/django/contrib/databrowse/templates/databrowse/fieldchoice_list.html
2007-08-19 17:01:54 UTC (rev 5947)
@@ -1,4 +1,4 @@
-{% extends "databrowse/base.html" %}
+{% extends "databrowse/base_site.html" %}
{% block title %}{{ model.verbose_name_plural|capfirst|escape }} by {{
field.field.verbose_name|escape }}{% endblock %}
Modified:
django/trunk/django/contrib/databrowse/templates/databrowse/homepage.html
===================================================================
--- django/trunk/django/contrib/databrowse/templates/databrowse/homepage.html
2007-08-19 15:08:48 UTC (rev 5946)
+++ django/trunk/django/contrib/databrowse/templates/databrowse/homepage.html
2007-08-19 17:01:54 UTC (rev 5947)
@@ -1,4 +1,4 @@
-{% extends "databrowse/base.html" %}
+{% extends "databrowse/base_site.html" %}
{% block title %}Databrowse{% endblock %}
Modified:
django/trunk/django/contrib/databrowse/templates/databrowse/model_detail.html
===================================================================
---
django/trunk/django/contrib/databrowse/templates/databrowse/model_detail.html
2007-08-19 15:08:48 UTC (rev 5946)
+++
django/trunk/django/contrib/databrowse/templates/databrowse/model_detail.html
2007-08-19 17:01:54 UTC (rev 5947)
@@ -1,4 +1,4 @@
-{% extends "databrowse/base.html" %}
+{% extends "databrowse/base_site.html" %}
{% block title %}{{ model.verbose_name_plural|capfirst }}{% endblock %}
@@ -6,7 +6,7 @@
<div id="breadcrumbs"><a href="{{ root_url }}">Home</a> / {{
model.verbose_name_plural|capfirst }}</div>
-<h1>{{ model.verbose_name_plural|capfirst }}</h1>
+<h1>{{ model.objects.count }} {% if model.objects.count|pluralize %}{{
model.verbose_name_plural }}{% else %}{{ model.verbose_name }}{% endif %}</h1>
{{ plugin_html }}
Modified:
django/trunk/django/contrib/databrowse/templates/databrowse/object_detail.html
===================================================================
---
django/trunk/django/contrib/databrowse/templates/databrowse/object_detail.html
2007-08-19 15:08:48 UTC (rev 5946)
+++
django/trunk/django/contrib/databrowse/templates/databrowse/object_detail.html
2007-08-19 17:01:54 UTC (rev 5947)
@@ -1,4 +1,4 @@
-{% extends "databrowse/base.html" %}
+{% extends "databrowse/base_site.html" %}
{% block title %}{{ object.model.verbose_name|capfirst }}: {{ object }}{%
endblock %}
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Django updates" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/django-updates?hl=en
-~----------~----~----~----~------~----~------~--~---