Add productive time into english version

parent 7e174612
...@@ -202,6 +202,8 @@ ...@@ -202,6 +202,8 @@
<br> <br>
Additional hours worked: Additional hours worked:
[% PROCESS formattimeunit time_unit=comment.work_time %] [% PROCESS formattimeunit time_unit=comment.work_time %]
Productive hours worked:
<span class="productive-time">[% PROCESS formattimeunit time_unit=comment.productive_time %]</span>
[% END %] [% END %]
[% IF user.id && Param('comment_taggers_group') %] [% IF user.id && Param('comment_taggers_group') %]
...@@ -235,4 +237,20 @@ ...@@ -235,4 +237,20 @@
[% Hook.process('a_comment-end', 'bug/comments.html.tmpl') %] [% Hook.process('a_comment-end', 'bug/comments.html.tmpl') %]
</div> </div>
[% END %] [% END %]
<script type="text/javascript">
let productiveTimes = document.querySelectorAll('.productive-time');
// parse float and get sum
let sum = 0;
for (let i = 0; i < productiveTimes.length; i++) {
sum += parseFloat(productiveTimes[i].innerText);
}
sum = Math.round(sum * 100) / 100;
// write in table:
document.querySelector('#productive_time_amount').innerHTML += sum;
</script>
[% END %] [% END %]
...@@ -1060,6 +1060,9 @@ ...@@ -1060,6 +1060,9 @@
[% INCLUDE "bug/field-label.html.tmpl" [% INCLUDE "bug/field-label.html.tmpl"
field = bug_fields.work_time, editable = 1 field = bug_fields.work_time, editable = 1
%] %]
<th>
Productive time:
</th>
[% INCLUDE "bug/field-label.html.tmpl" [% INCLUDE "bug/field-label.html.tmpl"
field = bug_fields.remaining_time, editable = 1 field = bug_fields.remaining_time, editable = 1
%] %]
...@@ -1085,10 +1088,15 @@ ...@@ -1085,10 +1088,15 @@
time_unit=(bug.actual_time + bug.remaining_time) %] time_unit=(bug.actual_time + bug.remaining_time) %]
</td> </td>
<td> <td>
[% PROCESS formattimeunit time_unit=bug.actual_time %] + [% PROCESS formattimeunit time_unit=bug.actual_time %]
<input name="work_time" id="work_time" <input name="work_time" id="work_time"
value="0" size="3" maxlength="6" value="0" size="3" maxlength="6"
onchange="adjustRemainingTime();"> onchange="adjustRemainingTime();" hidden>
</td>
<td id="productive_time_amount">
[% PROCESS formattimeunit time_unit=bug.productive_time %]
<input name="productive_time" id="productive_time"
value="0" size="3" maxlength="6" hidden>
</td> </td>
<td> <td>
<input name="remaining_time" id="remaining_time" <input name="remaining_time" id="remaining_time"
......
<link rel="stylesheet" type="text/css" href="js/etersoft/timersplash.css" /> <link rel="stylesheet" type="text/css" href="js/etersoft/timersplash.css" />
<div style="display: none;" id="useremail" class="[% user.email FILTER html %]"></div> <div style="display: none;" id="useremail" class="[% user.email FILTER html %]"></div>
<div style="display: none;" id="assigntoemail" class="[% bug.assigned_to.email FILTER html %]"></div> <div style="display: none;" id="assigntoemail" class="[% bug.assigned_to.email FILTER html %]"></div>
<!-- Таймер --> <!-- Таймер -->
<div id="timerblock" title="Время на странице"> <div id="timerblock" title="Время на странице">
<img src="js/etersoft/control_pause.gif" id="timer_pause" onclick="timer.togglePause()" title="Пауза" /> <img src="js/etersoft/control_pause.gif" id="timer_pause" onclick="timer.togglePause()" title="Пауза" />
<img src="js/etersoft/control_right.gif" id="timer_play" onclick="timer.togglePause()" title="Продолжить" /> <img src="js/etersoft/control_right.gif" id="timer_play" onclick="timer.togglePause()" title="Продолжить" />
<img src="js/etersoft/control_stop.gif" id="timer_stop" onclick="if (confirm('Вы точно хотите сбросить таймер?')) {timer.reset();}" title="Сбросить таймер" /> <img src="js/etersoft/control_stop.gif" id="timer_stop" onclick="if (confirm('Вы точно хотите сбросить таймер?')) {timer.reset();}" title="Сбросить таймер" />
<input type="text" size="10" title="Время на странице" id='timespent' name="timespent" value="" readonly="readonly"> <input type="text" size="10" title="Время на странице" id='timespent' name="timespent" value="" readonly="readonly">
</div> </div>
<!-- Сохранение времени --> <!-- Сохранение времени -->
<div id="timeQuestionDiv"> <div id="timeQuestionDiv">
<strong>Укажите отработанное время</strong> <div class="container">
<div class="workTime">
<div name="worktimediv"> <h3>Укажите отработанное время</h3>
<nobr>Отработанное время (в минутах): <h4>Отслеживайте корректность оставшегося времени.</h4>
<input type="text" id='realworktime' name="realworktime" onchange='update_remain();' onkeydown="javascript:if(13==event.keyCode){premysubmit(-1); return false;}; if(27==event.keyCode){getElementById('timeQuestionDiv').style.display = 'none'; return false;}" /> <fieldset>
<a onclick="premysubmit(-1);">Сохранить</a></p> Отработанное время:
</nobr> <div class="workTimeInner">
<input class="workTime__input" id="realworktime" name="realworktime" placeholder="в минутах" title="Время в минутах" type="text" tabindex="1" required autofocus>
<div id='id_remain_time' class='div_hide'>Оставшееся время (в часах): <button class="workTime__button" data-time="1">1</button>
<input type="text" id="realremaintime" name="realremaintime" onchange='changed_remain = 1; update_remain();' onkeydown="javascript:if(13==event.keyCode){return false;}" /> <button class="workTime__button" data-time="5">5</button>
</div> <button class="workTime__button" data-time="15">15</button>
<button class="workTime__button" data-time="30">30</button>
<div id='message' class='div_hide'> </div>
<p>Отслеживайте корректность оставшегося времени.</p> </fieldset>
</div> <fieldset>
Продуктивное время:
<div id='message_warning' class='div_hide' color='red'> <input id="ProductTime" placeholder="в минутах" title="Время в минутах" type="text" tabindex="2">
<p>Внимание! Оставшееся время равно 0.<br>Если задача ещё не решена, то укажите необходимое для её решения время.</p> </fieldset>
</div> <fieldset>
</div> <button class="workTime__button" id="saveTime">Сохранить</button>
<div> </fieldset>
<p><a onclick="premysubmit(-1);">Сохранить значение из поля</a></p> <a onclick="closeDiv();" class="close"></a>
<p><a onclick="premysubmit(5);">Сохранить 5 минут</a></p> </div>
<p><a onclick="premysubmit(15);">Сохранить 15 минут</a></p> </div>
<p><a onclick="premysubmit(30);">Сохранить 30 минут</a></p> </div>
<p><a onclick="closeDiv();">Закрыть</a></p>
</div> <script language="javascript" type="text/javascript" src="js/etersoft/timer_common.js?25_10_2017"></script>
</div> <script language="javascript" type="text/javascript" src="js/etersoft/timer.js?22_11_2017"></script>
<script language="javascript" type="text/javascript" src="js/etersoft/timer_common.js?25_10_2017"></script>
<script language="javascript" type="text/javascript" src="js/etersoft/timer.js?22_11_2017"></script>
...@@ -246,6 +246,8 @@ for (let i = 0; i < productiveTimes.length; i++) { ...@@ -246,6 +246,8 @@ for (let i = 0; i < productiveTimes.length; i++) {
sum += parseFloat(productiveTimes[i].innerText); sum += parseFloat(productiveTimes[i].innerText);
} }
sum = Math.round(sum * 100) / 100;
// write in table: // write in table:
document.querySelector('#productive_time_amount').innerHTML += sum; document.querySelector('#productive_time_amount').innerHTML += sum;
</script> </script>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment