From be95dde1a31e3c2026d89b5a7d2aba941ff33ea4 Mon Sep 17 00:00:00 2001 From: David Dobryakov <kantegory@etersoft.ru> Date: Fri, 20 Mar 2020 15:31:05 +0300 Subject: [PATCH] Add productive time into english version --- template/en/default/bug/comments.html.tmpl | 18 ++++ template/en/default/bug/edit.html.tmpl | 12 ++- .../en/default/etersoft/timersplash.html.tmpl | 90 +++++++++---------- template/ru/default/bug/comments.html.tmpl | 2 + 4 files changed, 73 insertions(+), 49 deletions(-) mode change 100644 => 100755 template/en/default/etersoft/timersplash.html.tmpl diff --git a/template/en/default/bug/comments.html.tmpl b/template/en/default/bug/comments.html.tmpl index 931716f76..8ed5b0cb8 100644 --- a/template/en/default/bug/comments.html.tmpl +++ b/template/en/default/bug/comments.html.tmpl @@ -202,6 +202,8 @@ <br> Additional hours worked: [% PROCESS formattimeunit time_unit=comment.work_time %] + Productive hours worked: + <span class="productive-time">[% PROCESS formattimeunit time_unit=comment.productive_time %]</span> [% END %] [% IF user.id && Param('comment_taggers_group') %] @@ -235,4 +237,20 @@ [% Hook.process('a_comment-end', 'bug/comments.html.tmpl') %] </div> [% 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 %] diff --git a/template/en/default/bug/edit.html.tmpl b/template/en/default/bug/edit.html.tmpl index bcd8a972f..9b933fb2b 100644 --- a/template/en/default/bug/edit.html.tmpl +++ b/template/en/default/bug/edit.html.tmpl @@ -1060,6 +1060,9 @@ [% INCLUDE "bug/field-label.html.tmpl" field = bug_fields.work_time, editable = 1 %] + <th> + Productive time: + </th> [% INCLUDE "bug/field-label.html.tmpl" field = bug_fields.remaining_time, editable = 1 %] @@ -1085,10 +1088,15 @@ time_unit=(bug.actual_time + bug.remaining_time) %] </td> <td> - [% PROCESS formattimeunit time_unit=bug.actual_time %] + + [% PROCESS formattimeunit time_unit=bug.actual_time %] <input name="work_time" id="work_time" 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> <input name="remaining_time" id="remaining_time" diff --git a/template/en/default/etersoft/timersplash.html.tmpl b/template/en/default/etersoft/timersplash.html.tmpl old mode 100644 new mode 100755 index 45b08739f..cf84c0f6c --- a/template/en/default/etersoft/timersplash.html.tmpl +++ b/template/en/default/etersoft/timersplash.html.tmpl @@ -1,47 +1,43 @@ -<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="assigntoemail" class="[% bug.assigned_to.email FILTER html %]"></div> - -<!-- Таймер --> -<div id="timerblock" 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_stop.gif" id="timer_stop" onclick="if (confirm('Вы точно хотите сбросить таймер?')) {timer.reset();}" title="Сбросить таймер" /> - <input type="text" size="10" title="Время на странице" id='timespent' name="timespent" value="" readonly="readonly"> -</div> - -<!-- Сохранение времени --> -<div id="timeQuestionDiv"> - <strong>Укажите отработанное время</strong> - - <div name="worktimediv"> - <nobr>Отработанное время (в минутах): - <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;}" /> - <a onclick="premysubmit(-1);">Сохранить</a></p> - </nobr> - - <div id='id_remain_time' class='div_hide'>Оставшееся время (в часах): - <input type="text" id="realremaintime" name="realremaintime" onchange='changed_remain = 1; update_remain();' onkeydown="javascript:if(13==event.keyCode){return false;}" /> - </div> - - <div id='message' class='div_hide'> - <p>Отслеживайте корректность оставшегося времени.</p> - </div> - - <div id='message_warning' class='div_hide' color='red'> - <p>Внимание! Оставшееся время равно 0.<br>Если задача ещё не решена, то укажите необходимое для её решения время.</p> - </div> - </div> - <div> - <p><a onclick="premysubmit(-1);">Сохранить значение из поля</a></p> - <p><a onclick="premysubmit(5);">Сохранить 5 минут</a></p> - <p><a onclick="premysubmit(15);">Сохранить 15 минут</a></p> - <p><a onclick="premysubmit(30);">Сохранить 30 минут</a></p> - <p><a onclick="closeDiv();">Закрыть</a></p> - </div> -</div> - -<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> - +<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="assigntoemail" class="[% bug.assigned_to.email FILTER html %]"></div> + +<!-- Таймер --> +<div id="timerblock" 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_stop.gif" id="timer_stop" onclick="if (confirm('Вы точно хотите сбросить таймер?')) {timer.reset();}" title="Сбросить таймер" /> + <input type="text" size="10" title="Время на странице" id='timespent' name="timespent" value="" readonly="readonly"> +</div> + +<!-- Сохранение времени --> +<div id="timeQuestionDiv"> +<div class="container"> +<div class="workTime"> + <h3>Укажите отработанное время</h3> + <h4>Отслеживайте корректность оставшегося времени.</h4> + <fieldset> + Отработанное время: + <div class="workTimeInner"> + <input class="workTime__input" id="realworktime" name="realworktime" placeholder="в минутах" title="Время в минутах" type="text" tabindex="1" required autofocus> + <button class="workTime__button" data-time="1">1</button> + <button class="workTime__button" data-time="5">5</button> + <button class="workTime__button" data-time="15">15</button> + <button class="workTime__button" data-time="30">30</button> + </div> + </fieldset> + <fieldset> + Продуктивное время: + <input id="ProductTime" placeholder="в минутах" title="Время в минутах" type="text" tabindex="2"> + </fieldset> + <fieldset> + <button class="workTime__button" id="saveTime">Сохранить</button> + </fieldset> + <a onclick="closeDiv();" class="close"></a> + </div> +</div> +</div> + +<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> diff --git a/template/ru/default/bug/comments.html.tmpl b/template/ru/default/bug/comments.html.tmpl index d75903f66..8797435e4 100644 --- a/template/ru/default/bug/comments.html.tmpl +++ b/template/ru/default/bug/comments.html.tmpl @@ -246,6 +246,8 @@ 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> -- 2.24.1