Calendar view of Milestones and Tickets

Description

Macro for the Trac Wiki Ticketing system to display Milestones and Tickets in a calendar view.

This Macro is hosted here

Port to Trac 0.11.1

Hi there, I ported this macro to work with version 0.11.1 along the lines of WikiCalendarMacro. Unfortunately I'm familiar with java, php or c but didn't do any python coding yet. It's up and running on my production system for about a week and I didn't experience any problems yet ... but that doesn't count much. If anyone could do a little quality assurance, I would be very thankful.

Thanks in advance.

Greets, Alex (alex [at] goldstift [dot] de)

Installation

Simply download the attached WikiTicketCalendarMacro.py to your projects "wiki-macros"-folder and reload your webserver.

For Trac 0.11, this macro should also be copied into the "plugins" folder. Then enable it in trac.ini or the "Manage Plugins" page under the "Admin" tab.

Afterwards you should be able to use the macro in your wiki

Usage

Excerpt of the source documentation:

  Activate it in 'trac.ini'

  [components]
  WikiTicketCalendarMacro.* = enabled


  format:
    WikiTicketCalendar([year,month,[showbuttons,[wiki_page_format,
        [show_ticket_open_dates]]]])

    displays a calendar, the days link to:
     - milestones (day in bold) if there is one on that day
     - a wiki page that has wiki_page_format (if exist)
     - create that wiki page if it does not exist

  arguments:
    year, month = display calendar for month in year ('*' for current year/month)
    showbuttons = true/false, show prev/next buttons
    wiki_page_format = strftime format for wiki pages to display as link
                       (if there is not a milestone placed on that day)
                       (if exist, otherwise link to create page)
                       default is "%Y-%m-%d", '*' for default
    show_ticket_open_dates = true/false, show also when a ticket was opened

  examples:
    WikiTicketCalendar(2006,07)
    WikiTicketCalendar(2006,07,false)
    WikiTicketCalendar(*,*,true,Meeting-%Y-%m-%d)
    WikiTicketCalendar(2006,07,false,Meeting-%Y-%m-%d)
    WikiTicketCalendar(2006,07,true,*,true)

Bugfix

To fix encoding problems for e.g. german users add the following code to the script:

import locale

def expand_macro(self, formatter, name, arguments):

  loc = locale.setlocale(locale.LC_ALL)
  locale.setlocale(locale.LC_TIME, 'english')
  .
  .
  .
  locale.setlocale(locale.LC_ALL, loc)
  return Markup(table)

If you want to use one of the latest patches be sure to fix the daylight saving problem and change:

  duedatestamp = time.mktime((year, month, day, 0, 0, 0, 0, 0, -1))
  duedatestamp_eod = time.mktime((year, month, day, 23, 59, 0, 0, 0, -1))

  to

  duedatestamp = time.mktime((year, month, day, 0, 0, 0, 0, 0, 0))
  duedatestamp_eod = time.mktime((year, month, day, 23, 59, 0, 0, 0, 0))

I can not offer any patch here because the maximum count of external links is reached for this ticket.

Recent Changes

[3025] by mcomb on 01/11/08 03:01:59

New hack WikiTicketCalendarMacro, created by mcomb

Author/Contributors

Author: mcomb
Contributors:

Attachments