summaryrefslogtreecommitdiffstats
path: root/template/en/default/bug
diff options
context:
space:
mode:
authorbugreport%peshkin.net <>2002-10-13 13:26:02 +0200
committerbugreport%peshkin.net <>2002-10-13 13:26:02 +0200
commitfd742d6fc8849328749866dbff2936d43abcc7d1 (patch)
tree1e4d7646a4589bcf44adceb452b38924286f7af1 /template/en/default/bug
parentf61593bee73b37fc12caabbb2958b6515d688420 (diff)
downloadbugzilla-fd742d6fc8849328749866dbff2936d43abcc7d1.tar.gz
bugzilla-fd742d6fc8849328749866dbff2936d43abcc7d1.tar.xz
Bug 24789 [E|A|R] Add Estimated, Actual, Remaining Time Fields
patch by jeff.hedlund@matrixsi.com 2xr=joel,justdave
Diffstat (limited to 'template/en/default/bug')
-rw-r--r--template/en/default/bug/activity/table.html.tmpl18
-rw-r--r--template/en/default/bug/comments.html.tmpl12
-rw-r--r--template/en/default/bug/create/create.html.tmpl14
-rw-r--r--template/en/default/bug/edit.html.tmpl79
-rw-r--r--template/en/default/bug/show-multiple.html.tmpl28
-rw-r--r--template/en/default/bug/time.html.tmpl48
6 files changed, 195 insertions, 4 deletions
diff --git a/template/en/default/bug/activity/table.html.tmpl b/template/en/default/bug/activity/table.html.tmpl
index 43529bd23..45c8e4380 100644
--- a/template/en/default/bug/activity/table.html.tmpl
+++ b/template/en/default/bug/activity/table.html.tmpl
@@ -32,6 +32,8 @@
# incomplete_data: boolean. True if some of the data is incomplete (because
# it was affected by an old Bugzilla bug.)
#%]
+
+[% PROCESS bug/time.html.tmpl %]
[% IF incomplete_data %]
<p>
@@ -72,14 +74,26 @@
</td>
<td>
[% IF change.removed %]
- [% change.removed FILTER html %]
+ [% IF change.fieldname == 'estimated_time' ||
+ change.fieldname == 'remaining_time' ||
+ change.fieldname == 'work_time' %]
+ [% PROCESS formattimeunit time_unit=change.removed %]
+ [% ELSE %]
+ [% change.removed FILTER html %]
+ [% END %]
[% ELSE %]
&nbsp;
[% END %]
</td>
<td>
[% IF change.added %]
- [% change.added FILTER html %]
+ [% IF change.fieldname == 'estimated_time' ||
+ change.fieldname == 'remaining_time' ||
+ change.fieldname == 'work_time' %]
+ [% PROCESS formattimeunit time_unit=change.added %]
+ [% ELSE %]
+ [% change.added FILTER html %]
+ [% END %]
[% ELSE %]
&nbsp;
[% END %]
diff --git a/template/en/default/bug/comments.html.tmpl b/template/en/default/bug/comments.html.tmpl
index 7a8ae73db..f5880a811 100644
--- a/template/en/default/bug/comments.html.tmpl
+++ b/template/en/default/bug/comments.html.tmpl
@@ -30,6 +30,7 @@
[% count = count + 1 %]
[% END %]
+[% PROCESS bug/time.html.tmpl %]
[%############################################################################%]
[%# Block for individual comments #%]
@@ -43,9 +44,11 @@
<i>------- Additional Comment
<a name="c[% count %]" href="#c[% count %]">#[% count %]</a> From
<a href="mailto:[% comment.email FILTER html %]">[% comment.name FILTER html %]</a>
- [%+ comment.time %] -------
+ [%+ comment.time %]
+ -------
</i>
[% END %]
+
[% IF mode == "edit" && isinsider %]
<i>
<input type=hidden name="oisprivate-[% count %]"
@@ -55,7 +58,12 @@
[% " checked=\"checked\"" IF comment.isprivate %]> Private
</i>
[% END %]
-
+ [% IF UserInGroup(Param('timetrackinggroup')) &&
+ (comment.work_time > 0 || comment.work_time < 0) %]
+ <br>
+ Additional hours worked:
+ [% PROCESS formattimeunit time_unit=comment.work_time %]
+ [% END %]
[%# Don't indent the <pre> block, since then the spaces are displayed in the
# generated HTML
#%]
diff --git a/template/en/default/bug/create/create.html.tmpl b/template/en/default/bug/create/create.html.tmpl
index 066c11b63..354dd990c 100644
--- a/template/en/default/bug/create/create.html.tmpl
+++ b/template/en/default/bug/create/create.html.tmpl
@@ -155,6 +155,20 @@
<td colspan="3"></td>
</tr>
+[% IF UserInGroup(Param('timetrackinggroup')) %]
+ <tr>
+ <td align="right"><strong>Estimated Hours:</strong></td>
+ <td colspan="3">
+ <input name="estimated_time" size="6" maxlength="6" value="0.0"/>
+ </td>
+ </tr>
+
+ <tr>
+ <td>&nbsp;</td>
+ <td colspan="3"></td>
+ </tr>
+[% END %]
+
<tr>
<td align="right"><strong>URL:</strong></td>
<td colspan="3">
diff --git a/template/en/default/bug/edit.html.tmpl b/template/en/default/bug/edit.html.tmpl
index 152852169..453b4aa65 100644
--- a/template/en/default/bug/edit.html.tmpl
+++ b/template/en/default/bug/edit.html.tmpl
@@ -32,6 +32,29 @@
[% END %]
[% PROCESS bug/navigate.html.tmpl %]
+[% PROCESS bug/time.html.tmpl %]
+
+<script type="text/javascript" language="JavaScript">
+<!--
+var fRemainingTime = [% bug.remaining_time %]; // holds the original value
+function adjustRemainingTime() {
+ // subtracts time spent from remaining time
+ var new_time;
+
+ new_time =
+ fRemainingTime - document.changeform.work_time.value;
+ // get upto 2 decimal places
+ document.changeform.remaining_time.value =
+ Math.round(new_time * 100)/100;
+}
+
+function updateRemainingTime() {
+ // if the remaining time is changed manually, update fRemainingTime
+ fRemainingTime = document.changeform.remaining_time.value;
+}
+
+//-->
+</script>
<hr>
@@ -264,6 +287,62 @@
</tr>
[% END %]
</table>
+
+ [% IF UserInGroup(Param('timetrackinggroup')) %]
+ <br>
+ <table cellpadding=0 cellspacing=0 border=1>
+ <tr>
+ <th width="16.6%" align="center" bgcolor="#cccccc">
+ Orig. Est.
+ </th>
+ <th width="16.6%" align="center" bgcolor="#cccccc">
+ Current Est.
+ </th>
+ <th width="16.6%" align="center" bgcolor="#cccccc">
+ Hours Worked
+ </th>
+ <th width="16.6%" align="center" bgcolor="#cccccc">
+ Hours Left
+ </th>
+ <th width="16.6%" align="center" bgcolor="#cccccc">
+ %Complete
+ </th>
+ <th width="16.6%" align="center" bgcolor="#cccccc">
+ Gain
+ </th>
+ </tr>
+ <tr>
+ <td align="center">
+ <input name="estimated_time"
+ value="[% PROCESS formattimeunit
+ time_unit=bug.estimated_time %]"
+ size="6" maxlength="6">
+ </td>
+ <td align="center">
+ [% PROCESS formattimeunit
+ time_unit=(bug.actual_time + bug.remaining_time) %]
+ </td>
+ <td align="center">
+ [% PROCESS formattimeunit time_unit=bug.actual_time %] +
+ <input name="work_time" value="0" size="3" maxlength="6"
+ onChange="adjustRemainingTime();">
+ </td>
+ <td align="center">
+ <input name="remaining_time"
+ value="[% PROCESS formattimeunit
+ time_unit=bug.remaining_time %]"
+ size="6" maxlength="6" onChange="updateRemainingTime();">
+ </td>
+ <td align="center">
+ [% PROCESS calculatepercentage act=bug.actual_time
+ rem=bug.remaining_time %]
+ </td>
+ <td align="center">
+ [% PROCESS formattimeunit time_unit=bug.estimated_time - (bug.actual_time + bug.remaining_time) %]
+ </td>
+ </tr>
+ </table>
+ [% END %]
[%# *** Attachments *** %]
diff --git a/template/en/default/bug/show-multiple.html.tmpl b/template/en/default/bug/show-multiple.html.tmpl
index 0c089e9c5..d7e2fcf09 100644
--- a/template/en/default/bug/show-multiple.html.tmpl
+++ b/template/en/default/bug/show-multiple.html.tmpl
@@ -24,6 +24,7 @@
title = "Full Text Bug Listing"
style_urls = [ "css/show_multiple.css" ]
%]
+[% PROCESS bug/time.html.tmpl %]
[% IF bugs.first %]
[% FOREACH bug = bugs %]
[% PROCESS bug_display %]
@@ -34,6 +35,7 @@
</p>
[% END %]
+
[% PROCESS global/footer.html.tmpl %]
@@ -130,6 +132,32 @@
</tr>
[% END %]
+ [% IF UserInGroup(Param("timetrackinggroup")) %]
+ <tr>
+ <td colspan="4">
+ <b>Orig. Est.:</b>&nbsp;
+ [% PROCESS formattimeunit time_unit=bug.estimated_time %]
+ &nbsp;
+ <b>Current Est.:</b>&nbsp;
+ [% PROCESS formattimeunit
+ time_unit=(bug.remaining_time + bug.actual_time) %]
+ &nbsp;
+ <b>Hours Worked:</b>&nbsp;
+ [% PROCESS formattimeunit time_unit=bug.actual_time %]&nbsp;
+ <b>Hours Left:</b>&nbsp;
+ [% PROCESS formattimeunit time_unit=bug.remaining_time %]
+ &nbsp;
+ <b>Percentage Complete:</b>&nbsp;
+ [% PROCESS calculatepercentage act=bug.actual_time
+ rem=bug.remaining_time %]&nbsp;
+ <b>Gain</b>&nbsp;
+ [% PROCESS formattimeunit
+ time_unit=bug.estimated_time - (bug.actual_time + bug.remaining_time) %]
+ &nbsp;
+ </td>
+ </tr>
+ [% END %]
+
<tr>
<td colspan="4">
<b>Description:</b>
diff --git a/template/en/default/bug/time.html.tmpl b/template/en/default/bug/time.html.tmpl
new file mode 100644
index 000000000..af6966930
--- /dev/null
+++ b/template/en/default/bug/time.html.tmpl
@@ -0,0 +1,48 @@
+<!-- 1.0@bugzilla.org -->
+[%# The contents of this file are subject to the Mozilla Public
+ # License Version 1.1 (the "License"); you may not use this file
+ # except in compliance with the License. You may obtain a copy of
+ # the License at http://www.mozilla.org/MPL/
+ #
+ # Software distributed under the License is distributed on an "AS
+ # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+ # implied. See the License for the specific language governing
+ # rights and limitations under the License.
+ #
+ # The Original Code is the Bugzilla Bug Tracking System.
+ #
+ # The Initial Developer of the Original Code is Netscape Communications
+ # Corporation. Portions created by Netscape are
+ # Copyright (C) 1998 Netscape Communications Corporation. All
+ # Rights Reserved.
+ #
+ # Contributor(s): Jeff Hedlund <jeff.hedlund@matrixsi.com>
+ #
+ #%]
+
+[% BLOCK formattimeunit %]
+ [%# INTERFACE:
+ # time_unit: the number converting, converts to 2 decimal places
+ # unless the last character is a 0, then it truncates to
+ # 1 decimal place
+ #%]
+ [% time_unit = time_unit FILTER format('%.2f') %]
+ [% IF time_unit.match('0\Z') %]
+ [% time_unit FILTER format('%.1f') %]
+ [% ELSE %]
+ [% time_unit FILTER format('%.2f') %]
+ [% END %]
+[% END %]
+
+[% BLOCK calculatepercentage %]
+ [%# INTERFACE:
+ # act: actual time
+ # rem: remaining time
+ # %]
+ [% IF (act + rem) > 0 %]
+ [% (act / (act + rem)) * 100
+ FILTER format("%d") %]
+ [% ELSE %]
+ 0
+ [% END %]
+[% END %]