templates/channel_calendar.tmpl
author Tero Marttila <terom@fixme.fi>
Fri, 13 Feb 2009 00:32:06 +0200
changeset 122 2d75e13397a8
parent 115 751e3fcd11d2
permissions -rw-r--r--
merge quickfixes
<%inherit file="channel.tmpl" />

<%def name="month_table(month, is_center=True)">
## the set of available days
<% log_dates = h.set(channel.source.get_month_days(month)) %>
## the calendar table
<table class="calendar">
## table header - month name
    <tr class="month-header">
        <th colspan="7"${' class="this-month"' if h.is_this_month(month) else ''}>
        % if is_center :
            <a href="${urls.channel_calendar.build(req, channel=channel, year=h.next_month(month).year, month=h.next_month(month).month)}" class="next-month" title="Next month">&raquo;</a>
            <a href="${urls.channel_calendar.build(req, channel=channel, year=h.prev_month(month).year, month=h.prev_month(month).month)}" class="prev-month" title="Previous month">&laquo;</a>
            
            <form action="${urls.channel_calendar.build(req, channel=channel)}" method="GET">
                <select name="month">
                    ${h.select_options(((month_num, name) for month_num, name in h.months), month.month)}
                </select>
                <select name="year">
                    ${h.select_options(((None, 2006), (None, 2007), (None, 2008), (None, 2009)), month.year)}
                </select>
                <input type="submit" value="Go &raquo;" />
            </form>
        % else :
            <span id="month-name">${h.fmt_month(month)}</span>
        % endif
        </th>
    </tr>
## month header - weekday names    
    <tr class="week-header">
    % for weekday in h.calendar.iterweekdays() :
        <th>${h.fmt_weekday(weekday)}</th>
    % endfor
    </tr>
## iterate over the weeks
% for week in h.calendar.monthdays2calendar(month.year, month.month) :
    <tr>
    ## iterate over the week's days
    % for day, weekday in week :
        ## is it an empty cell?
        % if not day :
        <td>&nbsp;</td>
        % else :
        ## build date
        <% date = h.build_date(month, day) %>\
        ## render cell
        <td${' id="today"' if h.is_today(date) else ''}${' class="empty"' if date.date() not in log_dates else ''}>\
        ## link to logs for this day?
        % if date.date() in log_dates :
<a href="${urls.channel_date.build(req, channel=channel, date=date)}">${day}</a>\
        % else :
${day}\
        % endif
</td>
    % endif
    % endfor
    </tr>
% endfor
</table>
</%def>

<div id="title">${channel.title} :: Calendar for ${h.fmt_month(month)}</div>

<div class="calendar-list">
## three months
${month_table(h.prev_month(month), is_center=False  )}
${month_table(month,               is_center=True   )}
${month_table(h.next_month(month), is_center=False  )}
</div>