feat(MemberTransferService, MemberTransferDialog): clarify member transfer process and enhance UI feedback
All checks were successful
Deploy tt-tagebuch / deploy (push) Successful in 44s

- Updated MemberTransferService to explicitly load only active members with testMembership = false, improving clarity in the transfer logic.
- Added a UI hint in MemberTransferDialog to inform users that only active members will be transferred, enhancing user experience and transparency.
This commit is contained in:
Torsten Schulz (local)
2026-04-27 15:12:49 +02:00
parent 725ede8dbf
commit 5ef7447200
2 changed files with 18 additions and 3 deletions

View File

@@ -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() === '') {

View File

@@ -23,6 +23,7 @@
<div v-else>
<div class="config-summary">
<h4>{{ $t('memberTransferDialog.transferConfiguration') }}</h4>
<p class="active-members-hint">Es werden nur aktive Mitglieder übertragen.</p>
<div class="summary-info">
<div class="summary-row">
<span class="summary-label">{{ $t('memberTransferDialog.server') }}:</span>
@@ -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;