wiki:TeamCalendarPlugin

Version 1 (modified by optilude, 8 years ago) (diff)

New hack TeamCalendarPlugin, created by optilude

Team calendar

Description

This plugin adds a new navigation tab, "Team calendar", that can be used to keep track of team availability in a project. The data is stored in the database, which means it can be used in reports and queries.

Bugs/Feature Requests

Existing bugs and feature requests for TeamCalendarPlugin are here.

If you have any issues, create a new ticket.

Download

Download the zipped source from [download:teamcalendarplugin here].

Source

You can check out TeamCalendarPlugin from here using Subversion, or browse the source with Trac.

Example

This plugin adds a new tab, Team Calendar, to users with the TEAMCALENDAR_VIEW permission. This shows a simple tables with dates running down the rows and team members across the columns. Users with TEAMCALENDAR_UPDATE_OWN permissions can change the state of the tick boxes under their own name, and save the results. Users with TEAMCALENDAR_UPDATE_OTHERS permission can update everyone's.

The table is populated form the database, where the following table must be created:

	CREATE TABLE `team_availability` (
	  `username` varchar(255) NOT NULL DEFAULT '',
	  `ondate` date NOT NULL DEFAULT '0000-00-00',
	  `availability` float unsigned DEFAULT NULL,
	  PRIMARY KEY (`username`,`ondate`)
	);

Note that the plugin is currently tied to MySQL. Updates to make it more database agnostic would be welcome.

The 'availability' column will contain 0 or 1 if populated through the GUI. It is left as a float to make it possible to store more granular availability, e.g. half-day, but there is no UI for this at present.

The calendar does not do anything more by itself. However, the team_availability table can be used in reports.

Recent Changes

16052 by rjollos on 2016-12-06 03:45:17
0.1: Add database create steps to README
16051 by rjollos on 2016-12-06 03:40:30
1.0.0dev: Use Trac 1.0 database API

  • Create tables on Environment upgrade (fixes #4115)
  • Store dates as UTC timestamps (fixes #9925)
  • Use executemany (fixes #11288)

This change is not compatible with the previous version.
Please open a ticket if you need help on an upgrade path.

Fixes #9908.

16047 by rjollos on 2016-12-02 22:03:43
1.0.0dev: Conform to PEP8
(more)

Author/Contributors

Author: optilude
Contributors: