## This file is subject to the terms and conditions defined in
## file 'LICENSE', which is part of this source code package.
## Copyright (c) 2009 SKR Farms (P) LTD.
<%inherit file="/base/basic1.html"/>
<%namespace name="elements" file="/component/elements.html"/>
<%namespace name="forms" file="/component/forms.html"/>
<%namespace name="charts" file="/component/charts.html"/>
<%!
page_tooltips = [
[ 'Help',
"""Use the Roadmap page to view project's progress and achievements.
Milestones are grouped into catagories closed and opened,
and chronologically sorted.
Background color coding :
open milestones
closed milestones
cancelled milestones
Milestone-id is displayed along with the milestone name in paranthesis, use
this where ever the milestone needs to be referenced.
Report Card gives a visual segmentation of milestone tickets in terms
of 'ticket-types', 'ticket-status', 'ticket-severity'.
"""
],
[ 'Project homepage',
"""Home page can be constructed using wiki markup. To change home page
content edit project's 'homepage' wiki document.
"""
],
[ 'Mountpoints',
"""Repository directories can be mounted on-to site's url path, so that
contents of its directory, including its sub-directory can be viewed as html
pages"""
],
[ 'Favorites',
"""Registered users can pick project(s) as their favorite, provided the user
has 'PROJECT_VIEW' permission"""
],
[ 'Downloads',
"""Downloable files for this project."""
],
[ 'Attachments',
"""Add summary and tags to project attachments."""
],
[ 'Tags',
"""Tag a project by clicking on the iconized title. Delete
tags by clicking on the cross-wire. Tag names should be 2 or more characters.
"""
],
[ 'Timeline',
"""Timeline for project, shows all updates done in the context of a project
except project-administrative logs, which is available under admin/timeline."""
],
]
%>
<%def name="hd_script()">
${parent.hd_script()}
%def>
<%def name="mstnchart( m )">
${charts.chart13( m.id, *c.mstnresolved[m.id] )}
%def>
<%def name="show_mstnrow( m )">
<%
pname = c.project.projectname
crdt = h.timezone( c.authuser.timezone ).localize( m.created_on )
dudt = ''
strike = ''
flash_schedule = ''
fgflash = ''
if m.due_date :
dudt = m.due_date.astimezone( h.timezone(c.authuser.timezone))
daysleft = m.due_date.astimezone( h.timezone('UTC') ) - \
h.timezone('UTC').localize( h.dt.datetime.utcnow() )
if (m.completed==False) and (m.cancelled==False) :
if ( daysleft < h.dt.timedelta(0) ) :
flash_schedule = "( overun by %s days )" % daysleft.days
fgflash = 'fgred'
else :
flash_schedule = " %s days left " % daysleft.days
fgflash = 'fggreen'
if m.completed :
mstatus = 'Completed'
fgcolor = 'fggreen'
bgcolor = 'bggrn2'
elif m.cancelled :
mstatus = 'Cancelled'
fgcolor = 'fggray'
bgcolor = 'bggray1'
strike = 'strike'
else :
mstatus = 'Open'
fgcolor = 'fgblue'
bgcolor = 'bgblue1'
%>