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 @@
Es werden nur aktive Mitglieder übertragen.