Skip to content
Snippets Groups Projects
Commit 8322ed65 authored by Moritz Strohm's avatar Moritz Strohm
Browse files

fixed display of semester week, hide semester outside lecture period, re #453

parent 366b3bf9
No related branches found
No related tags found
No related merge requests found
......@@ -8,8 +8,7 @@
} ?>
<section id="booking_plan_header"
class="studip-fullcalendar-header booking-plan-header"
data-semester-begin="" data-semester-end="">
class="studip-fullcalendar-header booking-plan-header">
<span id="booking-plan-header-resource-name-line">
<? if ($resource instanceof Room) : ?>
<?= htmlReady($resource->name) ?>
......@@ -23,6 +22,7 @@
<strong>
<span id="booking-plan-header-semname"></span>
<span id="booking-plan-header-semweek-part">
<?= _('Vorlesungswoche') ?>
<span id="booking-plan-header-semweek"></span>
</span>
</strong>
......
......@@ -14,22 +14,22 @@
$min_time = Config::get()->RESOURCES_BOOKING_PLAN_START_HOUR . ':00';
$max_time = Config::get()->RESOURCES_BOOKING_PLAN_END_HOUR . ':00';
} ?>
<section class="studip-fullcalendar-header booking-plan-header"
data-semester-begin="" data-semester-end="">
<section class="studip-fullcalendar-header booking-plan-header">
<div>
<?= _('Raumgruppe') ?>
<span id="booking-plan-header-roomgroup"><?= htmlReady($clipboard->name) ?></span>
<span id="booking-plan-header-semrow">
<strong>
<?= _('KW') ?>
<span id="booking-plan-header-calweek"></span>
(<span id="booking-plan-header-calbegin"></span>)
<strong>
<?= _('KW') ?>
<span id="booking-plan-header-calweek"></span>
(<span id="booking-plan-header-calbegin"></span>)
<span id="booking-plan-header-semrow">
<span id="booking-plan-header-semname"></span>
<span id="booking-plan-header-semweek-part">
<?= _('Vorlesungswoche') ?>
<span id="booking-plan-header-semweek"></span>
</span>
</strong>
</span>
</span>
</strong>
</div>
</section>
......
......@@ -547,16 +547,19 @@ class Fullcalendar
if ($('.booking-plan-header').length) {
end.setDate(end.getDate());
var sem_start = $('.booking-plan-header').data('semester-begin');
var sem_end = $('.booking-plan-header').data('semester-end');
let semester = $('.booking-plan-header').data('semester');
let sem_start = null;
let sem_end = null;
if (semester) {
sem_start = semester.seminars_begin;
sem_end = semester.seminars_end;
}
if (sem_start && (start.getTime() / 1000 < sem_start || start.getTime() / 1000 > sem_end)) {
sem_start = null;
sem_end = null;
} else if(sem_start) {
var sem_week = Math.floor((end.getTime() / 1000 - 10800 - sem_start) / (7 * 24 * 60 * 60)) + 1;
$("#booking-plan-header-semweek-part").text("Vorlesungswoche".toLocaleString());
$('#booking-plan-header-semweek').text(sem_week);
} else if (sem_start) {
STUDIP.Resources.updateBookingPlanDateInfos(activeRange.start, activeRange.end, semester);
}
$('#booking-plan-header-calweek').text(start.getWeekNumber());
$('#booking-plan-header-calbegin').text(start.toLocaleDateString('de-DE', {weekday: 'short'}) + ' ' + start.toLocaleDateString('de-DE'));
......
......@@ -709,49 +709,55 @@ class Resources
static updateBookingPlanSemesterByView(activeRange, api_url = 'api.php/semesters') {
var semester = null;
let semester = null;
jQuery.ajax(
STUDIP.URLHelper.getURL(api_url),
{
method: 'get',
dataType: 'json',
success: function(data) {
success: function (data) {
if (data) {
var start = activeRange.start;
var end = activeRange.end;
Object.values(data.collection).forEach(item => {
if (start.getTime()/1000 >= item.seminars_begin && start.getTime()/1000 < item.seminars_end) {
if (activeRange.start.getTime() / 1000 >= item.begin && activeRange.start.getTime() / 1000 < item.end) {
semester = item;
}
});
if (semester) {
$(".booking-plan-header")
.data('semester-begin', semester.seminars_begin)
.data('semester-end', semester.seminars_end);
$("#booking-plan-header-semrow").show();
$("#booking-plan-header-semname").text(semester.title);
var sem_week = Math.floor((end.getTime()/1000 - 10800 - semester.seminars_begin) / 604800)+1;
$("#booking-plan-header-semweek-part").text("Vorlesungswoche".toLocaleString());
$("#booking-plan-header-semweek").text(sem_week);
} else {
if (!semester) {
if (data.pagination && data.pagination.links && data.pagination.links.next != api_url) {
semester = STUDIP.Resources.updateBookingPlanSemesterByView(activeRange, data.pagination.links.next);
} else {
$(".booking-plan-header")
.data('semester-begin', '')
.data('semester-end', '');
}
}
$('#booking-plan-header-calweek').text(start.getWeekNumber());
$('#booking-plan-header-calbegin').text(start.toLocaleDateString('de-DE', {weekday: 'short'}) + ' ' + start.toLocaleDateString('de-DE'));
$('#booking-plan-header-calend').text(end.toLocaleDateString('de-DE', {weekday: 'short'}) + ' ' + end.toLocaleDateString('de-DE'));
}
STUDIP.Resources.updateBookingPlanDateInfos(activeRange.start, activeRange.end, semester);
}
}
);
}
static updateBookingPlanDateInfos(plan_begin, plan_end, semester = null)
{
if (semester) {
let show_lecture_week = plan_begin.getTime()/1000 >= semester.seminars_begin && plan_begin.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;
$("#booking-plan-header-semweek").text(sem_week);
$("#booking-plan-header-semweek-part").show();
} else {
$("#booking-plan-header-semweek-part").hide();
}
$("#booking-plan-header-semrow").show();
} else {
$(".booking-plan-header").data('semester', null);
$('#booking-plan-header-semrow').hide();
}
$('#booking-plan-header-calweek').text(plan_begin.getWeekNumber());
$('#booking-plan-header-calbegin').text(plan_begin.toLocaleDateString('de-DE', {weekday: 'short'}) + ' ' + plan_begin.toLocaleDateString('de-DE'));
$('#booking-plan-header-calend').text(plan_end.toLocaleDateString('de-DE', {weekday: 'short'}) + ' ' + plan_end.toLocaleDateString('de-DE'));
}
static toggleRequestMarked(source_node)
{
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment