]> git.0d.be Git - panikweb.git/commitdiff
performance: split week template in navigation and main view
authorFrédéric Péters <fpeters@0d.be>
Wed, 18 Sep 2013 17:56:02 +0000 (19:56 +0200)
committerFrédéric Péters <fpeters@0d.be>
Wed, 18 Sep 2013 18:05:43 +0000 (20:05 +0200)
panikweb/paniktags/templatetags/paniktags.py
panikweb_templates/templates/home.html
panikweb_templates/templates/includes/week-nav.html [new file with mode: 0644]
panikweb_templates/templates/includes/week.html
panikweb_templates/templates/program.html
panikweb_templates/templates/week.html

index 239b76a60b52f0edf13ad95564dee8354ca6b2d0..104653444a795dab621b7ce28f3d434fee4ca00d 100644 (file)
@@ -110,11 +110,10 @@ def metanav(context, active=None):
         'sectionName': context.get('sectionName')
        }
 
-@register.inclusion_tag('includes/week.html', takes_context=True)
-def weekview(context, year=None, week=None, weekday=None, fragment=None):
+@register.inclusion_tag('includes/week.html')
+def weekview(year=None, week=None):
     year = year if year else datetime.today().isocalendar()[0]
     week = week if week else datetime.today().isocalendar()[1]
-    weekday = weekday if weekday else datetime.today().weekday()
 
     date = utils.tofirstdayinisoweek(year, week)
     date = datetime(*date.timetuple()[:3])
@@ -125,6 +124,25 @@ def weekview(context, year=None, week=None, weekday=None, fragment=None):
         days.append({'cells': [x for x in program if x.is_on_weekday(day+1)],
                      'datetime': date+timedelta(days=day)})
 
+    return {
+        'days': days,
+        'week': week,
+        'year': year,
+    }
+
+@register.inclusion_tag('includes/week-nav.html')
+def weeknav(year=None, week=None, weekday=None):
+    year = year if year else datetime.today().isocalendar()[0]
+    week = week if week else datetime.today().isocalendar()[1]
+    weekday = weekday if weekday else datetime.today().weekday()
+
+    date = utils.tofirstdayinisoweek(year, week)
+    date = datetime(*date.timetuple()[:3])
+
+    days = []
+    for day in range(7):
+        days.append({'datetime': date+timedelta(days=day)})
+
     previous_week = date - timedelta(days=7)
     previous_week_year, previous_week_no = previous_week.isocalendar()[:2]
 
@@ -132,7 +150,6 @@ def weekview(context, year=None, week=None, weekday=None, fragment=None):
     next_week_year, next_week_no = next_week.isocalendar()[:2]
 
     return {
-        'fragment': fragment,
         'days': days,
         'weekday': weekday,
         'week': week,
@@ -143,6 +160,7 @@ def weekview(context, year=None, week=None, weekday=None, fragment=None):
         'next_week_no': next_week_no,
     }
 
+
 @register.inclusion_tag('news/inline.html', takes_context=True)
 def news_inline(context, klass=None, logo=None):
     return {
index de9cc3ee948c156d2b75eba33972ae48ac442602..c1df7da1bb3981c5501d552a375ddaff9aa9221a 100644 (file)
@@ -15,6 +15,8 @@
 <div class="sided wrapper padded">
        <div class="leftPart">
                <h2><a href="{% url 'program' %}">Cette semaine sur Panik</a></h2>
+
+               {% weeknav %}
                {% weekview %}
 
          <form method="post" action="{% url 'newsletter-subscribe' %}"
diff --git a/panikweb_templates/templates/includes/week-nav.html b/panikweb_templates/templates/includes/week-nav.html
new file mode 100644 (file)
index 0000000..8dac736
--- /dev/null
@@ -0,0 +1,13 @@
+<div class="program tabs" data-tab-about="#weekProgramContent-{{ week|slugify }}">
+       <nav class="">
+               <ul class="days custom distributed">
+                       <li class="week-arrow"><a href="{% url 'program_week' year=previous_week_year week=previous_week_no %}" 
+                               class="icon-chevron-sign-left" ></a></li>
+               {% for day in days %}
+                       <li class=""><button class="{% if day.datetime.weekday = weekday %}active{% endif %}" data-tab="#Program-week-{{ day.datetime|slugify }}">{{ day.datetime|date:"D d" }}</button></li>
+               {% endfor %}
+                       <li class="week-arrow"><a href="{% url 'program_week' year=next_week_year week=next_week_no %}" 
+                               class="icon-chevron-sign-right" ></a></li>
+               </ul>
+       </nav>
+</div>
index c9e564e6279545b93e635c8bc5d0999f2f8e362a..67e9137d8781b612ad25345f2d4bafb4e20d89a2 100644 (file)
@@ -1,20 +1,4 @@
 {% load paniktags %}
-{% if not fragment or fragment = "nav" %}
-<div class="program tabs" data-tab-about="#weekProgramContent-{{ week|slugify }}">
-       <nav class="">
-               <ul class="days custom distributed">
-                       <li class="week-arrow"><a href="{% url 'program_week' year=previous_week_year week=previous_week_no %}" 
-                               class="icon-chevron-sign-left" ></a></li>
-               {% for day in days %}
-                       <li class=""><button class="{% if day.datetime.weekday = weekday %}active{% endif %}" data-tab="#Program-week-{{ day.datetime|slugify }}">{{ day.datetime|date:"D d" }}</button></li>
-               {% endfor %}
-                       <li class="week-arrow"><a href="{% url 'program_week' year=next_week_year week=next_week_no %}" 
-                               class="icon-chevron-sign-right" ></a></li>
-               </ul>
-       </nav>
-</div>
-{% endif %}
-{% if not fragment or fragment = "program" %}
 <div id="weekProgramContent-{{ week|slugify }}" class="program">
 
        {% for day in days %}
@@ -40,4 +24,3 @@
        </div>
        {% endfor %}
 </div>
-{% endif %}
index eb69c9b95e575386bbe62475f4de713686625995..17e7d7c3e20fab962cc971dd09bd207849609d52 100644 (file)
                                Du {{week_first_day|date:"l j N"}} au {{week_last_day|date:"l j N"}}
                </nav>
        </div>
-       {% weekview year=year week=week fragment="nav" %}
+       {% weeknav year=year week=week %}
 </div>
 {% endblock %}
 {% block main %}
 <div class="wrapper">
        <div class="program marged">
-       {% weekview year=year week=week fragment="program" %}
+       {% weekview year=year week=week %}
        </div>
 </div>
 {% endblock %}
index 8494112729b41c7318242dd4609b749a8209a4a1..d9c2719e72e4c458f7a73d207236817b795afd0b 100644 (file)
                        </ul>
                </nav>
        </div>
-       {% weekview year=year week=week fragment="nav" %}
+       {% weeknav year=year week=week %}
 {% endblock %}
 {% block main %}
 <div class="padded">
        <div class="wrapper">
-               {% weekview year=year week=week fragment="program" %}
+               {% weekview year=year week=week %}
        </div>
 </div>
 {% endblock %}