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