diff --git a/backend/services/memberTransferService.js b/backend/services/memberTransferService.js index cd67b725..bb28a696 100644 --- a/backend/services/memberTransferService.js +++ b/backend/services/memberTransferService.js @@ -7,7 +7,7 @@ import { devLog, infoLog, errorLog } from '../utils/logger.js'; class MemberTransferService { /** - * Überträgt alle aktiven Mitglieder mit testMembership = false an einen externen Endpoint + * Überträgt nur aktive Mitglieder mit testMembership = false an einen externen Endpoint * * @param {string} userToken - User Token für Authentifizierung * @param {number} clubId - Club ID @@ -26,11 +26,12 @@ class MemberTransferService { try { await checkAccess(userToken, clubId); - // 1. Alle aktiven Mitglieder mit testMembership = false laden + // 1. Alle Mitglieder (ohne Test-Mitglieder) laden. + // Die aktive Selektion erfolgt explizit in der Validierung, damit + // ausgeschlossene inaktive Mitglieder transparent gemeldet werden. const members = await Member.findAll({ where: { clubId: clubId, - active: true, testMembership: false } }); @@ -53,6 +54,10 @@ class MemberTransferService { for (const member of members) { const validationErrors = []; + + if (!member.active) { + validationErrors.push('Mitglied ist inaktiv'); + } // Pflichtfelder prüfen if (!member.firstName || member.firstName.trim() === '') { diff --git a/frontend/src/components/MemberTransferDialog.vue b/frontend/src/components/MemberTransferDialog.vue index 74684b31..306ee732 100644 --- a/frontend/src/components/MemberTransferDialog.vue +++ b/frontend/src/components/MemberTransferDialog.vue @@ -23,6 +23,7 @@

{{ $t('memberTransferDialog.transferConfiguration') }}

+

Es werden nur aktive Mitglieder übertragen.

{{ $t('memberTransferDialog.server') }}: @@ -638,6 +639,15 @@ export default { margin-bottom: 1rem; } +.active-members-hint { + margin: 0 0 1rem 0; + padding: 0.55rem 0.75rem; + border-left: 3px solid #2f7a5f; + background: #eef8f3; + color: #1f5f49; + font-size: 0.9rem; +} + .summary-row { display: flex; gap: 1rem;