From fdc315788f01b69aecad72415f3270615569adc1 Mon Sep 17 00:00:00 2001 From: kdeterme Date: Fri, 11 Sep 2026 13:45:42 +0200 Subject: [PATCH] fix(calendar): fix team daily members URL generation to avoid duplicate members path --- .../interventions/calendar/interventions_calendar.js | 11 +++++++++-- .../interventions/interventions_calendar.html | 3 ++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/loko/interventions/static/interventions/calendar/interventions_calendar.js b/loko/interventions/static/interventions/calendar/interventions_calendar.js index 33f06e6..3a517e0 100644 --- a/loko/interventions/static/interventions/calendar/interventions_calendar.js +++ b/loko/interventions/static/interventions/calendar/interventions_calendar.js @@ -5328,8 +5328,15 @@ function loadTeamDailyMembersModalData(teamId, dateStr) { const addSection = document.getElementById('team-daily-add-section'); const candidateSelect = document.getElementById('team-daily-candidate-select'); - const baseUrl = typeof teamDailyMembersBaseUrl !== 'undefined' ? teamDailyMembersBaseUrl : '/interventions/calendar/team/'; - const url = `${baseUrl}${teamId}/members/?date=${encodeURIComponent(dateStr)}`; + let url; + if (typeof teamDailyMembersUrlPattern !== 'undefined') { + url = teamDailyMembersUrlPattern.replace('/0/', `/${teamId}/`) + `?date=${encodeURIComponent(dateStr)}`; + } else if (typeof teamDailyMembersBaseUrl !== 'undefined') { + const base = teamDailyMembersBaseUrl.replace(/\/members\/?$/, '/'); + url = `${base.replace(/\/+$/, '')}/${teamId}/members/?date=${encodeURIComponent(dateStr)}`; + } else { + url = `/interventions/calendar/team/${teamId}/members/?date=${encodeURIComponent(dateStr)}`; + } fetch(url, { headers: { 'X-Requested-With': 'XMLHttpRequest' } diff --git a/loko/interventions/templates/interventions/interventions_calendar.html b/loko/interventions/templates/interventions/interventions_calendar.html index d5ca284..e096fb1 100644 --- a/loko/interventions/templates/interventions/interventions_calendar.html +++ b/loko/interventions/templates/interventions/interventions_calendar.html @@ -843,7 +843,8 @@ const saveCalendarPreferencesUrl = "{% url 'common:save_calendar_preferences' %}"; const canViewMemberHistory = {{ can_view_member_history|yesno:"true,false" }}; const canEditTeams = {{ can_edit_teams|yesno:"true,false" }}; - const teamDailyMembersBaseUrl = "{% url 'interventions:team_daily_members_ajax' 0 %}".replace('/0/', '/'); + const teamDailyMembersUrlPattern = "{% url 'interventions:team_daily_members_ajax' 0 %}"; + const teamDailyMembersBaseUrl = teamDailyMembersUrlPattern.replace('/0/members/', '/'); const teamPlanningAssignUrl = "{% url 'contracts:team_planning_assign_member_ajax' %}";