templates/channel_calendar.tmpl
author Tero Marttila <terom@fixme.fi>
Wed, 11 Feb 2009 04:04:55 +0200
changeset 102 e396613bc873
parent 85 0521cf830eb9
child 112 090192b64d7e
permissions -rw-r--r--
have LogDirectory use utils.mtime instead of os.stat
54
b65a95eb9f6b implement browse-by-date to show a nice calendar
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     1
<%inherit file="channel.tmpl" />
b65a95eb9f6b implement browse-by-date to show a nice calendar
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     2
b65a95eb9f6b implement browse-by-date to show a nice calendar
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     3
<%def name="month_table(cal, month, dates)">
b65a95eb9f6b implement browse-by-date to show a nice calendar
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     4
<table class="calendar">
b65a95eb9f6b implement browse-by-date to show a nice calendar
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     5
## table header - month name
55
5667d2bbdc50 improve calendar further
Tero Marttila <terom@fixme.fi>
parents: 54
diff changeset
     6
    <tr class="month-header">
58
ce028d356e1f special-case current month in calendar
Tero Marttila <terom@fixme.fi>
parents: 55
diff changeset
     7
        <th colspan="7"${' class="this-month"' if h.is_this_month(month) else ''}>
55
5667d2bbdc50 improve calendar further
Tero Marttila <terom@fixme.fi>
parents: 54
diff changeset
     8
            <a href="${urls.channel_calendar.build(req, channel=channel, year=h.next_month_year(month), month=h.next_month(month))}" class="next-month">&raquo;</a>
5667d2bbdc50 improve calendar further
Tero Marttila <terom@fixme.fi>
parents: 54
diff changeset
     9
            <a href="${urls.channel_calendar.build(req, channel=channel, year=h.prev_month_year(month), month=h.prev_month(month))}" class="prev-month">&laquo;</a>
5667d2bbdc50 improve calendar further
Tero Marttila <terom@fixme.fi>
parents: 54
diff changeset
    10
            <span id="month-name">${h.fmt_month(month)}</span>
5667d2bbdc50 improve calendar further
Tero Marttila <terom@fixme.fi>
parents: 54
diff changeset
    11
        </th>
54
b65a95eb9f6b implement browse-by-date to show a nice calendar
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    12
    </tr>
b65a95eb9f6b implement browse-by-date to show a nice calendar
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    13
## month header - weekday names    
55
5667d2bbdc50 improve calendar further
Tero Marttila <terom@fixme.fi>
parents: 54
diff changeset
    14
    <tr class="week-header">
54
b65a95eb9f6b implement browse-by-date to show a nice calendar
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    15
    % for weekday in cal.iterweekdays() :
b65a95eb9f6b implement browse-by-date to show a nice calendar
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    16
        <th>${h.fmt_weekday(weekday)}</th>
b65a95eb9f6b implement browse-by-date to show a nice calendar
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    17
    % endfor
b65a95eb9f6b implement browse-by-date to show a nice calendar
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    18
    </tr>
b65a95eb9f6b implement browse-by-date to show a nice calendar
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    19
## iterate over the weeks
b65a95eb9f6b implement browse-by-date to show a nice calendar
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    20
% for week in cal.monthdays2calendar(month.year, month.month) :
b65a95eb9f6b implement browse-by-date to show a nice calendar
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    21
    <tr>
b65a95eb9f6b implement browse-by-date to show a nice calendar
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    22
    ## iterate over the week's days
b65a95eb9f6b implement browse-by-date to show a nice calendar
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    23
    % for day, weekday in week :
b65a95eb9f6b implement browse-by-date to show a nice calendar
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    24
        ## is it an empty cell?
b65a95eb9f6b implement browse-by-date to show a nice calendar
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    25
        % if not day :
b65a95eb9f6b implement browse-by-date to show a nice calendar
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    26
        <td>&nbsp;</td>
b65a95eb9f6b implement browse-by-date to show a nice calendar
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    27
        % else :
b65a95eb9f6b implement browse-by-date to show a nice calendar
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    28
        ## build date
85
0521cf830eb9 misc. template clean (hide RSS link, remove extra whitespace from calendar source
Tero Marttila <terom@fixme.fi>
parents: 58
diff changeset
    29
        <% date = h.build_date(month, day) %>\
55
5667d2bbdc50 improve calendar further
Tero Marttila <terom@fixme.fi>
parents: 54
diff changeset
    30
        ## render cell
5667d2bbdc50 improve calendar further
Tero Marttila <terom@fixme.fi>
parents: 54
diff changeset
    31
        <td${' id="today"' if h.is_today(date) else ''}${' class="empty"' if date not in dates else ''}>\
54
b65a95eb9f6b implement browse-by-date to show a nice calendar
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    32
        ## link to logs for this day?
b65a95eb9f6b implement browse-by-date to show a nice calendar
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    33
        % if date in dates :
85
0521cf830eb9 misc. template clean (hide RSS link, remove extra whitespace from calendar source
Tero Marttila <terom@fixme.fi>
parents: 58
diff changeset
    34
<a href="${urls.channel_date.build(req, channel=channel, date=date)}">${day}</a>\
54
b65a95eb9f6b implement browse-by-date to show a nice calendar
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    35
        % else :
85
0521cf830eb9 misc. template clean (hide RSS link, remove extra whitespace from calendar source
Tero Marttila <terom@fixme.fi>
parents: 58
diff changeset
    36
${day}\
54
b65a95eb9f6b implement browse-by-date to show a nice calendar
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    37
        % endif
b65a95eb9f6b implement browse-by-date to show a nice calendar
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    38
</td>
b65a95eb9f6b implement browse-by-date to show a nice calendar
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    39
    % endif
b65a95eb9f6b implement browse-by-date to show a nice calendar
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    40
    % endfor
b65a95eb9f6b implement browse-by-date to show a nice calendar
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    41
    </tr>
b65a95eb9f6b implement browse-by-date to show a nice calendar
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    42
% endfor
b65a95eb9f6b implement browse-by-date to show a nice calendar
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    43
</table>
b65a95eb9f6b implement browse-by-date to show a nice calendar
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    44
</%def>
b65a95eb9f6b implement browse-by-date to show a nice calendar
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    45
b65a95eb9f6b implement browse-by-date to show a nice calendar
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    46
${month_table(calendar, month, days)}
b65a95eb9f6b implement browse-by-date to show a nice calendar
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    47