diff options
| author | Moritz Strohm <strohm@data-quest.de> | 2021-12-17 14:32:38 +0100 |
|---|---|---|
| committer | Moritz Strohm <strohm@data-quest.de> | 2021-12-17 14:05:59 +0000 |
| commit | bd25c4876eb00a478923fe82023b2825883ba208 (patch) | |
| tree | 83b43f907bce07ba5479174a32b8920947149401 /resources/assets/javascripts | |
| parent | 7bdeb341efea0ca705cdff59a83169df2e9f8741 (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.js | 18 |
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(); |
