diff --git a/polyclinic_scheduling/apps/schedule/templates/schedule/schedule_new.html b/polyclinic_scheduling/apps/schedule/templates/schedule/schedule_new.html index 58efb54..b853173 100644 --- a/polyclinic_scheduling/apps/schedule/templates/schedule/schedule_new.html +++ b/polyclinic_scheduling/apps/schedule/templates/schedule/schedule_new.html @@ -76,17 +76,6 @@ Geef een afkorting op voor deze specialisatie. Deze gebruiken wij in de figuren van de rapportage. - - - - - - - - - Maximaal aantal artsen dat op enig moment tegelijk aan het werk zou kunnen zijn. - - @@ -98,6 +87,17 @@ Aantal behandelkamers dat beschikbaar is per specialisatie + + + + + + + + + Maximaal aantal artsen dat op enig moment tegelijk aan het werk zou kunnen zijn. (<= aantal behandelkamers) + + @@ -456,6 +456,11 @@ jQuery('input[name^="specialisatie_aantal_artsen_"]').off('change keyup').on('change keyup',function(){ calculateBehandelingen(); + validate_doctors_vs_rooms(); + }); + + jQuery('input[name^="specialisatie_aantal_kamers_"]').off('change keyup').on('change keyup',function(){ + validate_doctors_vs_rooms(); }); jQuery('div.werktijden select').off('change').on('change',function(event){ @@ -569,7 +574,6 @@ jQuery('div.behandeling_calc_remarks').addClass(class_message).text(calc_message); } - validate_behandeling_hours(); return !error; @@ -647,6 +651,19 @@ updateBehandelingen(); } + function validate_doctors_vs_rooms() { + //let behandelingen = {}; + jQuery('div.poliekliniek_specialisatie').each(function(index,element){ + element = jQuery(element); + + let amount_of_doctors = element.find('input[name^="specialisatie_aantal_artsen_"]').val() * 1; + let amount_of_rooms = element.find('input[name^="specialisatie_aantal_kamers_"]').val() * 1; + + // Use HTML5 validators from the browser and chage the max value based on the amount of rooms available + element.find('input[name^="specialisatie_aantal_artsen_"]').prop('max',amount_of_rooms); + }); + } + function validate_behandeling_hours() { let behandelingen = {}; jQuery('div.poliekliniek_specialisatie').each(function(index,element){ @@ -1013,6 +1030,11 @@ jQuery('input[name^="specialisatie_aantal_artsen_"]').off('change keyup').on('change keyup',function(){ calculateBehandelingen(); + validate_doctors_vs_rooms(); + }); + + jQuery('input[name^="specialisatie_aantal_kamers_"]').off('change keyup').on('change keyup',function(){ + validate_doctors_vs_rooms(); }); jQuery('tr.behandeling :input').off('change keyup').on('change keyup',function(event){