refactor: display team members in calendar regardless of date while restricting empty team indicator to past days
This commit is contained in:
parent
89794fa294
commit
5bf606315e
1 changed files with 22 additions and 24 deletions
|
|
@ -527,31 +527,29 @@ document.addEventListener('DOMContentLoaded', function () {
|
|||
let membersHTML = '';
|
||||
const isFutureDay = day.date > todayStr;
|
||||
const isMemberHistoryAllowed = typeof canViewMemberHistory !== 'undefined' ? Boolean(canViewMemberHistory) : false;
|
||||
if (!isFutureDay) {
|
||||
if (dayData.members && dayData.members.length > 0) {
|
||||
const formattedMembers = dayData.members.map(m => {
|
||||
const name = typeof m === 'object' && m ? m.name : m;
|
||||
const id = typeof m === 'object' && m ? m.id : null;
|
||||
const isAbsent = typeof m === 'object' && m ? Boolean(m.is_absent) : false;
|
||||
const absenceReason = typeof m === 'object' && m ? (m.absence_reason || '') : '';
|
||||
if (dayData.members && dayData.members.length > 0) {
|
||||
const formattedMembers = dayData.members.map(m => {
|
||||
const name = typeof m === 'object' && m ? m.name : m;
|
||||
const id = typeof m === 'object' && m ? m.id : null;
|
||||
const isAbsent = typeof m === 'object' && m ? Boolean(m.is_absent) : false;
|
||||
const absenceReason = typeof m === 'object' && m ? (m.absence_reason || '') : '';
|
||||
|
||||
let memberNameHtml = escapeHtml(name);
|
||||
if (isMemberHistoryAllowed && id) {
|
||||
memberNameHtml = `<a href="#" class="member-history-link text-decoration-none ${isAbsent ? 'text-danger' : 'text-muted fw-semibold'}" data-member-id="${id}">${escapeHtml(name)}</a>`;
|
||||
}
|
||||
if (isAbsent) {
|
||||
return `<span class="text-decoration-line-through text-danger opacity-75" title="${escapeHtml(absenceReason || gettext('Absent'))}">${memberNameHtml}</span> <span class="badge text-bg-danger p-0 px-1 font-monospace" style="font-size:0.6rem;">${escapeHtml(absenceReason || gettext('Absent'))}</span>`;
|
||||
}
|
||||
return memberNameHtml;
|
||||
}).join(', ');
|
||||
membersHTML = `<div class="team-members-list text-muted small fst-italic mb-2" style="border-left: 3px solid ${teamColor};" title="${gettext('Composition de l’équipe')}">
|
||||
<i class="bi bi-people-fill me-1" style="color: ${teamColor};"></i>${formattedMembers}
|
||||
</div>`;
|
||||
} else if (team.id !== null) {
|
||||
membersHTML = `<div class="team-members-list text-muted small fst-italic mb-2 text-opacity-50" style="border-left: 3px solid #cbd5e1;">
|
||||
<i class="bi bi-people me-1"></i>(${gettext('Aucun membre')})
|
||||
</div>`;
|
||||
}
|
||||
let memberNameHtml = escapeHtml(name);
|
||||
if (isMemberHistoryAllowed && id) {
|
||||
memberNameHtml = `<a href="#" class="member-history-link text-decoration-none ${isAbsent ? 'text-danger' : 'text-muted fw-semibold'}" data-member-id="${id}">${escapeHtml(name)}</a>`;
|
||||
}
|
||||
if (isAbsent) {
|
||||
return `<span class="text-decoration-line-through text-danger opacity-75" title="${escapeHtml(absenceReason || gettext('Absent'))}">${memberNameHtml}</span> <span class="badge text-bg-danger p-0 px-1 font-monospace" style="font-size:0.6rem;">${escapeHtml(absenceReason || gettext('Absent'))}</span>`;
|
||||
}
|
||||
return memberNameHtml;
|
||||
}).join(', ');
|
||||
membersHTML = `<div class="team-members-list text-muted small fst-italic mb-2" style="border-left: 3px solid ${teamColor};" title="${gettext('Composition de l’équipe')}">
|
||||
<i class="bi bi-people-fill me-1" style="color: ${teamColor};"></i>${formattedMembers}
|
||||
</div>`;
|
||||
} else if (team.id !== null && !isFutureDay) {
|
||||
membersHTML = `<div class="team-members-list text-muted small fst-italic mb-2 text-opacity-50" style="border-left: 3px solid #cbd5e1;">
|
||||
<i class="bi bi-people me-1"></i>(${gettext('Aucun membre')})
|
||||
</div>`;
|
||||
}
|
||||
|
||||
let itvsHTML = '<div class="teams-daily-interventions-stack">';
|
||||
|
|
|
|||
Loading…
Reference in a new issue