From 0c5f9fb17a882ad9fc4c82bc00d2e8206ae4c47b Mon Sep 17 00:00:00 2001 From: Piotr Gawron <piotr.gawron@uni.lu> Date: Wed, 13 Oct 2021 09:38:20 +0200 Subject: [PATCH] availability is in sync with worker/length/date change --- CHANGELOG | 1 + smash/web/static/js/appointment.js | 2 +- smash/web/templates/appointments/add.html | 23 ++++------------------- 3 files changed, 6 insertions(+), 20 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 15a17d5c..f7e8b753 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -39,6 +39,7 @@ smasch (1.1.0~alpha.0-1) unstable; urgency=low subjects that existed in db (#415) * bug fix: colours of workers availability is changed on date/length change (#463) + * bug fix: availability is in sync with dat/length/worker changes (#463) -- Piotr Gawron <piotr.gawron@uni.lu> Thu, 25 Feb 2021 17:00:00 +0200 diff --git a/smash/web/static/js/appointment.js b/smash/web/static/js/appointment.js index ca03bb78..6159ad12 100644 --- a/smash/web/static/js/appointment.js +++ b/smash/web/static/js/appointment.js @@ -162,7 +162,7 @@ function appointment_date_change_behaviour(datetime_picker, worker_select, minut function timeChange() { if ($(datetime_picker).val() !== "") { - var datetime_start = Date.parse($(datetime_picker).val()); + var datetime_start = moment($(datetime_picker).val()).toDate(); var datetime_end = datetime_start + 60 * 1000 * parseInt(minutes_input.val()); if (isNaN(datetime_end)) { datetime_end = datetime_start; diff --git a/smash/web/templates/appointments/add.html b/smash/web/templates/appointments/add.html index 5755458a..941b1f25 100644 --- a/smash/web/templates/appointments/add.html +++ b/smash/web/templates/appointments/add.html @@ -220,37 +220,21 @@ var selected = $('select.search_worker_availability').find(':selected'); var worker_id = selected.val(); if (worker_id === '') { + $('.availability_description').remove(); return; } var start_date = $('input[name="datetime_when"]').val(); start_date = moment(start_date); if (isNaN(start_date)) { + $('.availability_description').remove(); return; } - var ordinalDay = start_date.format('Do'); var longStartDate = start_date.format('MMM Do HH:mm'); - //GET FULL DAY AVAILABILITY - $.ajax({ - data: { - // our hypothetical feed requires UNIX timestamps - start_date: start_date.format('YYYY-MM-DD-HH-mm'), - worker_id: worker_id - }, - url: "{% url 'web.api.get_worker_availability' %}", - success: function (doc) { - $('.availability_description').remove(); - $('select.search_worker_availability').parent().append(`<p class="availability_description">${ordinalDay} availability: ${doc.availability}%</p>`); - }, - error: function(){ - $('.availability_description').remove(); - } - }); - var duration = parseInt($('input[name="length"]').val()); if (isNaN(duration)) { - return; + duration = 0; } var end_date = start_date.clone().add(duration, 'minutes'); @@ -281,6 +265,7 @@ } $('select.search_worker_availability, input[name="datetime_when"], input[name="length"]').on("change", getWorkerAvailability); + $('select.search_worker_availability, input[name="datetime_when"], input[name="length"]').on("keyup", getWorkerAvailability); $("#id_datetime_when").on("change paste keyup", function () { var date = $("#id_datetime_when").val(); -- GitLab