Update productive_time and work_time logic, remove useless conditions

parent 77cb0150
...@@ -129,20 +129,30 @@ commitBtn.addEventListener("click", function(event) { ...@@ -129,20 +129,30 @@ commitBtn.addEventListener("click", function(event) {
document.querySelector("#realworktime").addEventListener("change", function() { document.querySelector("#realworktime").addEventListener("change", function() {
document.querySelector("#saveTime").dataset["time"] = document.querySelector("#realworktime").value; document.querySelector("#saveTime").dataset["time"] = document.querySelector("#realworktime").value;
console.log('time changed:', document.querySelector("#saveTime").dataset["time"]);
}); });
document.querySelector("#realworktime").addEventListener("paste", function() {
document.querySelector("#saveTime").dataset["time"] = document.querySelector("#realworktime").value;
console.log('time changed:', document.querySelector("#saveTime").dataset["time"]);
});
// add listener for time commit // add listener for time commit
let workTimeBtns = document.querySelectorAll(".workTime__button"); let btn = document.querySelector("#saveTime");
Array.from(workTimeBtns).map(btn => {
btn.addEventListener("click", function(event) { btn.addEventListener("click", function(event) {
// cancel form submiting // cancel form submiting
event.preventDefault(); event.preventDefault();
// let's calc time for #work_time input // let's calc time for #work_time input
let workTime = parseInt(btn.dataset["time"]); let workTime = parseInt(document.querySelector('#realworktime').value);
workTime = workTime === parseInt(btn.dataset["time"]) ? parseInt(btn.dataset["time"]) : workTime;
workTime = workTime > 0 ? workTime : 1;
let workTimeValue = Math.ceil(workTime / 60 * 100) / 100; let workTimeValue = Math.ceil(workTime / 60 * 100) / 100;
let productiveTimeValue = Math.ceil(parseInt(document.querySelector('#ProductTime').value) / 60 * 100) / 100; let productiveTime = parseInt(document.querySelector('#ProductTime').value);
productiveTime = productiveTime > 0 ? productiveTime : 1;
let productiveTimeValue = Math.ceil(productiveTime / 60 * 100) / 100;
document.querySelector("#work_time").value = workTimeValue; document.querySelector("#work_time").value = workTimeValue;
document.querySelector("#productive_time").value = productiveTimeValue; document.querySelector("#productive_time").value = productiveTimeValue;
...@@ -156,16 +166,15 @@ Array.from(workTimeBtns).map(btn => { ...@@ -156,16 +166,15 @@ Array.from(workTimeBtns).map(btn => {
if (comment.length < 9) { if (comment.length < 9) {
alert("Слишком короткий комментарий"); alert("Слишком короткий комментарий");
} }
else if (workTimeValue > 3) { else if (productiveTimeValue > 8 || workTimeValue > 8) {
alert("Вы указали отработанное время более 3 часов. Правильным следованием рабочему процессу было бы выполнение работы по частям, о каждой из которых будет написано отдельно."); alert("Недопустимо указывать отработанное/продуктивное время более восьми часов. Правильным следованием рабочему процессу было бы выполнение работы по частям, о каждой из которых будет написано отдельно.");
} }
else if (workTimeValue > 2 && comment.length < workTimeValue * 60) { else if (productiveTimeValue > 2 && comment.length < productiveTimeValue * 60) {
alert("Недопустимо коротко комментировать длительные работы. Мы ожидаем не менее 60 символов на каждый указанный час."); alert("Недопустимо коротко комментировать длительные работы. Мы ожидаем не менее 60 символов на каждый указанный час.");
} }
else if (workTimeValue > 8) { else if (productiveTimeValue > workTimeValue) {
alert("Вы указали отработанное время более 8 часов. Нужно обязательно разбивать комментирование своей работы за день на отдельные части."); alert("Продуктивное время не может быть больше отработанного!");
} } else {
else {
let bugForm = etersoft_create === 1 ? "#Create" : "#changeform"; let bugForm = etersoft_create === 1 ? "#Create" : "#changeform";
document.querySelector(bugForm).submit(); document.querySelector(bugForm).submit();
timer.clear(); timer.clear();
...@@ -175,7 +184,6 @@ Array.from(workTimeBtns).map(btn => { ...@@ -175,7 +184,6 @@ Array.from(workTimeBtns).map(btn => {
} }
}); });
}); });
});
// let's validate! // let's validate!
function validate(evt) { function validate(evt) {
......
...@@ -21,20 +21,26 @@ ...@@ -21,20 +21,26 @@
Отработанное время: Отработанное время:
<div class="workTimeInner"> <div class="workTimeInner">
<input class="workTime__input" id="realworktime" name="realworktime" placeholder="в минутах" title="Время в минутах" type="text" tabindex="1" required autofocus> <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="1" onclick="document.querySelector('#realworktime').value=this.dataset['time']" tabindex="2">1</button>
<button class="workTime__button" data-time="5">5</button> <button class="workTime__button" data-time="5" onclick="document.querySelector('#realworktime').value=this.dataset['time']" tabindex="3">5</button>
<button class="workTime__button" data-time="15">15</button> <button class="workTime__button" data-time="15" onclick="document.querySelector('#realworktime').value=this.dataset['time']" tabindex="4">15</button>
<button class="workTime__button" data-time="30">30</button> <button class="workTime__button" data-time="30" onclick="document.querySelector('#realworktime').value=this.dataset['time']" tabindex="5">30</button>
</div> </div>
</fieldset> </fieldset>
<fieldset> <fieldset>
Продуктивное время: Продуктивное время:
<input id="ProductTime" placeholder="в минутах" title="Время в минутах" type="text" tabindex="2"> <div class="workTimeInner">
<input id="ProductTime" placeholder="в минутах" title="Время в минутах" type="text" tabindex="6" required>
<button class="workTime__button" data-time="1" onclick="document.querySelector('#ProductTime').value=this.dataset['time']" tabindex="7">1</button>
<button class="workTime__button" data-time="5" onclick="document.querySelector('#ProductTime').value=this.dataset['time']" tabindex="8">5</button>
<button class="workTime__button" data-time="15" onclick="document.querySelector('#ProductTime').value=this.dataset['time']" tabindex="9">15</button>
<button class="workTime__button" data-time="30" onclick="document.querySelector('#ProductTime').value=this.dataset['time']" tabindex="10">30</button>
</div>
</fieldset> </fieldset>
<fieldset> <fieldset>
<button class="workTime__button" id="saveTime">Сохранить</button> <button class="workTime__button" id="saveTime" tabindex="11">Сохранить</button>
</fieldset> </fieldset>
<a onclick="closeDiv();" class="close"></a> <a onclick="closeDiv();" class="close" tabindex="12"></a>
</div> </div>
</div> </div>
</div> </div>
......
...@@ -21,15 +21,21 @@ ...@@ -21,15 +21,21 @@
Отработанное время: Отработанное время:
<div class="workTimeInner"> <div class="workTimeInner">
<input class="workTime__input" id="realworktime" name="realworktime" placeholder="в минутах" title="Время в минутах" type="text" tabindex="1" required autofocus> <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="1" onclick="document.querySelector('#realworktime').value=this.dataset['time']">1</button>
<button class="workTime__button" data-time="5">5</button> <button class="workTime__button" data-time="5" onclick="document.querySelector('#realworktime').value=this.dataset['time']">5</button>
<button class="workTime__button" data-time="15">15</button> <button class="workTime__button" data-time="15" onclick="document.querySelector('#realworktime').value=this.dataset['time']">15</button>
<button class="workTime__button" data-time="30">30</button> <button class="workTime__button" data-time="30" onclick="document.querySelector('#realworktime').value=this.dataset['time']">30</button>
</div> </div>
</fieldset> </fieldset>
<fieldset> <fieldset>
Продуктивное время: Продуктивное время:
<input id="ProductTime" placeholder="в минутах" title="Время в минутах" type="text" tabindex="2"> <div class="workTimeInner">
<input id="ProductTime" placeholder="в минутах" title="Время в минутах" type="text" tabindex="2" required>
<button class="workTime__button" data-time="1" onclick="document.querySelector('#ProductTime').value=this.dataset['time']">1</button>
<button class="workTime__button" data-time="5" onclick="document.querySelector('#ProductTime').value=this.dataset['time']">5</button>
<button class="workTime__button" data-time="15" onclick="document.querySelector('#ProductTime').value=this.dataset['time']">15</button>
<button class="workTime__button" data-time="30" onclick="document.querySelector('#ProductTime').value=this.dataset['time']">30</button>
</div>
</fieldset> </fieldset>
<fieldset> <fieldset>
<button class="workTime__button" id="saveTime">Сохранить</button> <button class="workTime__button" id="saveTime">Сохранить</button>
......
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