[Projeler-commits] r340 - in zangetsu: blog/templatetags templates

projeler-commits at pardus.org.tr projeler-commits at pardus.org.tr
13 Nis 2007 Cum 17:47:38 EEST


Author: meren
Date: Fri Apr 13 17:47:38 2007
New Revision: 340

Modified:
   zangetsu/blog/templatetags/library.py
   zangetsu/templates/base.html
Log:

 - base.html içerisinde son yorumlar da olsun.



Modified: zangetsu/blog/templatetags/library.py
=================================================================
--- zangetsu/blog/templatetags/library.py	(original)
+++ zangetsu/blog/templatetags/library.py	Fri Apr 13 17:47:38 2007
@@ -6,6 +6,7 @@
 from django.template import Library,Node
 from zangetsu.blog import defaults
 from zangetsu.blog.models import Entry, Tag, Link
+from django.db.models import get_model
 from zangetsu.settings import WEB_URL
 
 register = Library()
@@ -33,6 +34,15 @@
         context["blog_tags"] = Tag.objects.all()
         return ""
 
+class LatestContentNode(Node):
+    def __init__(self, model, num, varname):
+        self.num, self.varname = num, varname
+        self.model = get_model(*model.split('.'))
+
+    def render(self, context):
+        context[self.varname] = self.model._default_manager.all()[:self.num]
+        return ''
+
 def build_blog_name(parser, token):
     return BlogNameObject()
 
@@ -45,7 +55,16 @@
 def build_tag_list(parser, token):
     return TagMenuObject()
 
+def get_latest(parser, token):
+    bits = token.contents.split()
+    if len(bits) != 5:
+        raise TemplateSyntaxError, "get_latest tag takes exactly four arguments"
+    if bits[3] != 'as':
+        raise TemplateSyntaxError, "third argument to get_latest tag must be 'as'"
+    return LatestContentNode(bits[1], bits[2], bits[4])
+
 register.tag("build_blog_name", build_blog_name)
 register.tag("build_link_list", build_link_list)
 register.tag("build_month_list", build_month_list)
 register.tag("build_tag_list", build_tag_list)
+register.tag("get_latest", get_latest)

Modified: zangetsu/templates/base.html
=================================================================
--- zangetsu/templates/base.html	(original)
+++ zangetsu/templates/base.html	Fri Apr 13 17:47:38 2007
@@ -50,6 +50,17 @@
             <input class="dropdown" type="text" name="s" id="s"/>
         </form>
         <br />
+        <b>{% trans "Latest Comments" %}</b><hr>
+        {% get_latest comments.FreeComment 10 as recent_comments %}
+        {% for comment in recent_comments %}
+            {% if comment.approved %}
+                {% if comment.is_public %}
+                    <b>{{ comment.person_name }}</b> wrote <a href="{{comment.get_absolute_url}}">this</a> on <a href="{{comment.get_content_object.get_absolute_url}}">{{comment.get_content_object.title}}</a> ({{comment.submit_date|date:"d/m/y, H:i" }})<br />
+                {% endif %}
+            {% endif %}
+        {% endfor %}
+
+        <br />
         <b>{% trans "Tags" %}</b><hr>
         {% build_tag_list %}
         {% for tag in blog_tags %}


Projeler-commits mesaj listesiyle ilgili daha fazla bilgi