aboutsummaryrefslogtreecommitdiff
path: root/resources/assets/javascripts
diff options
context:
space:
mode:
authorMoritz Strohm <strohm@data-quest.de>2021-12-17 14:32:38 +0100
committerMoritz Strohm <strohm@data-quest.de>2021-12-17 14:05:59 +0000
commitbd25c4876eb00a478923fe82023b2825883ba208 (patch)
tree83b43f907bce07ba5479174a32b8920947149401 /resources/assets/javascripts
parent7bdeb341efea0ca705cdff59a83169df2e9f8741 (diff)
fixed the calculation and the display of lecture weeks when the lecture period starts inside a week, re #453
Diffstat (limited to 'resources/assets/javascripts')
-rw-r--r--resources/assets/javascripts/lib/resources.js18
1 files changed, 16 insertions, 2 deletions
diff --git a/resources/assets/javascripts/lib/resources.js b/resources/assets/javascripts/lib/resources.js
index a206029..1aa861a 100644
--- a/resources/assets/javascripts/lib/resources.js
+++ b/resources/assets/javascripts/lib/resources.js
@@ -737,11 +737,25 @@ class Resources
static updateBookingPlanDateInfos(plan_begin, plan_end, semester = null)
{
if (semester) {
- let show_lecture_week = plan_end.getTime()/1000 >= semester.seminars_begin && plan_end.getTime()/1000 < semester.seminars_end;
+ let show_lecture_week = false;
+ let fake_plan_end = new Date(plan_end.getTime() - 1000);
+ if (plan_begin.getUTCDay() == fake_plan_end.getUTCDay()) {
+ show_lecture_week = (plan_begin.getTime() / 1000 + 43200) >= semester.seminars_begin && (plan_begin.getTime() / 1000) < semester.seminars_end;
+ } else {
+ show_lecture_week = (plan_end.getTime() / 1000 + 43200) >= semester.seminars_begin && (plan_end.getTime() / 1000) < semester.seminars_end;
+ }
$(".booking-plan-header").data('semester', semester);
$("#booking-plan-header-semname").text(semester.title);
if (show_lecture_week) {
- let sem_week = Math.floor((plan_end.getTime() / 1000 - 10800 - semester.seminars_begin) / 604800) + 1;
+ let lecture_week_start = new Date((semester.seminars_begin + 43200) * 1000);
+ let lecture_week_start_day = lecture_week_start.getDay();
+ if (lecture_week_start_day == 0) {
+ //Sunday is 7, not 0!
+ lecture_week_start_day = 7;
+ }
+ lecture_week_start_day--;
+ let normal_sem_week_begin = semester.seminars_begin - (lecture_week_start_day * 86400);
+ let sem_week = Math.floor((plan_end.getTime() / 1000 - 10800 - normal_sem_week_begin) / 604800) + 1;
if (sem_week > 0) {
$("#booking-plan-header-semweek").text(sem_week);
$("#booking-plan-header-semweek-part").show();