From 3ebef5b5b4d21599ef087e6ffb2b1b4444cf2ef5 Mon Sep 17 00:00:00 2001 From: gaazzopa Date: Wed, 18 Nov 2020 23:20:05 +0100 Subject: [PATCH] Added check that break time < activity time --- cara/apps/calculator/static/js/form.js | 31 +++++++++++++++++++ .../templates/calculator.form.html.j2 | 4 +-- 2 files changed, 33 insertions(+), 2 deletions(-) diff --git a/cara/apps/calculator/static/js/form.js b/cara/apps/calculator/static/js/form.js index de32ed7d..d1f4b584 100644 --- a/cara/apps/calculator/static/js/form.js +++ b/cara/apps/calculator/static/js/form.js @@ -277,6 +277,30 @@ function validate_form(form) { submit = false; }); + //Check if breaks length >= activity length + var button = document.getElementById("activity_breaks"); + $(button).next('span').remove(); + + var lunch_mins = 0; + if (document.getElementById('lunch_option_yes').checked) { + var lunch_start = document.getElementById("lunch_start"); + var lunch_finish = document.getElementById("lunch_finish"); + lunch_mins = parseTimeToMins(lunch_finish.value) - parseTimeToMins(lunch_start.value); + } + + var coffee_breaks = parseInt(document.querySelector('input[name="coffee_breaks"]:checked').value); + var coffee_duration = parseInt(document.getElementById("break_duration").value); + var coffee_mins = coffee_breaks * coffee_duration; + + var activity_start = document.getElementById("activity_start"); + var activity_finish = document.getElementById("activity_finish"); + var activity_mins = parseTimeToMins(activity_finish.value) - parseTimeToMins(activity_start.value); + + if ((lunch_mins + coffee_mins) >= activity_mins) { + insertSpanAfter(button, "Length of breaks >= Length of activity"); + submit = false; + } + return submit; } @@ -341,6 +365,13 @@ function parseValToNumber(val) { return parseInt(val.replace(':',''), 10); } +function parseTimeToMins(cTime) +{ + var d = new Date(); + var time = cTime.match(/(\d+)(:(\d\d))?\s*(p?)/); + return parseInt(time[1]*60) + parseInt(time[3]); +} + /* -------On Load------- */ $(document).ready(function () { // When the document is ready, deal with the fact that we may be here diff --git a/cara/apps/calculator/templates/calculator.form.html.j2 b/cara/apps/calculator/templates/calculator.form.html.j2 index 2e33fbdc..2b4a6730 100644 --- a/cara/apps/calculator/templates/calculator.form.html.j2 +++ b/cara/apps/calculator/templates/calculator.form.html.j2 @@ -163,7 +163,7 @@

- Activity breaks:
+ Activity breaks:
Lunch break:   @@ -231,7 +231,7 @@ Refer to COVID Calculator user-guide for more detailed explanations on how to use this tool.
-



+