1
diff -dPNur 0.11/tracjsgantt/htdocs/jsgantt.js 0.11-fixed//tracjsgantt/htdocs/jsgantt.js
2
--- 0.11/tracjsgantt/htdocs/jsgantt.js 2011-08-10 21:26:35.000000000 +0200
3
+++ 0.11-fixed//tracjsgantt/htdocs/jsgantt.js 2011-09-16 22:00:00.000000000 +0200
6
// DRAW the Left-side of the chart (names, resources, comp%)
8
- '<DIV class=scroll id=leftside style="width:' + vLeftWidth + 'px"><TABLE cellSpacing=0 cellPadding=0 border=0><TBODY>' +
9
+ '<DIV class=scroll id=leftside style="width:' + vLeftWidth + 'px;overflow-x: scroll"><TABLE cellSpacing=0 cellPadding=0 border=0><TBODY>' +
10
'<TR style="HEIGHT: 17px">' +
11
' <TD style="WIDTH: 15px; HEIGHT: 17px"></TD>' +
12
' <TD style="WIDTH: ' + vNameWidth + 'px; HEIGHT: 17px; border:1;align:left BORDER-TOP: #efefef 1px solid; FONT-SIZE: 11px; BORDER-LEFT: #efefef 1px solid;" colspan = ' + vRadioSpan + '>';
13
@@ -1141,13 +1141,13 @@
15
'<TR style="HEIGHT: 20px">' +
16
' <TD style="BORDER-TOP: #efefef 1px solid; WIDTH: 15px; HEIGHT: 20px"></TD>' +
17
- ' <TD style="BORDER-TOP: #efefef 1px solid; WIDTH: ' + vNameWidth + 'px; HEIGHT: 20px"><NOBR></NOBR></TD>' ;
18
+ ' <TD style="BORDER-TOP: #efefef 1px solid; HEIGHT: 20px"><NOBR></NOBR></TD>' ;
20
- if(vShowRes ==1) vLeftTable += ' <TD style="BORDER-TOP: #efefef 1px solid; FONT-SIZE: 12px; BORDER-LEFT: #efefef 1px solid; WIDTH: 60px; HEIGHT: 20px" align=center nowrap>Resource</TD>' ;
21
- if(vShowDur ==1) vLeftTable += ' <TD style="BORDER-TOP: #efefef 1px solid; FONT-SIZE: 12px; BORDER-LEFT: #efefef 1px solid; WIDTH: 60px; HEIGHT: 20px" align=center nowrap>Duration</TD>' ;
22
- if(vShowComp==1) vLeftTable += ' <TD style="BORDER-TOP: #efefef 1px solid; FONT-SIZE: 12px; BORDER-LEFT: #efefef 1px solid; WIDTH: 60px; HEIGHT: 20px" align=center nowrap>% Comp.</TD>' ;
23
- if(vShowStartDate==1) vLeftTable += ' <TD style="BORDER-TOP: #efefef 1px solid; FONT-SIZE: 12px; BORDER-LEFT: #efefef 1px solid; WIDTH: 60px; HEIGHT: 20px" align=center nowrap>Start Date</TD>' ;
24
- if(vShowEndDate==1) vLeftTable += ' <TD style="BORDER-TOP: #efefef 1px solid; FONT-SIZE: 12px; BORDER-LEFT: #efefef 1px solid; WIDTH: 60px; HEIGHT: 20px" align=center nowrap>End Date</TD>' ;
25
+ if(vShowRes ==1) vLeftTable += ' <TD style="BORDER-TOP: #efefef 1px solid; FONT-SIZE: 12px; BORDER-LEFT: #efefef 1px solid; HEIGHT: 20px" align=center nowrap>Resource</TD>' ;
26
+ if(vShowDur ==1) vLeftTable += ' <TD style="BORDER-TOP: #efefef 1px solid; FONT-SIZE: 12px; BORDER-LEFT: #efefef 1px solid; HEIGHT: 20px" align=center nowrap>Duration</TD>' ;
27
+ if(vShowComp==1) vLeftTable += ' <TD style="BORDER-TOP: #efefef 1px solid; FONT-SIZE: 12px; BORDER-LEFT: #efefef 1px solid; HEIGHT: 20px" align=center nowrap>% Comp.</TD>' ;
28
+ if(vShowStartDate==1) vLeftTable += ' <TD style="BORDER-TOP: #efefef 1px solid; FONT-SIZE: 12px; BORDER-LEFT: #efefef 1px solid; HEIGHT: 20px" align=center nowrap>Start Date</TD>' ;
29
+ if(vShowEndDate==1) vLeftTable += ' <TD style="BORDER-TOP: #efefef 1px solid; FONT-SIZE: 12px; BORDER-LEFT: #efefef 1px solid; HEIGHT: 20px" align=center nowrap>End Date</TD>' ;
31
vLeftTable += '</TR>';
33
@@ -1192,26 +1192,22 @@
35
'<span ' +'class="'+vTaskList[i].getClass()+'" '+
36
'onclick=JSGantt.taskLink("' + vTaskList[i].getLink() + '","'+vPopupFeatures+'"); ' +
37
- 'style="cursor:pointer; display:inline-block;width:'+vNameWidth+'px;overflow:hidden;padding:0px" ' +
38
+ 'style="cursor:pointer; display:inline-block;overflow:hidden;padding:0px" ' +
39
'title="'+vTaskList[i].getName()+'"> ' + vTaskList[i].getName() +
43
- if(vShowRes ==1) vLeftTable += ' <TD class=gname style="WIDTH: 60px; HEIGHT: 20px; TEXT-ALIGN: center; BORDER-TOP: #efefef 1px solid; FONT-SIZE: 12px; BORDER-LEFT: #efefef 1px solid;" align=center><NOBR>' + vTaskList[i].getResource() + '</NOBR></TD>' ;
44
- if(vShowDur ==1) vLeftTable += ' <TD class=gname style="WIDTH: 60px; HEIGHT: 20px; TEXT-ALIGN: center; BORDER-TOP: #efefef 1px solid; FONT-SIZE: 12px; BORDER-LEFT: #efefef 1px solid;" align=center><NOBR>' + vTaskList[i].getDuration(vFormat) + '</NOBR></TD>' ;
45
- if(vShowComp==1) vLeftTable += ' <TD class=gname style="WIDTH: 60px; HEIGHT: 20px; TEXT-ALIGN: center; BORDER-TOP: #efefef 1px solid; FONT-SIZE: 12px; BORDER-LEFT: #efefef 1px solid;" align=center><NOBR>' + vTaskList[i].getCompStr() + '</NOBR></TD>' ;
46
- if(vShowStartDate==1) vLeftTable += ' <TD class=gname style="WIDTH: 60px; HEIGHT: 20px; TEXT-ALIGN: center; BORDER-TOP: #efefef 1px solid; FONT-SIZE: 12px; BORDER-LEFT: #efefef 1px solid;" align=center><NOBR>' + JSGantt.formatDateStr( vTaskList[i].getStart(), vDateDisplayFormat) + '</NOBR></TD>' ;
47
- if(vShowEndDate==1) vLeftTable += ' <TD class=gname style="WIDTH: 60px; HEIGHT: 20px; TEXT-ALIGN: center; BORDER-TOP: #efefef 1px solid; FONT-SIZE: 12px; BORDER-LEFT: #efefef 1px solid;" align=center><NOBR>' + JSGantt.formatDateStr( vTaskList[i].getEnd(), vDateDisplayFormat) + '</NOBR></TD>' ;
48
+ if(vShowRes ==1) vLeftTable += ' <TD class=gname style="HEIGHT: 20px; TEXT-ALIGN: center; BORDER-TOP: #efefef 1px solid; FONT-SIZE: 12px; BORDER-LEFT: #efefef 1px solid;" align=center><NOBR>' + vTaskList[i].getResource() + '</NOBR></TD>' ;
49
+ if(vShowDur ==1) vLeftTable += ' <TD class=gname style="HEIGHT: 20px; TEXT-ALIGN: center; BORDER-TOP: #efefef 1px solid; FONT-SIZE: 12px; BORDER-LEFT: #efefef 1px solid;" align=center><NOBR>' + vTaskList[i].getDuration(vFormat) + '</NOBR></TD>' ;
50
+ if(vShowComp==1) vLeftTable += ' <TD class=gname style="HEIGHT: 20px; TEXT-ALIGN: center; BORDER-TOP: #efefef 1px solid; FONT-SIZE: 12px; BORDER-LEFT: #efefef 1px solid;" align=center><NOBR>' + vTaskList[i].getCompStr() + '</NOBR></TD>' ;
51
+ if(vShowStartDate==1) vLeftTable += ' <TD class=gname style="HEIGHT: 20px; TEXT-ALIGN: center; BORDER-TOP: #efefef 1px solid; FONT-SIZE: 12px; BORDER-LEFT: #efefef 1px solid;" align=center><NOBR>' + JSGantt.formatDateStr( vTaskList[i].getStart(), vDateDisplayFormat) + '</NOBR></TD>' ;
52
+ if(vShowEndDate==1) vLeftTable += ' <TD class=gname style="HEIGHT: 20px; TEXT-ALIGN: center; BORDER-TOP: #efefef 1px solid; FONT-SIZE: 12px; BORDER-LEFT: #efefef 1px solid;" align=center><NOBR>' + JSGantt.formatDateStr( vTaskList[i].getEnd(), vDateDisplayFormat) + '</NOBR></TD>' ;
54
vLeftTable += '</TR>';
58
// DRAW the date format selector at bottom left. Another potential GanttChart parameter to hide/show this selector
59
- vLeftTable += '</TD></TR>' +
60
- '<TR><TD border=1 colspan=5 align=left style="BORDER-TOP: #efefef 1px solid; FONT-SIZE: 11px; BORDER-LEFT: #efefef 1px solid; height:18px"> Powered by <a href=http://www.jsgantt.com>jsGantt</a> ';
63
vLeftTable += '</TD></TR></TBODY></TABLE></div>';
65
vMainTable += vLeftTable;
66
diff -dPNur 0.11/tracjsgantt/tracjsgantt.py 0.11-fixed//tracjsgantt/tracjsgantt.py
67
--- 0.11/tracjsgantt/tracjsgantt.py 2011-09-15 20:59:28.000000000 +0200
68
+++ 0.11-fixed//tracjsgantt/tracjsgantt.py 2011-09-16 20:51:00.000000000 +0200
71
# If there's no due date, default to today
74
milestoneTicket[self.fields['finish']] = \
75
- format_date(ts, self.dbDateFormat)
76
+ format_date(ts, self.dbDateFormat.encode('latin-1'))
79
# jsGantt ignores start for a milestone but we use it